Fix [-Wshadow] warnings;
Also (for one or more of the files): - create/use one or more extended variable strings; - remove some uneeded variable initializers; - reformat some long lines; - reformat hf[] entries; - convert apparent 4-space tabs to spaces; - do some whitespace and formatting changes to use a consistent style. svn path=/trunk/; revision=46265
This commit is contained in:
parent
84afa22969
commit
a8112e6529
|
@ -42,7 +42,7 @@
|
|||
static int proto_iso7816 = -1;
|
||||
static int proto_iso7816_atr = -1;
|
||||
|
||||
static dissector_handle_t iso7816_atr_handle = NULL;
|
||||
static dissector_handle_t iso7816_atr_handle;
|
||||
|
||||
static int ett_iso7816 = -1;
|
||||
static int ett_iso7816_class = -1;
|
||||
|
@ -129,6 +129,7 @@ static const value_string iso7816_ins[] = {
|
|||
{ INS_APPEND_REC, "Append record" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
static value_string_ext iso7816_ins_ext = VALUE_STRING_EXT_INIT(iso7816_ins);
|
||||
|
||||
static const range_string iso7816_sw1[] = {
|
||||
{ 0x61, 0x61, "Normal processing" },
|
||||
|
@ -146,8 +147,8 @@ dissect_iso7816_atr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
gint offset=0;
|
||||
guint8 init_char;
|
||||
guint i=0; /* loop index for TA(i)...TD(i) */
|
||||
proto_item *proto_it = NULL, *td_it;
|
||||
proto_tree *proto_tree = NULL, *td_tree=NULL;
|
||||
proto_item *proto_it;
|
||||
proto_tree *proto_tr;
|
||||
guint8 ta, tb, tc, td, k=0;
|
||||
gint tck_len;
|
||||
proto_item *err_it;
|
||||
|
@ -158,25 +159,28 @@ dissect_iso7816_atr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
|
||||
proto_it = proto_tree_add_protocol_format(tree, proto_iso7816_atr,
|
||||
tvb, 0, -1, "ISO 7816 ATR");
|
||||
proto_tree = proto_item_add_subtree(proto_it, ett_iso7816_atr);
|
||||
proto_tr = proto_item_add_subtree(proto_it, ett_iso7816_atr);
|
||||
|
||||
col_append_sep_fstr(pinfo->cinfo, COL_INFO, NULL, "ATR");
|
||||
|
||||
/* ISO 7816-4, section 4 indicates that concatenations are big endian */
|
||||
proto_tree_add_item(proto_tree, hf_iso7816_atr_init_char,
|
||||
proto_tree_add_item(proto_tr, hf_iso7816_atr_init_char,
|
||||
tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
|
||||
do {
|
||||
proto_item *td_it;
|
||||
proto_tree *td_tree;
|
||||
|
||||
/* for i==0, this is the T0 byte, otherwise it's the TD(i) byte
|
||||
in each loop, we dissect T0/TD(i) and TA(i+1), TB(i+1), TC(i+1) */
|
||||
td = tvb_get_guint8(tvb, offset);
|
||||
if (i==0) {
|
||||
td_it = proto_tree_add_item(proto_tree, hf_iso7816_atr_t0,
|
||||
td_it = proto_tree_add_item(proto_tr, hf_iso7816_atr_t0,
|
||||
tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
else {
|
||||
td_it = proto_tree_add_uint_format(proto_tree, hf_iso7816_atr_td,
|
||||
td_it = proto_tree_add_uint_format(proto_tr, hf_iso7816_atr_td,
|
||||
tvb, offset, 1, td,
|
||||
"Interface character TD(%d): 0x%02x", i, td);
|
||||
}
|
||||
|
@ -216,21 +220,21 @@ dissect_iso7816_atr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
if (td&0x10) {
|
||||
ta = tvb_get_guint8(tvb, offset);
|
||||
/* we read TA(i+1), see comment above */
|
||||
proto_tree_add_uint_format(proto_tree, hf_iso7816_atr_ta,
|
||||
proto_tree_add_uint_format(proto_tr, hf_iso7816_atr_ta,
|
||||
tvb, offset, 1, ta,
|
||||
"Interface character TA(%d): 0x%02x", i+1, ta);
|
||||
offset++;
|
||||
}
|
||||
if (td&0x20) {
|
||||
tb = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_uint_format(proto_tree, hf_iso7816_atr_tb,
|
||||
proto_tree_add_uint_format(proto_tr, hf_iso7816_atr_tb,
|
||||
tvb, offset, 1, tb,
|
||||
"Interface character TB(%d): 0x%02x", i+1, tb);
|
||||
offset++;
|
||||
}
|
||||
if (td&0x40) {
|
||||
tc = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_uint_format(proto_tree, hf_iso7816_atr_tc,
|
||||
proto_tree_add_uint_format(proto_tr, hf_iso7816_atr_tc,
|
||||
tvb, offset, 1, tc,
|
||||
"Interface character TC(%d): 0x%02x", i+1, tc);
|
||||
offset++;
|
||||
|
@ -240,7 +244,7 @@ dissect_iso7816_atr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
} while (td&0x80);
|
||||
|
||||
if (k>0) {
|
||||
proto_tree_add_item(proto_tree, hf_iso7816_atr_hist_bytes,
|
||||
proto_tree_add_item(proto_tr, hf_iso7816_atr_hist_bytes,
|
||||
tvb, offset, k, ENC_NA);
|
||||
offset += k;
|
||||
}
|
||||
|
@ -248,12 +252,12 @@ dissect_iso7816_atr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
tck_len = tvb_reported_length_remaining(tvb, offset);
|
||||
/* tck is either absent or exactly one byte */
|
||||
if (tck_len==1) {
|
||||
proto_tree_add_item(proto_tree, hf_iso7816_atr_tck,
|
||||
proto_tree_add_item(proto_tr, hf_iso7816_atr_tck,
|
||||
tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
}
|
||||
else if (tck_len>1) {
|
||||
err_it = proto_tree_add_text(proto_tree, tvb, offset, tck_len,
|
||||
err_it = proto_tree_add_text(proto_tr, tvb, offset, tck_len,
|
||||
"Invalid TCK byte");
|
||||
expert_add_info_format(pinfo, err_it, PI_PROTOCOL, PI_WARN,
|
||||
"TCK byte must either be absent or exactly one byte");
|
||||
|
@ -271,9 +275,9 @@ dissect_iso7816_class(tvbuff_t *tvb, gint offset,
|
|||
{
|
||||
gint ret_fct = 1;
|
||||
proto_item *class_item;
|
||||
proto_tree *class_tree = NULL;
|
||||
proto_tree *class_tree;
|
||||
guint8 class;
|
||||
proto_item *enc_item = NULL;
|
||||
proto_item *enc_item;
|
||||
guint8 channel;
|
||||
proto_item *ch_item;
|
||||
|
||||
|
@ -363,7 +367,7 @@ dissect_iso7816_cmd_apdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
ins = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_iso7816_ins, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
col_append_sep_fstr(pinfo->cinfo, COL_INFO, NULL, "%s",
|
||||
val_to_str_const(ins, iso7816_ins, "Unknown instruction"));
|
||||
val_to_str_ext_const(ins, &iso7816_ins_ext, "Unknown instruction"));
|
||||
offset++;
|
||||
|
||||
proto_tree_add_item(tree, hf_iso7816_p1, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -552,7 +556,7 @@ proto_register_iso7816(void)
|
|||
},
|
||||
{ &hf_iso7816_ins,
|
||||
{ "Instruction", "iso7816.apdu.ins",
|
||||
FT_UINT8, BASE_HEX, VALS(iso7816_ins), 0, NULL, HFILL }
|
||||
FT_UINT8, BASE_HEX | BASE_EXT_STRING, &iso7816_ins_ext, 0, NULL, HFILL }
|
||||
},
|
||||
{ &hf_iso7816_p1,
|
||||
{ "Parameter 1", "iso7816.apdu.p1",
|
||||
|
|
|
@ -152,7 +152,7 @@ static gint ett_netrom_type = -1;
|
|||
|
||||
static void
|
||||
dissect_netrom_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
|
||||
int hf_netrom_type, gint ett_netrom_type, const netrom_tf_items *type_items )
|
||||
int hf_netrom_type_param, gint ett_netrom_type_param, const netrom_tf_items *type_items )
|
||||
{
|
||||
proto_tree *tc;
|
||||
proto_tree *type_tree;
|
||||
|
@ -174,7 +174,7 @@ dissect_netrom_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
|
|||
if ( tree )
|
||||
{
|
||||
tc = proto_tree_add_uint_format( tree,
|
||||
hf_netrom_type,
|
||||
hf_netrom_type_param,
|
||||
tvb,
|
||||
offset,
|
||||
1,
|
||||
|
@ -182,7 +182,7 @@ dissect_netrom_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
|
|||
"Type field: %s",
|
||||
info_buffer
|
||||
);
|
||||
type_tree = proto_item_add_subtree( tc, ett_netrom_type );
|
||||
type_tree = proto_item_add_subtree( tc, ett_netrom_type_param );
|
||||
|
||||
proto_tree_add_item( type_tree, *type_items->hf_tf_op, tvb, offset, 1, FALSE );
|
||||
proto_tree_add_item( type_tree, *type_items->hf_tf_choke, tvb, offset, 1, FALSE );
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -105,8 +105,8 @@ de_sgsap_eps_loc_upd_type(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
|
|||
|
||||
/* Octet 3 EPS location update type value */
|
||||
proto_tree_add_item(tree, hf_sgsap_eps_location_update_type, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if(add_string){
|
||||
oct = tvb_get_guint8(tvb,curr_offset);
|
||||
if (add_string) {
|
||||
oct = tvb_get_guint8(tvb, curr_offset);
|
||||
g_snprintf(add_string, string_len, " - %s", val_to_str_const(oct, sgsap_eps_location_update_type_values, "Reserved"));
|
||||
}
|
||||
|
||||
|
@ -145,10 +145,10 @@ de_sgsap_ecgi(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o
|
|||
curr_offset = offset;
|
||||
|
||||
dissect_e212_mcc_mnc(tvb, gpinfo, tree, offset, TRUE);
|
||||
curr_offset+=3;
|
||||
curr_offset += 3;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_eci, tvb, curr_offset, 4, ENC_BIG_ENDIAN);
|
||||
curr_offset+=4;
|
||||
curr_offset += 4;
|
||||
|
||||
return(curr_offset-offset);
|
||||
}
|
||||
|
@ -170,10 +170,10 @@ de_sgsap_g_cn_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint3
|
|||
curr_offset = offset;
|
||||
|
||||
dissect_e212_mcc_mnc(tvb, gpinfo, tree, offset, TRUE);
|
||||
curr_offset+=3;
|
||||
curr_offset += 3;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_cn_id, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
|
||||
curr_offset+=2;
|
||||
curr_offset += 2;
|
||||
|
||||
return(curr_offset-offset);
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ de_sgsap_imeisv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32
|
|||
|
||||
imeisv_str = tvb_bcd_dig_to_ep_str( tvb, curr_offset, len, NULL, FALSE);
|
||||
proto_tree_add_string(tree, hf_sgsap_imeisv, tvb, curr_offset, len, imeisv_str);
|
||||
if (add_string){
|
||||
if (add_string) {
|
||||
/* (len<<2)+4 = the maximum number of bytes to produce (including the terminating nul character). */
|
||||
g_snprintf(add_string, (len<<2)+4, " - %s", imeisv_str);
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ de_sgsap_imsi_det_eps(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g
|
|||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_imsi_det_eps, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||
curr_offset+=1;
|
||||
curr_offset += 1;
|
||||
|
||||
return(curr_offset-offset);
|
||||
}
|
||||
|
@ -255,7 +255,7 @@ de_sgsap_imsi_det_non_eps(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
|
|||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_imsi_det_eps, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||
curr_offset+=1;
|
||||
curr_offset += 1;
|
||||
|
||||
return(curr_offset-offset);
|
||||
}
|
||||
|
@ -282,7 +282,7 @@ de_sgsap_lcs_indic(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guin
|
|||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_lcs_indic, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||
curr_offset+=1;
|
||||
curr_offset += 1;
|
||||
|
||||
return(curr_offset-offset);
|
||||
}
|
||||
|
@ -377,9 +377,9 @@ de_sgsap_nas_msg_container(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _
|
|||
/* Octets 3 to 253 contain the SMS message (i.e. CP DATA, CP ACK or CP ERROR)
|
||||
* as defined in subclause 7.2 of 3GPP TS 24.011 [10]
|
||||
*/
|
||||
new_tvb = tvb_new_subset(tvb, curr_offset,len, len);
|
||||
if(gsm_a_dtap_handle){
|
||||
call_dissector(gsm_a_dtap_handle,new_tvb,gpinfo, tree);
|
||||
new_tvb = tvb_new_subset(tvb, curr_offset, len, len);
|
||||
if (gsm_a_dtap_handle) {
|
||||
call_dissector(gsm_a_dtap_handle, new_tvb, gpinfo, tree);
|
||||
}
|
||||
|
||||
return(len);
|
||||
|
@ -414,8 +414,8 @@ de_sgsap_serv_indic(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, gui
|
|||
|
||||
/* Octet 3 Service indicator value */
|
||||
proto_tree_add_item(tree, hf_sgsap_service_indicator_value, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if(add_string){
|
||||
oct = tvb_get_guint8(tvb,curr_offset);
|
||||
if (add_string) {
|
||||
oct = tvb_get_guint8(tvb, curr_offset);
|
||||
g_snprintf(add_string, string_len, " - %s", val_to_str_const(oct, sgsap_service_indicator_values, "Reserved"));
|
||||
}
|
||||
curr_offset++;
|
||||
|
@ -456,8 +456,8 @@ de_sgsap_sgs_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guin
|
|||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_sgs_cause, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if(add_string){
|
||||
oct = tvb_get_guint8(tvb,curr_offset);
|
||||
if (add_string) {
|
||||
oct = tvb_get_guint8(tvb, curr_offset);
|
||||
g_snprintf(add_string, string_len, " - %s", val_to_str_ext_const(oct, &sgsap_sgs_cause_values_ext, "Reserved"));
|
||||
}
|
||||
curr_offset++;
|
||||
|
@ -511,7 +511,7 @@ de_sgsap_ue_emm_mode(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, gu
|
|||
curr_offset = offset;
|
||||
|
||||
proto_tree_add_item(tree, hf_sgsap_ue_emm_mode, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
curr_offset+=1;
|
||||
curr_offset += 1;
|
||||
|
||||
return(curr_offset - offset);
|
||||
}
|
||||
|
@ -898,7 +898,7 @@ sgsap_imsi_loc_update_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
|
|||
/* Location area identifier Location area identifier 9.4.11 M TLV 7 */
|
||||
ELEM_MAND_TLV(0x04, GSM_A_PDU_TYPE_COMMON, DE_LAI, NULL);
|
||||
/* New TMSI, or IMSI Mobile identity 9.4.14 O TLV 6-10 */
|
||||
ELEM_OPT_TLV(0x0e,GSM_A_PDU_TYPE_COMMON, DE_MID, " - New TMSI, or IMSI");
|
||||
ELEM_OPT_TLV(0x0e, GSM_A_PDU_TYPE_COMMON, DE_MID, " - New TMSI, or IMSI");
|
||||
|
||||
EXTRANEOUS_DATA_CHECK(curr_len, 0);
|
||||
}
|
||||
|
@ -919,7 +919,7 @@ sgsap_imsi_loc_update_rej(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
|
|||
/* IMSI IMSI 9.4.6 M TLV 6-10 */
|
||||
ELEM_MAND_TLV(0x01, GSM_A_PDU_TYPE_BSSMAP, BE_IMSI, NULL);
|
||||
/* Reject cause Reject cause 9.4.16 M TLV 3 */
|
||||
ELEM_MAND_TLV(0x0f,GSM_A_PDU_TYPE_DTAP, DE_REJ_CAUSE, NULL);
|
||||
ELEM_MAND_TLV(0x0f, GSM_A_PDU_TYPE_DTAP, DE_REJ_CAUSE, NULL);
|
||||
/* Location area identifier Location area identifier 9.4.11 O TLV 7 */
|
||||
ELEM_OPT_TLV(0x04, GSM_A_PDU_TYPE_COMMON, DE_LAI, NULL);
|
||||
|
||||
|
@ -1102,7 +1102,7 @@ sgsap_service_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint
|
|||
/* UE Time Zone UE Time Zone 9.4.21b O TLV 3 */
|
||||
ELEM_OPT_TLV(0x21, GSM_A_PDU_TYPE_DTAP, DE_TIME_ZONE, " - UE Time Zone");
|
||||
/* Mobile Station Classmark 2 Mobile Station Classmark 2 9.4.14a O TLV 5 */
|
||||
ELEM_OPT_TLV(0x22 ,GSM_A_PDU_TYPE_COMMON, DE_MS_CM_2, NULL);
|
||||
ELEM_OPT_TLV(0x22 , GSM_A_PDU_TYPE_COMMON, DE_MS_CM_2, NULL);
|
||||
/* TAI Tracking Area Identity 9.4.21a O TLV 7 */
|
||||
ELEM_OPT_TLV(0x23, NAS_PDU_TYPE_EMM, DE_EMM_TRAC_AREA_ID, NULL);
|
||||
/* E-CGI E-UTRAN Cell Global Identity 9.4.3a O TLV 9 */
|
||||
|
@ -1217,7 +1217,7 @@ sgsap_ue_ul_unitdata(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, gu
|
|||
/* UE Time Zone UE Time Zone 9.4.21b O TLV 3 */
|
||||
ELEM_OPT_TLV(0x21, GSM_A_PDU_TYPE_DTAP, DE_TIME_ZONE, " - UE Time Zone");
|
||||
/* Mobile Station Classmark 2 Mobile Station Classmark 2 9.4.14a O TLV 5 */
|
||||
ELEM_OPT_TLV(0x22 ,GSM_A_PDU_TYPE_COMMON, DE_MS_CM_2, NULL);
|
||||
ELEM_OPT_TLV(0x22 , GSM_A_PDU_TYPE_COMMON, DE_MS_CM_2, NULL);
|
||||
/* TAI Tracking Area Identity 9.4.21a O TLV 7 */
|
||||
ELEM_OPT_TLV(0x23, NAS_PDU_TYPE_EMM, DE_EMM_TRAC_AREA_ID, NULL);
|
||||
/* E-CGI E-UTRAN Cell Global Identity 9.4.3a O TLV 9 */
|
||||
|
@ -1364,14 +1364,14 @@ static void (*sgsap_msg_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pin
|
|||
NULL, /* NONE */
|
||||
};
|
||||
|
||||
static void get_sgsap_msg_params(guint8 oct, const gchar **msg_str, int *ett_tree, int *hf_idx, msg_fcn *msg_fcn)
|
||||
static void get_sgsap_msg_params(guint8 oct, const gchar **msg_str, int *ett_tree, int *hf_idx, msg_fcn *msg_fcn_p)
|
||||
{
|
||||
gint idx;
|
||||
|
||||
*msg_str = match_strval_idx_ext((guint32) (oct & 0xff), &sgsap_msg_strings_ext, &idx);
|
||||
*ett_tree = ett_sgsap_msg[idx];
|
||||
*hf_idx = hf_sgsap_msg_type;
|
||||
*msg_fcn = sgsap_msg_fcn[idx];
|
||||
*msg_fcn_p = sgsap_msg_fcn[idx];
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -1387,7 +1387,7 @@ dissect_sgsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
const gchar *msg_str;
|
||||
gint ett_tree;
|
||||
int hf_idx;
|
||||
void (*msg_fcn)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len);
|
||||
void (*msg_fcn_p)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);
|
||||
guint8 oct;
|
||||
|
||||
/* Save pinfo */
|
||||
|
@ -1401,18 +1401,18 @@ dissect_sgsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
sgsap_tree = proto_item_add_subtree(item, ett_sgsap);
|
||||
|
||||
/* Messge type IE*/
|
||||
oct = tvb_get_guint8(tvb,offset);
|
||||
msg_fcn = NULL;
|
||||
oct = tvb_get_guint8(tvb, offset);
|
||||
msg_fcn_p = NULL;
|
||||
ett_tree = -1;
|
||||
hf_idx = -1;
|
||||
msg_str = NULL;
|
||||
|
||||
get_sgsap_msg_params(oct, &msg_str, &ett_tree, &hf_idx, &msg_fcn);
|
||||
get_sgsap_msg_params(oct, &msg_str, &ett_tree, &hf_idx, &msg_fcn_p);
|
||||
|
||||
if(msg_str){
|
||||
if (msg_str) {
|
||||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s", msg_str);
|
||||
}else{
|
||||
proto_tree_add_text(tree, tvb, offset, 1,"Unknown message 0x%x",oct);
|
||||
proto_tree_add_text(tree, tvb, offset, 1, "Unknown message 0x%x", oct);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1426,14 +1426,14 @@ dissect_sgsap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
/*
|
||||
* decode elements
|
||||
*/
|
||||
if (msg_fcn == NULL)
|
||||
if (msg_fcn_p == NULL)
|
||||
{
|
||||
proto_tree_add_text(sgsap_tree, tvb, offset, len - offset,
|
||||
"Message Elements");
|
||||
}
|
||||
else
|
||||
{
|
||||
(*msg_fcn)(tvb, sgsap_tree, pinfo, offset, len - offset);
|
||||
(*msg_fcn_p)(tvb, sgsap_tree, pinfo, offset, len - offset);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1459,22 +1459,22 @@ void proto_register_sgsap(void) {
|
|||
},
|
||||
{ &hf_sgsap_eps_location_update_type,
|
||||
{ "EPS location update type", "sgsap.eps_location_update_type",
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_eps_location_update_type_values),0x0,
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_eps_location_update_type_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_service_indicator_value,
|
||||
{ "Service indicator", "sgsap.service_indicator",
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_service_indicator_values),0x0,
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_service_indicator_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_sgs_cause,
|
||||
{ "SGs cause", "sgsap.sgs_cause",
|
||||
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &sgsap_sgs_cause_values_ext,0x0,
|
||||
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &sgsap_sgs_cause_values_ext, 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_ue_emm_mode,
|
||||
{ "UE EMM mode", "sgsap.ue_emm_mode",
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_ue_emm_mode_values),0x0,
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_ue_emm_mode_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_eci,
|
||||
|
@ -1489,12 +1489,12 @@ void proto_register_sgsap(void) {
|
|||
},
|
||||
{ &hf_sgsap_imsi_det_eps,
|
||||
{ "IMSI detach from EPS service type", "sgsap.imsi_det_eps",
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_imsi_det_from_eps_serv_type_values),0x0,
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_imsi_det_from_eps_serv_type_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_lcs_indic,
|
||||
{ "LCS indicator", "sgsap.lcs_indicator",
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_lcs_indic_values),0x0,
|
||||
FT_UINT8, BASE_DEC, VALS(sgsap_lcs_indic_values), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_sgsap_mme_name,
|
||||
|
@ -1552,7 +1552,7 @@ proto_reg_handoff_sgsap(void)
|
|||
/* The registered SCTP port number for SGsAP is 29118.
|
||||
* The payload protocol identifier to be used for SGsAP is 0.
|
||||
*/
|
||||
static gboolean Initialized=FALSE;
|
||||
static gboolean Initialized = FALSE;
|
||||
static dissector_handle_t sgsap_handle;
|
||||
static guint SctpPort;
|
||||
|
||||
|
@ -1568,8 +1568,9 @@ proto_reg_handoff_sgsap(void)
|
|||
}
|
||||
}
|
||||
|
||||
SctpPort=gbl_sgsapSctpPort;
|
||||
SctpPort = gbl_sgsapSctpPort;
|
||||
if (SctpPort != 0) {
|
||||
dissector_add_uint("sctp.port", SctpPort, sgsap_handle);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -201,6 +201,7 @@ static const value_string wai_subtype_names[] = {
|
|||
{ WAI_SUB_MULTICAST_ANNOUNCE_RESP, "Multicast key/STAKey announcement response" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
static value_string_ext wai_subtype_names_ext = VALUE_STRING_EXT_INIT(wai_subtype_names);
|
||||
|
||||
static const true_false_string wai_bk_rekeying_flag = {
|
||||
"Packet is a BK rekeying packet",
|
||||
|
@ -450,7 +451,7 @@ dissect_multiple_certificate(tvbuff_t * tvb, guint offset, proto_tree *tree)
|
|||
multicert_item = proto_tree_add_item(tree, hf_wai_cert_ver, tvb, offset, length+3, ENC_NA);
|
||||
multicert_tree = proto_item_add_subtree(multicert_item, ett_wai_certificate_verification);
|
||||
proto_tree_add_item(multicert_tree, hf_wai_type, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
proto_tree_add_item(multicert_tree, hf_wai_length, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
nonce_1_item = proto_tree_add_item(multicert_tree, hf_wai_nonce, tvb, offset, 32, ENC_NA);
|
||||
|
@ -460,10 +461,10 @@ dissect_multiple_certificate(tvbuff_t * tvb, guint offset, proto_tree *tree)
|
|||
offset += 32;
|
||||
proto_item_append_text(nonce_2_item, " 2");
|
||||
proto_tree_add_item(multicert_tree, hf_wai_ver_res, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
offset += dissect_certificate(tvb, offset, multicert_tree, "1 ");
|
||||
proto_tree_add_item(multicert_tree, hf_wai_ver_res, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
offset += dissect_certificate(tvb, offset, multicert_tree, "2 ");
|
||||
|
||||
return length + 3;
|
||||
|
@ -482,11 +483,11 @@ dissect_identity_list(tvbuff_t *tvb, guint offset, proto_tree *tree)
|
|||
id_list_item = proto_tree_add_item(tree, hf_wai_identity_list, tvb, offset, length+3, ENC_NA);
|
||||
id_list_tree = proto_item_add_subtree(id_list_item, ett_wai_identity_list);
|
||||
proto_tree_add_item(id_list_tree, hf_wai_type, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
proto_tree_add_item(id_list_tree, hf_wai_length, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
proto_tree_add_item(id_list_tree, hf_wai_reserved_byte, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
proto_tree_add_item(id_list_tree, hf_wai_no_of_ids, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
no_of_ids = tvb_get_ntohs(tvb, offset);
|
||||
offset += 2;
|
||||
|
@ -585,7 +586,7 @@ dissect_signature(tvbuff_t *tvb, guint offset, proto_tree *tree, const gchar *co
|
|||
ss_tree = proto_item_add_subtree(ss_item, ett_wai_sign);
|
||||
|
||||
proto_tree_add_item(ss_tree, hf_wai_type, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
|
||||
proto_tree_add_item(ss_tree, hf_wai_length, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
@ -599,18 +600,18 @@ dissect_signature(tvbuff_t *tvb, guint offset, proto_tree *tree, const gchar *co
|
|||
|
||||
|
||||
static void
|
||||
dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length)
|
||||
dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 lenx)
|
||||
{
|
||||
proto_item *data_item;
|
||||
proto_tree *data_tree;
|
||||
const gchar *type_name;
|
||||
|
||||
data_item = proto_tree_add_item(tree, hf_wai_data, tvb, 0, length, ENC_NA);
|
||||
data_item = proto_tree_add_item(tree, hf_wai_data, tvb, 0, lenx, ENC_NA);
|
||||
data_tree = proto_item_add_subtree (data_item, ett_wai_data);
|
||||
|
||||
type_name = val_to_str_const(subtype, wai_subtype_names, "Unknown type");
|
||||
type_name = val_to_str_ext_const(subtype, &wai_subtype_names_ext, "Unknown type");
|
||||
|
||||
proto_item_set_text(data_item, "%s data (%d bytes)", type_name, length);
|
||||
proto_item_set_text(data_item, "%s data (%d bytes)", type_name, lenx);
|
||||
|
||||
switch (subtype) {
|
||||
case WAI_SUB_PRE_AUTHENTICATION:
|
||||
|
@ -640,7 +641,7 @@ dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length
|
|||
guint16 offset = 0;
|
||||
|
||||
dissect_flag(tvb, offset, data_tree);
|
||||
offset++;
|
||||
offset += 1;
|
||||
dissect_authentication_id(tvb, offset, data_tree);
|
||||
offset += 32;
|
||||
offset += dissect_identity(tvb, offset, data_tree, "Local ASU ");
|
||||
|
@ -657,7 +658,7 @@ dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length
|
|||
optional_field = tvb_get_guint8(tvb, 0) & FLAG_BIT3;
|
||||
|
||||
dissect_flag(tvb, offset, data_tree);
|
||||
offset++;
|
||||
offset += 1;
|
||||
dissect_authentication_id(tvb, offset, data_tree);
|
||||
offset += 32;
|
||||
offset += dissect_challenge(tvb, offset, data_tree, "ASUE ");
|
||||
|
@ -682,11 +683,11 @@ dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length
|
|||
optional_field = tvb_get_guint8(tvb, 0) & FLAG_BIT3;
|
||||
|
||||
dissect_flag(tvb, offset, data_tree);
|
||||
offset++;
|
||||
offset += 1;
|
||||
offset += dissect_challenge(tvb, offset, data_tree, "ASUE ");
|
||||
offset += dissect_challenge(tvb, offset, data_tree, "AE ");
|
||||
proto_tree_add_item(data_tree, hf_wai_access_res, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
offset++;
|
||||
offset += 1;
|
||||
offset += dissect_key_data(tvb, offset, data_tree, "ASUE ");
|
||||
offset += dissect_key_data(tvb, offset, data_tree, "AE ");
|
||||
offset += dissect_identity(tvb, offset, data_tree, "STA AE ");
|
||||
|
@ -705,7 +706,7 @@ dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length
|
|||
guint16 offset = 0;
|
||||
|
||||
dissect_addid(tvb, offset, data_tree);
|
||||
offset+=12;
|
||||
offset += 12;
|
||||
offset += dissect_challenge(tvb, offset, data_tree, "AE ");
|
||||
offset += dissect_challenge(tvb, offset, data_tree, "ASUE ");
|
||||
offset += dissect_certificate(tvb, offset, data_tree, "STE ASUE ");
|
||||
|
@ -732,7 +733,7 @@ dissect_wai_data(tvbuff_t *tvb, proto_tree *tree, guint8 subtype, guint16 length
|
|||
dissect_bkid(tvb, 1, data_tree);
|
||||
dissect_uskid(tvb, 17, data_tree);
|
||||
dissect_addid(tvb, 18, data_tree);
|
||||
dissect_challenge(tvb, 30, data_tree ,"AE ");
|
||||
dissect_challenge(tvb, 30, data_tree , "AE ");
|
||||
break;
|
||||
}
|
||||
case WAI_SUB_UNICAST_KEY_RESP:
|
||||
|
@ -841,16 +842,17 @@ Figure 18 from [ref:1]
|
|||
subtype = tvb_get_guint8(tvb, 3);
|
||||
|
||||
/* quick sanity check */
|
||||
if ((length != tvb_reported_length (tvb)-WAI_MESSAGE_LENGTH) || (subtype > WAI_SUB_MULTICAST_ANNOUNCE_RESP)) {
|
||||
if ((length != tvb_reported_length (tvb)-WAI_MESSAGE_LENGTH) ||
|
||||
(subtype > WAI_SUB_MULTICAST_ANNOUNCE_RESP)) {
|
||||
return;
|
||||
}
|
||||
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "WAI");
|
||||
col_clear (pinfo->cinfo, COL_INFO);
|
||||
col_clear(pinfo->cinfo, COL_INFO);
|
||||
version = tvb_get_ntohs(tvb, 0);
|
||||
|
||||
if (version == 1) {
|
||||
subtype_name = val_to_str_const(subtype, wai_subtype_names, "Unknown type");
|
||||
subtype_name = val_to_str_ext_const(subtype, &wai_subtype_names_ext, "Unknown type");
|
||||
}
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, "%s", subtype_name);
|
||||
|
||||
|
@ -865,7 +867,7 @@ Figure 18 from [ref:1]
|
|||
wai_item = proto_tree_add_item(tree, proto_wai, tvb, 0, -1, ENC_NA);
|
||||
|
||||
proto_item_set_text (wai_item, "WAI Protocol (%s)",
|
||||
val_to_str_const(subtype, wai_subtype_names, "Unknown type"));
|
||||
val_to_str_ext_const(subtype, &wai_subtype_names_ext, "Unknown type"));
|
||||
wai_tree = proto_item_add_subtree(wai_item, ett_wai);
|
||||
|
||||
/* Field lengths and offsets in WAI protocol described above */
|
||||
|
@ -873,7 +875,7 @@ Figure 18 from [ref:1]
|
|||
proto_tree_add_item(wai_tree, hf_wai_type, tvb, 2, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_subtype, tvb, 3, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_reserved, tvb, 4, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_length, tvb, 6,2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_length, tvb, 6, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_seq, tvb, 8, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_fragm_seq, tvb, 10, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(wai_tree, hf_wai_flag, tvb, 11, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -903,7 +905,8 @@ Figure 18 from [ref:1]
|
|||
/* If this is the last fragment of fragmented message, then reassamble and dissect
|
||||
otherwise only dissect */
|
||||
if (fragment_num > 0) {
|
||||
new_tvb = process_reassembled_data(tvb, WAI_DATA_OFFSET, pinfo, "Reassembled WAI", frag_msg, &wai_frag_items,
|
||||
new_tvb = process_reassembled_data(tvb, WAI_DATA_OFFSET, pinfo,
|
||||
"Reassembled WAI", frag_msg, &wai_frag_items,
|
||||
NULL, wai_tree);
|
||||
|
||||
if (new_tvb) {
|
||||
|
@ -931,221 +934,365 @@ void
|
|||
proto_register_wai(void)
|
||||
{
|
||||
static hf_register_info hf[] = {
|
||||
{ &hf_wai_version, { "Version", "wai.version", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, "Version of authentication infrastructure", HFILL }},
|
||||
|
||||
{ &hf_wai_type, { "Type", "wai.type", FT_UINT8, BASE_HEX, VALS(wai_type_names),
|
||||
0x0, "Protocol type", HFILL }},
|
||||
|
||||
{ &hf_wai_subtype, { "Subtype", "wai.subtype", FT_UINT8, BASE_DEC, VALS(wai_subtype_names),
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reserved, { "Reserved", "wai.reserved", FT_UINT16, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_length, { "Length", "wai.length", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_seq, { "Sequence number", "wai.seq", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, "Packet sequence number", HFILL }},
|
||||
|
||||
{ &hf_wai_fragm_seq, { "Fragment sequence number", "wai.fragm.seq", FT_UINT8, BASE_DEC, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_flag, { "Flag", "wai.flag", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_data, { "Data", "wai.data", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_bk_rekeying_flag, {"BK rekeying", "wai.bk.rekeying.flag", FT_BOOLEAN, 8, TFS (&wai_bk_rekeying_flag),
|
||||
FLAG_BIT0, "BK rekeying flag", HFILL }},
|
||||
|
||||
{ &hf_wai_preauthentication_flag,{"Pre-Authentication", "wai.preauthentication.flag", FT_BOOLEAN, 8, TFS (&wai_preauthentication_flag),
|
||||
FLAG_BIT1, "Pre-Authentication flag", HFILL }},
|
||||
|
||||
{ &hf_wai_certificate_flag,{"Certificate", "wai.certificate.flag", FT_BOOLEAN, 8, TFS (&wai_certificate_flag),
|
||||
FLAG_BIT2, "Certificate flag", HFILL }},
|
||||
|
||||
{ &hf_wai_optional_flag,{"Optional", "wai.optional.flag", FT_BOOLEAN, 8, TFS (&wai_optional_flag),
|
||||
FLAG_BIT3, "Optional flag", HFILL }},
|
||||
|
||||
{ &hf_wai_usk_rekeying_flag,{"USK rekeying", "wai.usk.rekeying.flag", FT_BOOLEAN, 8, TFS (&wai_usk_rekeying_flag),
|
||||
FLAG_BIT4, "USK rekeying flag", HFILL }},
|
||||
|
||||
{ &hf_wai_negotiation_flag,{"STA negotiation", "wai.negotiation.flag", FT_BOOLEAN, 8, TFS (&wai_negotiation_flag),
|
||||
FLAG_BIT5, "STA negotiation flag", HFILL }},
|
||||
|
||||
{ &hf_wai_revoking_flag,{"STA revoking", "wai.revoking.flag", FT_BOOLEAN, 8, TFS (&wai_revoking_flag),
|
||||
FLAG_BIT6, "STA revoking flag", HFILL }},
|
||||
|
||||
{ &hf_wai_reserved_flag,{"Reserved", "wai.reserved.flag", FT_BOOLEAN, 8, TFS (&wai_reserved_flag),
|
||||
FLAG_BIT7, "Reserved flag", HFILL }},
|
||||
|
||||
{ &hf_wai_cert, {"Certificate", "wai.cert", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_cert_id, {"Id", "wai.cert.id", FT_UINT16, BASE_HEX, NULL,
|
||||
0x0, "Certificate Id", HFILL }},
|
||||
|
||||
{ &hf_wai_cert_data, {"Data", "wai.cert.data", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, "Certificate data", HFILL }},
|
||||
|
||||
{ &hf_wai_cert_len, {"Length", "wai.cert.len", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, "Certificate length", HFILL }},
|
||||
|
||||
{ &hf_wai_addid, {"ADDID", "wai.addid", FT_STRING, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ae_mac, {"AE MAC", "wai.ae.mac", FT_ETHER, BASE_NONE, NULL,
|
||||
0x0, "AE MAC address", HFILL }},
|
||||
|
||||
{ &hf_wai_asue_mac, {"ASUE MAC", "wai.asue.mac", FT_ETHER, BASE_NONE, NULL,
|
||||
0x0, "ASUE MAC address", HFILL }},
|
||||
|
||||
{ &hf_wai_bkid, {"BKID", "wai.bkid", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_uskid, {"USKID", "wai.uskid", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_wie, {"WIE from ASUE", "wai.wie", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_message_auth_code, {"Message Authentication Code", "wai.message.auth.code", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_mskid, {"MSKID/STAKeyID", "wai.mskid", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_data_pack_num, {"Data packet number", "wai.data.packet.num", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_key_data, {"Key Data", "wai.key.data", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_key_data_len, {"Length", "wai.key.data.len", FT_UINT8, BASE_DEC, NULL,
|
||||
0x0, "Key data length", HFILL }},
|
||||
|
||||
{ &hf_wai_key_data_content, {"Content", "wai.key.data.content", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, "Key data content", HFILL }},
|
||||
|
||||
{ &hf_wai_key_ann_id, {"Key Announcement Identifier", "wai.key.ann.id", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_auth_id, {"Authentication Identifier", "wai.auth.id", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity, {"Identifier", "wai.identity", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_id, {"Id", "wai.identity.id", FT_UINT16, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_len, {"Length", "wai.identity.len", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, "Identity length", HFILL }},
|
||||
|
||||
{ &hf_wai_identity_data, {"Data", "wai.identity.data", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, "Identity data", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh, {"ECDH Parameter", "wai.ecdhp", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_id, {"ID", "wai.edch.id", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, "ECDH Parameter Identifier", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_len, {"Length", "wai.ecdh.len", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, "ECDH Parameter Length", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_content, {"Content", "wai.ecdh.content", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, "ECDH Parameter Content", HFILL }},
|
||||
|
||||
{ &hf_wai_counter, {"Replay counter", "wai.counter", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sta_key_id, {"STAKeyID", "wai.sta.key.id", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_challenge, {"Challenge", "wai.challenge", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_cert_ver, {"Multiple Certificate Verification Result", "wai.cert.ver", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_nonce, {"Nonce", "wai.nonce", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ver_res, {"Verification result", "wai.ver.res", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_alg, {"Signature Algorithm", "wai.sign.alg", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_hash_alg_id, {"Hash Algorithm Identifier", "wai.hash.alg.id", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_alg_id, {"Signature Algorithm Identifier", "wai.sign.alg.id", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param, {"Parameter", "wai.param", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param_id, {"Parameter Identifier", "wai.param.id", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param_content, {"Parameter Content", "wai.param.content", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_val, {"Signature Value", "wai.sign.val", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_content, {"Signature Content", "wai.sign.content", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign, {"Signature", "wai.sign", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_list, {"ASU List trusted by ASUE", "wai.identity_list", FT_BYTES, BASE_NONE, NULL,
|
||||
0x0, "Identity list", HFILL }},
|
||||
|
||||
{ &hf_wai_reserved_byte, {"Reserved", "wai.reserved.byte", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_no_of_ids, {"Number of Identities", "wai.no.of.ids", FT_UINT16, BASE_DEC, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_access_res, {"Access result", "wai.access_result", FT_UINT8, BASE_HEX, NULL,
|
||||
0x0, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragments,{"Message fragments", "wai.fragments",FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment,{"Message fragment", "wai.fragment",FT_FRAMENUM, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_overlap,{"Message fragment overlap", "wai.fragment.overlap",FT_BOOLEAN, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_overlap_conflicts,{"Message fragment overlapping with conflicting data","wai.fragment.overlap.conflicts",FT_BOOLEAN, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_multiple_tails,{"Message has multiple tail fragments","wai.fragment.multiple_tails",FT_BOOLEAN, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_too_long_fragment,{"Message fragment too long", "wai.fragment.too_long_fragment",FT_BOOLEAN, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_error,{"Message defragmentation error", "wai.fragment.error",FT_FRAMENUM, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_count,{"Message fragment count", "wai.fragment.count",FT_UINT32, BASE_DEC, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reassembled_in,{"Reassembled in", "wai.reassembled.in",FT_FRAMENUM, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reassembled_length,{"Reassembled length", "wai.reassembled.length",FT_UINT32, BASE_DEC, NULL,
|
||||
0x00, NULL, HFILL }}
|
||||
{ &hf_wai_version,
|
||||
{ "Version", "wai.version",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
"Version of authentication infrastructure", HFILL }},
|
||||
|
||||
{ &hf_wai_type,
|
||||
{ "Type", "wai.type",
|
||||
FT_UINT8, BASE_HEX, VALS(wai_type_names), 0x0,
|
||||
"Protocol type", HFILL }},
|
||||
|
||||
{ &hf_wai_subtype,
|
||||
{ "Subtype", "wai.subtype",
|
||||
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &wai_subtype_names_ext, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reserved,
|
||||
{ "Reserved", "wai.reserved",
|
||||
FT_UINT16, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_length,
|
||||
{ "Length", "wai.length",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_seq,
|
||||
{ "Sequence number", "wai.seq",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
"Packet sequence number", HFILL }},
|
||||
|
||||
{ &hf_wai_fragm_seq,
|
||||
{ "Fragment sequence number", "wai.fragm.seq",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_flag,
|
||||
{ "Flag", "wai.flag",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_data,
|
||||
{ "Data", "wai.data",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_bk_rekeying_flag,
|
||||
{"BK rekeying", "wai.bk.rekeying.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_bk_rekeying_flag), FLAG_BIT0,
|
||||
"BK rekeying flag", HFILL }},
|
||||
|
||||
{ &hf_wai_preauthentication_flag,
|
||||
{"Pre-Authentication", "wai.preauthentication.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_preauthentication_flag), FLAG_BIT1,
|
||||
"Pre-Authentication flag", HFILL }},
|
||||
|
||||
{ &hf_wai_certificate_flag,
|
||||
{"Certificate", "wai.certificate.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_certificate_flag), FLAG_BIT2,
|
||||
"Certificate flag", HFILL }},
|
||||
|
||||
{ &hf_wai_optional_flag,
|
||||
{"Optional", "wai.optional.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_optional_flag), FLAG_BIT3,
|
||||
"Optional flag", HFILL }},
|
||||
|
||||
{ &hf_wai_usk_rekeying_flag,
|
||||
{"USK rekeying", "wai.usk.rekeying.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_usk_rekeying_flag), FLAG_BIT4,
|
||||
"USK rekeying flag", HFILL }},
|
||||
|
||||
{ &hf_wai_negotiation_flag,
|
||||
{"STA negotiation", "wai.negotiation.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_negotiation_flag), FLAG_BIT5,
|
||||
"STA negotiation flag", HFILL }},
|
||||
|
||||
{ &hf_wai_revoking_flag,
|
||||
{"STA revoking", "wai.revoking.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_revoking_flag), FLAG_BIT6,
|
||||
"STA revoking flag", HFILL }},
|
||||
|
||||
{ &hf_wai_reserved_flag,
|
||||
{"Reserved", "wai.reserved.flag",
|
||||
FT_BOOLEAN, 8, TFS (&wai_reserved_flag), FLAG_BIT7,
|
||||
"Reserved flag", HFILL }},
|
||||
|
||||
{ &hf_wai_cert,
|
||||
{"Certificate", "wai.cert",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_cert_id,
|
||||
{"Id", "wai.cert.id",
|
||||
FT_UINT16, BASE_HEX, NULL, 0x0,
|
||||
"Certificate Id", HFILL }},
|
||||
|
||||
{ &hf_wai_cert_data,
|
||||
{"Data", "wai.cert.data",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"Certificate data", HFILL }},
|
||||
|
||||
{ &hf_wai_cert_len,
|
||||
{"Length", "wai.cert.len",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
"Certificate length", HFILL }},
|
||||
|
||||
{ &hf_wai_addid,
|
||||
{"ADDID", "wai.addid",
|
||||
FT_STRING, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ae_mac,
|
||||
{"AE MAC", "wai.ae.mac",
|
||||
FT_ETHER, BASE_NONE, NULL, 0x0,
|
||||
"AE MAC address", HFILL }},
|
||||
|
||||
{ &hf_wai_asue_mac,
|
||||
{"ASUE MAC", "wai.asue.mac",
|
||||
FT_ETHER, BASE_NONE, NULL, 0x0,
|
||||
"ASUE MAC address", HFILL }},
|
||||
|
||||
{ &hf_wai_bkid,
|
||||
{"BKID", "wai.bkid",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_uskid,
|
||||
{"USKID", "wai.uskid",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_wie,
|
||||
{"WIE from ASUE", "wai.wie",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_message_auth_code,
|
||||
{"Message Authentication Code", "wai.message.auth.code",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_mskid,
|
||||
{"MSKID/STAKeyID", "wai.mskid",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_data_pack_num,
|
||||
{"Data packet number", "wai.data.packet.num",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_key_data,
|
||||
{"Key Data", "wai.key.data",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_key_data_len,
|
||||
{"Length", "wai.key.data.len",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
"Key data length", HFILL }},
|
||||
|
||||
{ &hf_wai_key_data_content,
|
||||
{"Content", "wai.key.data.content",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"Key data content", HFILL }},
|
||||
|
||||
{ &hf_wai_key_ann_id,
|
||||
{"Key Announcement Identifier", "wai.key.ann.id",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_auth_id,
|
||||
{"Authentication Identifier", "wai.auth.id",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity,
|
||||
{"Identifier", "wai.identity",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_id,
|
||||
{"Id", "wai.identity.id",
|
||||
FT_UINT16, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_len,
|
||||
{"Length", "wai.identity.len",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
"Identity length", HFILL }},
|
||||
|
||||
{ &hf_wai_identity_data,
|
||||
{"Data", "wai.identity.data",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"Identity data", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh,
|
||||
{"ECDH Parameter", "wai.ecdhp",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_id,
|
||||
{"ID", "wai.edch.id",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
"ECDH Parameter Identifier", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_len,
|
||||
{"Length", "wai.ecdh.len",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
"ECDH Parameter Length", HFILL }},
|
||||
|
||||
{ &hf_wai_ecdh_content,
|
||||
{"Content", "wai.ecdh.content",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"ECDH Parameter Content", HFILL }},
|
||||
|
||||
{ &hf_wai_counter,
|
||||
{"Replay counter", "wai.counter",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sta_key_id,
|
||||
{"STAKeyID", "wai.sta.key.id",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_challenge,
|
||||
{"Challenge", "wai.challenge",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_cert_ver,
|
||||
{"Multiple Certificate Verification Result", "wai.cert.ver",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_nonce,
|
||||
{"Nonce", "wai.nonce",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_ver_res,
|
||||
{"Verification result", "wai.ver.res",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_alg,
|
||||
{"Signature Algorithm", "wai.sign.alg",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_hash_alg_id,
|
||||
{"Hash Algorithm Identifier", "wai.hash.alg.id",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_alg_id,
|
||||
{"Signature Algorithm Identifier", "wai.sign.alg.id",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param,
|
||||
{"Parameter", "wai.param",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param_id,
|
||||
{"Parameter Identifier", "wai.param.id",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_param_content,
|
||||
{"Parameter Content", "wai.param.content",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_val,
|
||||
{"Signature Value", "wai.sign.val",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign_content,
|
||||
{"Signature Content", "wai.sign.content",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_sign,
|
||||
{"Signature", "wai.sign",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_identity_list,
|
||||
{"ASU List trusted by ASUE", "wai.identity_list",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"Identity list", HFILL }},
|
||||
|
||||
{ &hf_wai_reserved_byte,
|
||||
{"Reserved", "wai.reserved.byte",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_no_of_ids,
|
||||
{"Number of Identities", "wai.no.of.ids",
|
||||
FT_UINT16, BASE_DEC, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_access_res,
|
||||
{"Access result", "wai.access_result",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragments,
|
||||
{"Message fragments", "wai.fragments",
|
||||
FT_NONE, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment,
|
||||
{"Message fragment", "wai.fragment",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_overlap,
|
||||
{"Message fragment overlap", "wai.fragment.overlap",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_overlap_conflicts,
|
||||
{"Message fragment overlapping with conflicting data", "wai.fragment.overlap.conflicts",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_multiple_tails,
|
||||
{"Message has multiple tail fragments", "wai.fragment.multiple_tails",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_too_long_fragment,
|
||||
{"Message fragment too long", "wai.fragment.too_long_fragment",
|
||||
FT_BOOLEAN, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_error,
|
||||
{"Message defragmentation error", "wai.fragment.error",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_fragment_count,
|
||||
{"Message fragment count", "wai.fragment.count",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reassembled_in,
|
||||
{"Reassembled in", "wai.reassembled.in",
|
||||
FT_FRAMENUM, BASE_NONE, NULL, 0x00,
|
||||
NULL, HFILL }},
|
||||
|
||||
{ &hf_wai_reassembled_length,
|
||||
{"Reassembled length", "wai.reassembled.length",
|
||||
FT_UINT32, BASE_DEC, NULL, 0x00,
|
||||
NULL, HFILL }}
|
||||
};
|
||||
|
||||
static gint *ett[] = {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue