forked from osmocom/wireshark
Remove unnecessary tvb_ensure_bytes_exist calls.
All of the calls removed are followed by proto_tree_add_xxx calls of the same offset/length of the tvb_ensure_bytes_exist call. The proto_tree_add_xxx calls should throw the exception, so we don't need the "double check". There are probably more calls that can be removed, these were just obvious as first glance, spurred mostly by noticing the (ab)use in packet-wsp.c Change-Id: I37cee347c8cf8ab0559e21562c802d3b37f4871e Reviewed-on: https://code.wireshark.org/review/4833 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
parent
1427a8e986
commit
5e4e17ca5e
|
@ -1183,7 +1183,6 @@ static void dissect_auth_verf(tvbuff_t *auth_tvb, packet_info *pinfo,
|
|||
if (fn)
|
||||
fn(auth_tvb, 0, pinfo, tree, &di, hdr->drep);
|
||||
else {
|
||||
tvb_ensure_bytes_exist(auth_tvb, 0, hdr->auth_len);
|
||||
proto_tree_add_text(tree, auth_tvb, 0, hdr->auth_len,
|
||||
"%s Verifier",
|
||||
val_to_str(auth_info->auth_type,
|
||||
|
@ -1923,8 +1922,7 @@ dissect_ndr_byte_array(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
hf_dcerpc_array_actual_count, &len);
|
||||
|
||||
DISSECTOR_ASSERT(len <= G_MAXUINT32);
|
||||
if (tree && len) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, (guint32)len);
|
||||
if (len) {
|
||||
proto_tree_add_item(tree, di->hf_index, tvb, offset, (guint32)len,
|
||||
ENC_NA);
|
||||
}
|
||||
|
@ -2515,7 +2513,6 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* get the referent id */
|
||||
offset = dissect_ndr_uint3264(tvb, offset, pinfo, NULL, di, drep, -1, &id);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset-pointer_size, pointer_size);
|
||||
/* we got a NULL pointer */
|
||||
if (id == 0) {
|
||||
proto_tree_add_text(tree, tvb, offset-pointer_size,
|
||||
|
@ -2560,7 +2557,6 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* get the referent id */
|
||||
offset = dissect_ndr_uint3264(tvb, offset, pinfo, NULL, di, drep, -1, &id);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset-pointer_size, pointer_size);
|
||||
/* we got a NULL pointer */
|
||||
if (id == 0) {
|
||||
proto_tree_add_text(tree, tvb, offset-pointer_size,
|
||||
|
@ -2594,7 +2590,6 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* get the referent id */
|
||||
offset = dissect_ndr_uint3264(tvb, offset, pinfo, NULL, di, drep, -1, &id);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset-pointer_size, pointer_size);
|
||||
/* new pointer */
|
||||
tr = proto_tree_add_subtree(tree, tvb, offset-pointer_size,
|
||||
pointer_size,
|
||||
|
@ -2620,7 +2615,6 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* get the referent id */
|
||||
offset = dissect_ndr_uint3264(tvb, offset, pinfo, NULL, di, drep, -1, &id);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset-pointer_size, pointer_size);
|
||||
/* we got a NULL pointer */
|
||||
if (id == 0) {
|
||||
proto_tree_add_text(tree, tvb, offset-pointer_size,
|
||||
|
@ -2655,7 +2649,6 @@ dissect_ndr_pointer_cb(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* get the referent id */
|
||||
offset = dissect_ndr_uint3264(tvb, offset, pinfo, NULL, di, drep, -1, &id);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset-pointer_size, pointer_size);
|
||||
/* we got a NULL pointer */
|
||||
if (id == 0) {
|
||||
proto_tree_add_text(tree, tvb, offset-pointer_size,
|
||||
|
@ -2775,27 +2768,23 @@ show_stub_data(tvbuff_t *tvb, gint offset, proto_tree *dcerpc_tree,
|
|||
if ((auth_info != NULL) &&
|
||||
(auth_info->auth_level == DCE_C_AUTHN_LEVEL_PKT_PRIVACY)) {
|
||||
if (is_encrypted) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, length,
|
||||
"Encrypted stub data (%d byte%s)",
|
||||
length, plurality(length, "", "s"));
|
||||
/* is the padding is still inside the encrypted blob, don't display it explicit */
|
||||
auth_pad_len = 0;
|
||||
} else {
|
||||
tvb_ensure_bytes_exist(tvb, offset, plain_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, plain_length,
|
||||
"Decrypted stub data (%d byte%s)",
|
||||
plain_length, plurality(plain_length, "", "s"));
|
||||
}
|
||||
} else {
|
||||
tvb_ensure_bytes_exist(tvb, offset, plain_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, plain_length,
|
||||
"Stub data (%d byte%s)", plain_length,
|
||||
plurality(plain_length, "", "s"));
|
||||
}
|
||||
/* If there is auth padding at the end of the stub, display it */
|
||||
if (auth_pad_len != 0) {
|
||||
tvb_ensure_bytes_exist(tvb, auth_pad_offset, auth_pad_len);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, auth_pad_offset,
|
||||
auth_pad_len,
|
||||
"Auth Padding (%u byte%s)",
|
||||
|
@ -3025,7 +3014,6 @@ dcerpc_try_handoff(packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
/* If there is auth padding at the end of the stub, display it */
|
||||
if (auth_pad_len != 0) {
|
||||
tvb_ensure_bytes_exist(tvb, auth_pad_offset, auth_pad_len);
|
||||
proto_tree_add_text(sub_tree, decrypted_tvb, auth_pad_offset,
|
||||
auth_pad_len,
|
||||
"Auth Padding (%u byte%s)",
|
||||
|
@ -3083,7 +3071,6 @@ dissect_dcerpc_verifier(tvbuff_t *tvb, packet_info *pinfo,
|
|||
show_exception(auth_tvb, pinfo, dcerpc_tree, EXCEPT_CODE, GET_MESSAGE);
|
||||
} ENDTRY;
|
||||
} else {
|
||||
tvb_ensure_bytes_exist(tvb, 0, hdr->auth_len);
|
||||
proto_tree_add_text(dcerpc_tree, auth_tvb, 0, hdr->auth_len,
|
||||
"Auth Verifier");
|
||||
}
|
||||
|
@ -3444,7 +3431,6 @@ dissect_dcerpc_cn_bind_ack(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
offset = dissect_dcerpc_uint16(tvb, offset, pinfo, dcerpc_tree, hdr->drep,
|
||||
hf_dcerpc_cn_sec_addr_len, &sec_addr_len);
|
||||
if (sec_addr_len != 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, sec_addr_len);
|
||||
proto_tree_add_item(dcerpc_tree, hf_dcerpc_cn_sec_addr, tvb, offset,
|
||||
sec_addr_len, ENC_ASCII|ENC_NA);
|
||||
offset += sec_addr_len;
|
||||
|
@ -4267,7 +4253,6 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
*/
|
||||
if (dcerpc_tree) {
|
||||
if (stub_length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fault stub data (%d byte%s)",
|
||||
stub_length,
|
||||
|
@ -4278,7 +4263,6 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
/* PDU is fragmented and this isn't the first fragment */
|
||||
if (dcerpc_tree) {
|
||||
if (stub_length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fragment data (%d byte%s)",
|
||||
stub_length,
|
||||
|
@ -4293,7 +4277,6 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
third means we can attempt reassembly. */
|
||||
if (dcerpc_tree) {
|
||||
if (length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fragment data (%d byte%s)",
|
||||
stub_length,
|
||||
|
@ -4340,7 +4323,6 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
*/
|
||||
if (dcerpc_tree) {
|
||||
if (length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fault stub data (%d byte%s)",
|
||||
stub_length,
|
||||
|
@ -5315,7 +5297,6 @@ dissect_dcerpc_dg_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
/* PDU is fragmented and this isn't the first fragment */
|
||||
if (dcerpc_tree) {
|
||||
if (length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fragment data (%d byte%s)",
|
||||
stub_length,
|
||||
|
@ -5330,7 +5311,6 @@ dissect_dcerpc_dg_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
third means we can attempt reassembly. */
|
||||
if (dcerpc_tree) {
|
||||
if (length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, stub_length);
|
||||
proto_tree_add_text(dcerpc_tree, tvb, offset, stub_length,
|
||||
"Fragment data (%d byte%s)", stub_length,
|
||||
plurality(stub_length, "", "s"));
|
||||
|
|
|
@ -265,25 +265,19 @@ dissect_ieee8021ah_common(tvbuff_t *tvb, packet_info *pinfo,
|
|||
proto_item_set_text(ieee8021ah_tag_tree, "I-Tag, I-SID: %d",
|
||||
tci & IEEE8021AH_ISIDMASK);
|
||||
|
||||
/* ensure size of tag */
|
||||
tvb_ensure_bytes_exist(tvb, 4, 12);
|
||||
proto_tree_add_item(tree, hf_ieee8021ah_c_daddr, tvb, 4, 6, ENC_NA);
|
||||
proto_tree_add_item(tree, hf_ieee8021ah_c_saddr, tvb, 10, 6, ENC_NA);
|
||||
|
||||
/* parse out IP addrs */
|
||||
dst_addr = tvb_get_ptr(tvb, 4, 6); /* safe to use this function? */
|
||||
src_addr = tvb_get_ptr(tvb, 10, 6);
|
||||
|
||||
proto_tree_add_ether(tree, hf_ieee8021ah_c_daddr,
|
||||
tvb, 4, 6, dst_addr);
|
||||
|
||||
proto_tree_add_ether(tree, hf_ieee8021ah_c_saddr,
|
||||
tvb, 10, 6, src_addr);
|
||||
|
||||
/* add text to 802.1ad label */
|
||||
if (parent) {
|
||||
proto_item_append_text(tree, ", I-SID: %d, C-Src: %s (%s), C-Dst: %s (%s)",
|
||||
tci & IEEE8021AH_ISIDMASK, get_ether_name(src_addr),
|
||||
ether_to_str(src_addr), get_ether_name(dst_addr),
|
||||
ether_to_str(dst_addr));
|
||||
tvb_ether_to_str(tvb, 10), get_ether_name(dst_addr),
|
||||
tvb_ether_to_str(tvb, 4));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1142,7 +1142,6 @@ nextcontext:
|
|||
proto_item *item;
|
||||
|
||||
tokenlen = (tvb_RBRKT+1) - tvb_previous_offset;
|
||||
tvb_ensure_bytes_exist(tvb, tvb_previous_offset, tokenlen);
|
||||
item = proto_tree_add_string(megaco_tree, hf_megaco_error_Frame, tvb,
|
||||
tvb_previous_offset, tokenlen,
|
||||
"No Command detectable !");
|
||||
|
|
|
@ -646,8 +646,6 @@ add_next_payload(tvbuff_t *tvb, proto_tree *tree, int offset)
|
|||
static int
|
||||
dissect_payload_cs_id_srtp(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, 0, 9);
|
||||
|
||||
if (tree) {
|
||||
proto_item *id_ti;
|
||||
proto_tree *id_tree;
|
||||
|
@ -750,7 +748,6 @@ dissect_payload_kemac(mikey_t *mikey, tvbuff_t *tvb, packet_info *pinfo, proto_t
|
|||
guint16 mac_length;
|
||||
guint8 mac_alg;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 4);
|
||||
encr_alg = tvb_get_guint8(tvb, offset+1);
|
||||
encr_length = tvb_get_ntohs(tvb, offset+2);
|
||||
tvb_ensure_bytes_exist(tvb, offset+4, encr_length+1);
|
||||
|
@ -788,10 +785,7 @@ dissect_payload_kemac(mikey_t *mikey, tvbuff_t *tvb, packet_info *pinfo, proto_t
|
|||
return 0;
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+4+encr_length+1, mac_length);
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEMAC_MAC], tvb, 4+encr_length+1, mac_length, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEMAC_MAC], tvb, 4+encr_length+1, mac_length, ENC_NA);
|
||||
|
||||
return 4+encr_length+1+mac_length;
|
||||
}
|
||||
|
@ -802,7 +796,6 @@ dissect_payload_pke(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, p
|
|||
int offset = 0;
|
||||
guint16 length;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 3);
|
||||
length = tvb_get_ntohs(tvb, offset+1) &0x3ff;
|
||||
|
||||
if (tree) {
|
||||
|
@ -811,10 +804,7 @@ dissect_payload_pke(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, p
|
|||
proto_tree_add_item(tree, hf_mikey[POS_PKE_DATA_LEN], tvb, 1, 2, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+3, length);
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_PKE_DATA], tvb, 3, length, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_PKE_DATA], tvb, 3, length, ENC_NA);
|
||||
return 3 + length;
|
||||
}
|
||||
|
||||
|
@ -826,7 +816,6 @@ dissect_payload_dh(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
|
|||
int dh_length;
|
||||
guint8 kv;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
dh_group = tvb_get_guint8(tvb, offset+1);
|
||||
|
||||
switch (dh_group) {
|
||||
|
@ -843,7 +832,6 @@ dissect_payload_dh(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
|
|||
return 0;
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, dh_length+1);
|
||||
kv = tvb_get_guint8(tvb, offset+2+dh_length) & 0x0f;
|
||||
|
||||
if (tree) {
|
||||
|
@ -866,7 +854,6 @@ dissect_payload_sign(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
int offset = 0;
|
||||
guint16 length;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
length = ((tvb_get_guint8(tvb, offset+0) & 0x0f) << 8) + tvb_get_guint8(tvb, offset+1);
|
||||
|
||||
if (tree) {
|
||||
|
@ -874,10 +861,7 @@ dissect_payload_sign(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
proto_tree_add_uint(tree, hf_mikey[POS_SIGNATURE_LEN], tvb, 0, 2, length);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, length);
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_SIGNATURE], tvb, 2, length, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_SIGNATURE], tvb, 2, length, ENC_NA);
|
||||
return 2 + length;
|
||||
}
|
||||
|
||||
|
@ -888,7 +872,6 @@ dissect_payload_t(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pro
|
|||
int offset = 0;
|
||||
int len = 0;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
ts_type = tvb_get_guint8(tvb, offset+1);
|
||||
|
||||
if (tree) {
|
||||
|
@ -922,7 +905,6 @@ dissect_payload_id(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
|
|||
guint8 type;
|
||||
guint16 length;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 4);
|
||||
type = tvb_get_guint8(tvb, offset+1);
|
||||
length = tvb_get_ntohs(tvb, offset+2);
|
||||
if (tree) {
|
||||
|
@ -930,7 +912,6 @@ dissect_payload_id(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
|
|||
proto_tree_add_item(tree, hf_mikey[POS_ID_LEN], tvb, 2, 2, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+4, length);
|
||||
if (tree) {
|
||||
proto_item* parent;
|
||||
proto_tree_add_item(tree, hf_mikey[POS_ID], tvb, 4, length, ENC_ASCII|ENC_NA);
|
||||
|
@ -951,7 +932,6 @@ dissect_payload_idr(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, p
|
|||
guint8 type;
|
||||
guint16 length;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 5);
|
||||
type = tvb_get_guint8(tvb, offset+2);
|
||||
length = tvb_get_ntohs(tvb, offset+3);
|
||||
if (tree) {
|
||||
|
@ -960,7 +940,6 @@ dissect_payload_idr(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, p
|
|||
proto_tree_add_item(tree, hf_mikey[POS_ID_LEN], tvb, 3, 2, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+5, length);
|
||||
if (tree) {
|
||||
proto_item *parent;
|
||||
proto_tree_add_item(tree, hf_mikey[POS_ID], tvb, 5, length, ENC_ASCII|ENC_NA);
|
||||
|
@ -985,7 +964,6 @@ dissect_payload_cert(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo, prot
|
|||
|
||||
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 4);
|
||||
type = tvb_get_guint8(tvb, offset+1);
|
||||
length = tvb_get_ntohs(tvb, offset+2);
|
||||
|
||||
|
@ -1013,12 +991,9 @@ dissect_payload_v(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pro
|
|||
guint16 length;
|
||||
guint8 alg;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
alg = tvb_get_guint8(tvb, offset+1);
|
||||
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_V_AUTH_ALG], tvb, 1, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_V_AUTH_ALG], tvb, 1, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
switch (alg) {
|
||||
case MAC_NULL:
|
||||
|
@ -1031,10 +1006,7 @@ dissect_payload_v(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pro
|
|||
return 0;
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, length);
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_V_DATA], tvb, 2, length, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_V_DATA], tvb, 2, length, ENC_NA);
|
||||
|
||||
return 2 + length;
|
||||
}
|
||||
|
@ -1047,10 +1019,8 @@ dissect_payload_sp_param(enum sp_prot_t proto, tvbuff_t *tvb, proto_tree *tree)
|
|||
guint8 length;
|
||||
int hfindex;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
type = tvb_get_guint8(tvb, offset+0);
|
||||
length = tvb_get_guint8(tvb, offset+1);
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, length);
|
||||
|
||||
/* Default */
|
||||
hfindex = hf_mikey[POS_SP_PARAM_F];
|
||||
|
@ -1092,7 +1062,6 @@ dissect_payload_sp(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, pr
|
|||
guint8 no;
|
||||
enum sp_prot_t type;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 5);
|
||||
length = tvb_get_ntohs(tvb, offset+3);
|
||||
no = tvb_get_guint8(tvb, offset+1);
|
||||
type = (enum sp_prot_t)tvb_get_guint8(tvb, offset+2);
|
||||
|
@ -1136,26 +1105,17 @@ dissect_payload_rand(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
int offset = 0;
|
||||
guint16 length;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 2);
|
||||
length = tvb_get_guint8(tvb, offset+1);
|
||||
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_RAND_LEN], tvb, 1, 1, ENC_BIG_ENDIAN);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_RAND_LEN], tvb, 1, 1, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_RAND], tvb, 2, length, ENC_NA);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, length);
|
||||
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_RAND], tvb, 2, length, ENC_NA);
|
||||
}
|
||||
return 2 + length;
|
||||
}
|
||||
|
||||
static int
|
||||
dissect_payload_err(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, 0, 4);
|
||||
|
||||
if (tree) {
|
||||
proto_item *parent;
|
||||
guint8 err_no;
|
||||
|
@ -1178,12 +1138,10 @@ dissect_payload_keydata(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U
|
|||
guint8 kv_type;
|
||||
|
||||
offset = 0;
|
||||
tvb_ensure_bytes_exist(tvb, 0, 4);
|
||||
key_type = tvb_get_guint8(tvb, 1) >> 4;
|
||||
kv_type = tvb_get_guint8(tvb, 1) & 0x0f;
|
||||
data_len = tvb_get_ntohs(tvb, 2);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, 4, data_len);
|
||||
offset += 4;
|
||||
|
||||
if (tree) {
|
||||
|
@ -1202,14 +1160,10 @@ dissect_payload_keydata(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U
|
|||
/* Dissect SALT key */
|
||||
if ((key_type == KD_TGK_SALT) || (key_type == KD_TEK_SALT)) {
|
||||
guint16 salt_len;
|
||||
tvb_ensure_bytes_exist(tvb, offset, 2);
|
||||
salt_len = tvb_get_ntohs(tvb, offset);
|
||||
if (salt_len > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset+2, salt_len);
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_SALT_LEN], tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_SALT], tvb, offset+2, salt_len, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_SALT_LEN], tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_SALT], tvb, offset+2, salt_len, ENC_NA);
|
||||
}
|
||||
offset += 2+salt_len;
|
||||
}
|
||||
|
@ -1219,31 +1173,25 @@ dissect_payload_keydata(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U
|
|||
guint16 kv_from_len;
|
||||
guint16 kv_to_len;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset, 1);
|
||||
kv_from_len = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_FROM_LEN], tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if (kv_from_len > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset+1, kv_from_len);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_FROM], tvb, offset+1, kv_from_len, ENC_NA);
|
||||
}
|
||||
offset += 1+kv_from_len;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset, 1);
|
||||
kv_to_len = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_TO_LEN], tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if (kv_to_len > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset+1, kv_to_len);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_TO], tvb, offset+1, kv_to_len, ENC_NA);
|
||||
}
|
||||
offset += 1+kv_to_len;
|
||||
} else if (kv_type == KV_SPI) {
|
||||
guint16 kv_spi_len;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset, 1);
|
||||
kv_spi_len = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_SPI_LEN], tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
if (kv_spi_len > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset+1, kv_spi_len);
|
||||
proto_tree_add_item(tree, hf_mikey[POS_KEY_KV_SPI], tvb, offset+1, kv_spi_len, ENC_NA);
|
||||
}
|
||||
offset += 1+kv_spi_len;
|
||||
|
@ -1259,7 +1207,6 @@ dissect_payload_general_ext(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinf
|
|||
guint8 type;
|
||||
guint16 data_len;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 4);
|
||||
type = tvb_get_guint8(tvb, offset+1);
|
||||
data_len = tvb_get_ntohs(tvb, offset+2);
|
||||
|
||||
|
@ -1268,8 +1215,6 @@ dissect_payload_general_ext(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinf
|
|||
proto_tree_add_item(tree, hf_mikey[POS_GENERAL_EXT_LEN], tvb, 2, 2, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+3, data_len);
|
||||
|
||||
if (tree) {
|
||||
proto_item *parent;
|
||||
|
||||
|
@ -1291,7 +1236,6 @@ dissect_payload_sakke(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
int offset = 0;
|
||||
guint16 data_len;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+0, 5);
|
||||
data_len = tvb_get_ntohs(tvb, offset+3);
|
||||
|
||||
if (tree) {
|
||||
|
@ -1300,11 +1244,7 @@ dissect_payload_sakke(mikey_t *mikey _U_, tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
proto_tree_add_item(tree, hf_mikey[POS_SAKKE_LEN], tvb, 3, 2, ENC_BIG_ENDIAN);
|
||||
}
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset+5, data_len);
|
||||
|
||||
if (tree) {
|
||||
proto_tree_add_item(tree, hf_mikey[POS_SAKKE_DATA], tvb, 5, data_len, ENC_NA);
|
||||
}
|
||||
proto_tree_add_item(tree, hf_mikey[POS_SAKKE_DATA], tvb, 5, data_len, ENC_NA);
|
||||
return 5 + data_len;
|
||||
}
|
||||
|
||||
|
|
|
@ -803,13 +803,10 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
} else {
|
||||
length += 1;
|
||||
}
|
||||
if (tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + 1);
|
||||
proto_tree_add_string(mmse_tree,
|
||||
proto_tree_add_string(mmse_tree,
|
||||
hf_mmse_content_location,
|
||||
tvb, offset - 1, length + 1,
|
||||
"<Undecoded value for m-mbox-delete-conf>");
|
||||
}
|
||||
} else {
|
||||
length = get_text_string(tvb, offset, &strval);
|
||||
if (tree) {
|
||||
|
@ -828,11 +825,8 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
tval = get_long_integer(tvb, offset, &count);
|
||||
tmptime.secs = tval;
|
||||
tmptime.nsecs = 0;
|
||||
if (tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, count + 1);
|
||||
proto_tree_add_time(mmse_tree, hf_mmse_date, tvb,
|
||||
proto_tree_add_time(mmse_tree, hf_mmse_date, tvb,
|
||||
offset - 1, count + 1, &tmptime);
|
||||
}
|
||||
}
|
||||
offset += count;
|
||||
break;
|
||||
|
@ -860,7 +854,6 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
tmptime.secs = tval;
|
||||
tmptime.nsecs = 0;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + count + 1);
|
||||
if (field == 0x80)
|
||||
proto_tree_add_time(mmse_tree,
|
||||
hf_mmse_delivery_time_abs,
|
||||
|
@ -890,7 +883,6 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
tmptime.secs = tval;
|
||||
tmptime.nsecs = 0;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + count + 1);
|
||||
if (field == 0x80)
|
||||
proto_tree_add_time(mmse_tree, hf_mmse_expiry_abs,
|
||||
tvb, offset - 1,
|
||||
|
@ -910,7 +902,6 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
length = get_value_length(tvb, offset, &count);
|
||||
if (tree) {
|
||||
field = tvb_get_guint8(tvb, offset + count);
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + count + 1);
|
||||
if (field == 0x81) {
|
||||
proto_tree_add_string(mmse_tree, hf_mmse_from, tvb,
|
||||
offset-1, length + count + 1,
|
||||
|
@ -1124,7 +1115,6 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
tmptime.secs = tval;
|
||||
tmptime.nsecs = 0;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + count + 1);
|
||||
if (field == 0x80)
|
||||
proto_tree_add_time(mmse_tree, hf_mmse_reply_charging_deadline_abs,
|
||||
tvb, offset - 1,
|
||||
|
@ -1205,7 +1195,6 @@ dissect_mmse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 pdut,
|
|||
strval = abs_time_to_str(wmem_packet_scope(), &tmptime, ABSOLUTE_TIME_LOCAL,
|
||||
TRUE);
|
||||
/* Now render the fields */
|
||||
tvb_ensure_bytes_exist(tvb, offset - 1, length + count + 1);
|
||||
tii = proto_tree_add_string_format(mmse_tree,
|
||||
hf_mmse_prev_sent_date,
|
||||
tvb, offset - 1, 1 + count + length,
|
||||
|
|
|
@ -2222,7 +2222,6 @@ objectidentifier(tvbuff_t* tvb, proto_tree *ndps_tree, int foffset)
|
|||
foffset += 1;
|
||||
length = tvb_get_guint8(tvb, foffset);
|
||||
foffset += 1;
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(atree, hf_ndps_oid, tvb, foffset, length, ENC_NA);
|
||||
foffset += length;
|
||||
}
|
||||
|
@ -2468,7 +2467,6 @@ credentials(tvbuff_t* tvb, packet_info *pinfo, proto_tree *ndps_tree, int foffse
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(atree, hf_ndps_password, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
proto_item_set_end(aitem, tvb, foffset);
|
||||
|
@ -2480,7 +2478,6 @@ credentials(tvbuff_t* tvb, packet_info *pinfo, proto_tree *ndps_tree, int foffse
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_certified, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -3809,7 +3806,6 @@ attribute_value(tvbuff_t* tvb, packet_info* pinfo, proto_tree *ndps_tree, int fo
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_octet_string, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -3818,7 +3814,6 @@ attribute_value(tvbuff_t* tvb, packet_info* pinfo, proto_tree *ndps_tree, int fo
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_octet_string, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -3831,7 +3826,6 @@ attribute_value(tvbuff_t* tvb, packet_info* pinfo, proto_tree *ndps_tree, int fo
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_octet_string, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -3851,7 +3845,6 @@ attribute_value(tvbuff_t* tvb, packet_info* pinfo, proto_tree *ndps_tree, int fo
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_octet_string, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -3874,7 +3867,6 @@ attribute_value(tvbuff_t* tvb, packet_info* pinfo, proto_tree *ndps_tree, int fo
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_octet_string, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -4861,7 +4853,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -5452,7 +5443,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -5496,7 +5486,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_guid, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -5617,7 +5606,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -5679,7 +5667,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(atree, hf_ndps_item_bytes, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -5796,7 +5783,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -6015,7 +6001,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -6193,7 +6178,6 @@ dissect_ndps_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, g
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_context, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7229,7 +7213,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_continuation_option, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7334,7 +7317,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_continuation_option, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7408,7 +7390,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(atree, hf_ndps_attribute_set, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
proto_item_set_end(aitem, tvb, foffset);
|
||||
|
@ -7443,7 +7424,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_continuation_option, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7469,7 +7449,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_continuation_option, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7510,7 +7489,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(atree, hf_ndps_attribute_set, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
proto_item_set_end(aitem, tvb, foffset);
|
||||
|
@ -7590,7 +7568,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_continuation_option, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
foffset += length;
|
||||
|
@ -7703,7 +7680,6 @@ dissect_ndps_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ndps_tree, int
|
|||
foffset += 4;
|
||||
if (length!=0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, foffset, length);
|
||||
proto_tree_add_item(ndps_tree, hf_ndps_attribute_set, tvb, foffset, length, ENC_NA);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -7744,7 +7744,6 @@ dissect_nfs4_dirlist(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
int start_off = offset;
|
||||
|
||||
/* Make sure we have 16 bytes (value follows + cookie + name length) */
|
||||
tvb_ensure_bytes_exist(tvb, offset, 16);
|
||||
name_len = tvb_get_ntohl(tvb, offset + 12);
|
||||
tvb_ensure_bytes_exist(tvb, offset, 16 + name_len);
|
||||
/*
|
||||
|
|
|
@ -233,7 +233,6 @@ dissect_rx_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
|
|||
offset, 4, tl);
|
||||
offset += 4;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset, tl);
|
||||
proto_tree_add_item(tree, hf_rx_ticket, tvb, offset, tl, ENC_NA);
|
||||
offset += tl;
|
||||
}
|
||||
|
|
|
@ -925,7 +925,6 @@ static int dissect_smb_command(tvbuff_t *tvb, packet_info *pinfo, int offset, pr
|
|||
bc = bc_remaining; \
|
||||
} \
|
||||
if (bc) { \
|
||||
tvb_ensure_bytes_exist(tvb, offset, bc); \
|
||||
proto_tree_add_text(tree, tvb, offset, bc, \
|
||||
"Extra byte parameters"); \
|
||||
} \
|
||||
|
@ -2308,10 +2307,7 @@ dissect_negprot_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
|
|||
|
||||
BYTE_COUNT;
|
||||
|
||||
if (tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, bc);
|
||||
tr = proto_tree_add_subtree(tree, tvb, offset, bc, ett_smb_dialects, NULL, "Requested Dialects");
|
||||
}
|
||||
tr = proto_tree_add_subtree(tree, tvb, offset, bc, ett_smb_dialects, NULL, "Requested Dialects");
|
||||
|
||||
if (!pinfo->fd->flags.visited && si->sip) {
|
||||
dialects = wmem_new(wmem_file_scope(), struct negprot_dialects);
|
||||
|
@ -2411,7 +2407,6 @@ dissect_negprot_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
|
|||
"%u: %s", dialect, dialect_name);
|
||||
break;
|
||||
default:
|
||||
tvb_ensure_bytes_exist(tvb, offset, wc*2);
|
||||
proto_tree_add_text(tree, tvb, offset, wc*2,
|
||||
"Words for unknown response format");
|
||||
offset += wc*2;
|
||||
|
@ -9137,7 +9132,6 @@ dissect_nt_trans_data_response(tvbuff_t *tvb, packet_info *pinfo,
|
|||
DISSECTOR_ASSERT(si);
|
||||
|
||||
if (parent_tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, len);
|
||||
if (nti != NULL) {
|
||||
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset, len,
|
||||
ett_smb_nt_trans_data, NULL, "%s Data",
|
||||
|
@ -9225,7 +9219,6 @@ dissect_nt_trans_param_response(tvbuff_t *tvb, packet_info *pinfo,
|
|||
nti = NULL;
|
||||
|
||||
if (parent_tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, len);
|
||||
if (nti != NULL) {
|
||||
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset, len,
|
||||
ett_smb_nt_trans_param, NULL, "%s Parameters",
|
||||
|
@ -9435,7 +9428,6 @@ dissect_nt_trans_setup_response(tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
nti = NULL;
|
||||
|
||||
if (parent_tree) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, len);
|
||||
if (nti != NULL) {
|
||||
/*item = */proto_tree_add_text(parent_tree, tvb, offset, len,
|
||||
"%s Setup",
|
||||
|
@ -13888,7 +13880,6 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
si->unicode, &an_len, FALSE, FALSE, &bc);
|
||||
if (an == NULL)
|
||||
goto endofcommand;
|
||||
tvb_ensure_bytes_exist(tvb, offset, an_len);
|
||||
proto_tree_add_string(tree, hf_smb_trans_name, tvb,
|
||||
offset, an_len, an);
|
||||
COUNT_BYTES(an_len);
|
||||
|
@ -13911,7 +13902,6 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
padcnt = po-offset;
|
||||
if (padcnt > bc)
|
||||
padcnt = bc;
|
||||
tvb_ensure_bytes_exist(tvb, offset, padcnt);
|
||||
proto_tree_add_item(tree, hf_smb_padding, tvb, offset, padcnt, ENC_NA);
|
||||
COUNT_BYTES(padcnt);
|
||||
}
|
||||
|
@ -13940,7 +13930,6 @@ dissect_transaction_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
padcnt = od-offset;
|
||||
if (padcnt > bc)
|
||||
padcnt = bc;
|
||||
tvb_ensure_bytes_exist(tvb, offset, padcnt);
|
||||
proto_tree_add_item(tree, hf_smb_padding, tvb, offset, padcnt, ENC_NA);
|
||||
COUNT_BYTES(padcnt);
|
||||
}
|
||||
|
|
|
@ -4927,7 +4927,6 @@ ssl_dissect_hnd_hello_ext_npn(ssl_common_dissect_t *hf, tvbuff_t *tvb,
|
|||
ext_len--;
|
||||
|
||||
if (npn_length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, npn_length);
|
||||
proto_tree_add_item(npn_tree, hf->hf.hs_ext_npn_str,
|
||||
tvb, offset, npn_length, ENC_ASCII|ENC_NA);
|
||||
offset += npn_length;
|
||||
|
@ -4957,7 +4956,6 @@ ssl_dissect_hnd_hello_ext_reneg_info(ssl_common_dissect_t *hf, tvbuff_t *tvb,
|
|||
offset += 1;
|
||||
|
||||
if (reneg_info_length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, reneg_info_length);
|
||||
proto_tree_add_text(reneg_info_tree, tvb, offset, reneg_info_length, "Renegotiation Info");
|
||||
offset += reneg_info_length;
|
||||
}
|
||||
|
@ -4997,7 +4995,6 @@ ssl_dissect_hnd_hello_ext_server_name(ssl_common_dissect_t *hf, tvbuff_t *tvb,
|
|||
ext_len -= 2;
|
||||
|
||||
if (server_name_length > 0) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, server_name_length);
|
||||
proto_tree_add_item(server_name_tree, hf->hf.hs_ext_server_name,
|
||||
tvb, offset, server_name_length, ENC_ASCII|ENC_NA);
|
||||
offset += server_name_length;
|
||||
|
@ -5780,7 +5777,6 @@ ssl_dissect_hnd_hello_ext_elliptic_curves(ssl_common_dissect_t *hf, tvbuff_t *tv
|
|||
tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
|
||||
offset += 2;
|
||||
tvb_ensure_bytes_exist(tvb, offset, curves_length);
|
||||
ti = proto_tree_add_none_format(tree,
|
||||
hf->hf.hs_ext_elliptic_curves,
|
||||
tvb, offset, curves_length,
|
||||
|
@ -5815,7 +5811,6 @@ ssl_dissect_hnd_hello_ext_ec_point_formats(ssl_common_dissect_t *hf, tvbuff_t *t
|
|||
tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
offset += 1;
|
||||
tvb_ensure_bytes_exist(tvb, offset, ecpf_length);
|
||||
ti = proto_tree_add_none_format(tree,
|
||||
hf->hf.hs_ext_elliptic_curves,
|
||||
tvb, offset, ecpf_length,
|
||||
|
|
|
@ -2615,7 +2615,6 @@ dissect_ssl2_hnd_client_hello(tvbuff_t *tvb, packet_info *pinfo,
|
|||
if (tree)
|
||||
{
|
||||
/* tell the user how many cipher specs they've won */
|
||||
tvb_ensure_bytes_exist(tvb, offset, cipher_spec_length);
|
||||
ti = proto_tree_add_none_format(tree, dissect_ssl3_hf.hf.hs_cipher_suites,
|
||||
tvb, offset, cipher_spec_length,
|
||||
"Cipher Specs (%u specs)",
|
||||
|
@ -2642,16 +2641,12 @@ dissect_ssl2_hnd_client_hello(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* if there's a session id, show it */
|
||||
if (session_id_length > 0)
|
||||
{
|
||||
if (tree)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, session_id_length);
|
||||
proto_tree_add_bytes_format(tree,
|
||||
proto_tree_add_bytes_format(tree,
|
||||
dissect_ssl3_hf.hf.hs_session_id,
|
||||
tvb, offset, session_id_length,
|
||||
NULL, "Session ID (%u byte%s)",
|
||||
session_id_length,
|
||||
plurality(session_id_length, "", "s"));
|
||||
}
|
||||
|
||||
/* PAOLO: get session id and reset session state for key [re]negotiation */
|
||||
if (ssl)
|
||||
|
@ -2667,10 +2662,7 @@ dissect_ssl2_hnd_client_hello(tvbuff_t *tvb, packet_info *pinfo,
|
|||
/* if there's a challenge, show it */
|
||||
if (challenge_length > 0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, challenge_length);
|
||||
|
||||
if (tree)
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_challenge,
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_challenge,
|
||||
tvb, offset, challenge_length, ENC_NA);
|
||||
if (ssl)
|
||||
{
|
||||
|
@ -2745,7 +2737,6 @@ dissect_pct_msg_client_hello(tvbuff_t *tvb,
|
|||
offset += 2;
|
||||
|
||||
if (CH_CIPHER_SPECS_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CH_CIPHER_SPECS_LENGTH);
|
||||
CH_CIPHER_SPECS_ti = proto_tree_add_item(tree, hf_pct_handshake_cipher_spec, tvb, offset, CH_CIPHER_SPECS_LENGTH, ENC_NA);
|
||||
CH_CIPHER_SPECS_tree = proto_item_add_subtree(CH_CIPHER_SPECS_ti, ett_pct_cipher_suites);
|
||||
|
||||
|
@ -2760,7 +2751,6 @@ dissect_pct_msg_client_hello(tvbuff_t *tvb,
|
|||
}
|
||||
|
||||
if (CH_HASH_SPECS_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CH_HASH_SPECS_LENGTH);
|
||||
CH_HASH_SPECS_ti = proto_tree_add_item(tree, hf_pct_handshake_hash_spec, tvb, offset, CH_HASH_SPECS_LENGTH, ENC_NA);
|
||||
CH_HASH_SPECS_tree = proto_item_add_subtree(CH_HASH_SPECS_ti, ett_pct_hash_suites);
|
||||
|
||||
|
@ -2771,7 +2761,6 @@ dissect_pct_msg_client_hello(tvbuff_t *tvb,
|
|||
}
|
||||
|
||||
if (CH_CERT_SPECS_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CH_CERT_SPECS_LENGTH);
|
||||
CH_CERT_SPECS_ti = proto_tree_add_item(tree, hf_pct_handshake_cert_spec, tvb, offset, CH_CERT_SPECS_LENGTH, ENC_NA);
|
||||
CH_CERT_SPECS_tree = proto_item_add_subtree(CH_CERT_SPECS_ti, ett_pct_cert_suites);
|
||||
|
||||
|
@ -2782,7 +2771,6 @@ dissect_pct_msg_client_hello(tvbuff_t *tvb,
|
|||
}
|
||||
|
||||
if (CH_EXCH_SPECS_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CH_EXCH_SPECS_LENGTH);
|
||||
CH_EXCH_SPECS_ti = proto_tree_add_item(tree, hf_pct_handshake_exch_spec, tvb, offset, CH_EXCH_SPECS_LENGTH, ENC_NA);
|
||||
CH_EXCH_SPECS_tree = proto_item_add_subtree(CH_EXCH_SPECS_ti, ett_pct_exch_suites);
|
||||
|
||||
|
@ -2793,7 +2781,6 @@ dissect_pct_msg_client_hello(tvbuff_t *tvb,
|
|||
}
|
||||
|
||||
if (CH_KEY_ARG_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CH_KEY_ARG_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CH_KEY_ARG_LENGTH, "IV data (%d bytes)", CH_KEY_ARG_LENGTH);
|
||||
}
|
||||
}
|
||||
|
@ -2889,19 +2876,16 @@ dissect_pct_msg_server_hello(tvbuff_t *tvb, proto_tree *tree, guint32 offset, pa
|
|||
}
|
||||
|
||||
if (SH_CERT_SPECS_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, SH_CERT_SPECS_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, SH_CERT_SPECS_LENGTH, "Client CERT_SPECS (%d bytes)", SH_CERT_SPECS_LENGTH);
|
||||
offset += SH_CERT_SPECS_LENGTH;
|
||||
}
|
||||
|
||||
if (SH_CLIENT_SIG_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, SH_CLIENT_SIG_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, SH_CLIENT_SIG_LENGTH, "Client Signature (%d bytes)", SH_CLIENT_SIG_LENGTH);
|
||||
offset += SH_CLIENT_SIG_LENGTH;
|
||||
}
|
||||
|
||||
if (SH_RESPONSE_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, SH_RESPONSE_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, SH_RESPONSE_LENGTH, "Server Response (%d bytes)", SH_RESPONSE_LENGTH);
|
||||
}
|
||||
|
||||
|
@ -2946,32 +2930,26 @@ dissect_pct_msg_client_master_key(tvbuff_t *tvb, proto_tree *tree, guint32 offse
|
|||
offset += 2;
|
||||
|
||||
if (CMK_CLEAR_KEY_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_CLEAR_KEY_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_CLEAR_KEY_LENGTH, "Clear Key data (%d bytes)", CMK_CLEAR_KEY_LENGTH);
|
||||
offset += CMK_CLEAR_KEY_LENGTH;
|
||||
}
|
||||
if (CMK_ENCRYPTED_KEY_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_ENCRYPTED_KEY_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_ENCRYPTED_KEY_LENGTH, "Encrypted Key data (%d bytes)", CMK_ENCRYPTED_KEY_LENGTH);
|
||||
offset += CMK_ENCRYPTED_KEY_LENGTH;
|
||||
}
|
||||
if (CMK_KEY_ARG_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_KEY_ARG_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_KEY_ARG_LENGTH, "IV data (%d bytes)", CMK_KEY_ARG_LENGTH);
|
||||
offset += CMK_KEY_ARG_LENGTH;
|
||||
}
|
||||
if (CMK_VERIFY_PRELUDE) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_VERIFY_PRELUDE);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_VERIFY_PRELUDE, "Verify Prelude data (%d bytes)", CMK_VERIFY_PRELUDE);
|
||||
offset += CMK_VERIFY_PRELUDE;
|
||||
}
|
||||
if (CMK_CLIENT_CERT_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_CLIENT_CERT_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_CLIENT_CERT_LENGTH, "Client Certificate data (%d bytes)", CMK_CLIENT_CERT_LENGTH);
|
||||
offset += CMK_CLIENT_CERT_LENGTH;
|
||||
}
|
||||
if (CMK_RESPONSE_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, CMK_RESPONSE_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, CMK_RESPONSE_LENGTH, "Response data (%d bytes)", CMK_RESPONSE_LENGTH);
|
||||
}
|
||||
}
|
||||
|
@ -2993,7 +2971,6 @@ dissect_pct_msg_server_verify(tvbuff_t *tvb,
|
|||
offset += 2;
|
||||
|
||||
if (SV_RESPONSE_LENGTH) {
|
||||
tvb_ensure_bytes_exist(tvb, offset, SV_RESPONSE_LENGTH);
|
||||
proto_tree_add_text(tree, tvb, offset, SV_RESPONSE_LENGTH, "Server Response (%d bytes)", SV_RESPONSE_LENGTH);
|
||||
}
|
||||
}
|
||||
|
@ -3083,7 +3060,6 @@ dissect_ssl2_hnd_client_master_key(tvbuff_t *tvb,
|
|||
/* show the variable length fields */
|
||||
if (clear_key_length > 0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, clear_key_length);
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_clear_key,
|
||||
tvb, offset, clear_key_length, ENC_NA);
|
||||
offset += clear_key_length;
|
||||
|
@ -3091,7 +3067,6 @@ dissect_ssl2_hnd_client_master_key(tvbuff_t *tvb,
|
|||
|
||||
if (encrypted_key_length > 0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, encrypted_key_length);
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_enc_key,
|
||||
tvb, offset, encrypted_key_length, ENC_NA);
|
||||
offset += encrypted_key_length;
|
||||
|
@ -3099,7 +3074,6 @@ dissect_ssl2_hnd_client_master_key(tvbuff_t *tvb,
|
|||
|
||||
if (key_arg_length > 0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, key_arg_length);
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_key_arg,
|
||||
tvb, offset, key_arg_length, ENC_NA);
|
||||
}
|
||||
|
@ -3192,7 +3166,6 @@ dissect_ssl2_hnd_server_hello(tvbuff_t *tvb,
|
|||
if (cipher_spec_length > 0)
|
||||
{
|
||||
/* provide a collapsing node for the cipher specs */
|
||||
tvb_ensure_bytes_exist(tvb, offset, cipher_spec_length);
|
||||
ti = proto_tree_add_none_format(tree,
|
||||
dissect_ssl3_hf.hf.hs_cipher_suites,
|
||||
tvb, offset, cipher_spec_length,
|
||||
|
@ -3217,7 +3190,6 @@ dissect_ssl2_hnd_server_hello(tvbuff_t *tvb,
|
|||
|
||||
if (connection_id_length > 0)
|
||||
{
|
||||
tvb_ensure_bytes_exist(tvb, offset, connection_id_length);
|
||||
proto_tree_add_item(tree, hf_ssl2_handshake_connection_id,
|
||||
tvb, offset, connection_id_length, ENC_NA);
|
||||
}
|
||||
|
|
|
@ -1794,7 +1794,6 @@ add_headers (proto_tree *tree, tvbuff_t *tvb, int hf, packet_info *pinfo)
|
|||
if (val_id >= 0x20 && val_id <=0x7E) { /* OK! */
|
||||
val_str = (gchar *)tvb_get_stringz_enc(wmem_packet_scope(), tvb, val_start, (gint *)&val_len, ENC_ASCII);
|
||||
offset = val_start + val_len;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset-hdr_start);
|
||||
proto_tree_add_text(wsp_headers,tvb,hdr_start,offset-hdr_start,
|
||||
"%s: %s", hdr_str, val_str);
|
||||
} else {
|
||||
|
@ -1830,7 +1829,6 @@ add_headers (proto_tree *tree, tvbuff_t *tvb, int hf, packet_info *pinfo)
|
|||
}
|
||||
offset = tvb_len;
|
||||
}
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
hidden_item = proto_tree_add_string(wsp_headers, hf_hdr_name,
|
||||
tvb, hdr_start, offset - hdr_start, hdr_str);
|
||||
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||
|
@ -1960,12 +1958,10 @@ add_headers (proto_tree *tree, tvbuff_t *tvb, int hf, packet_info *pinfo)
|
|||
proto_item_append_text(ti, \
|
||||
" <Error: Invalid header value>"); \
|
||||
} else if (hf > 0) { /* Create protocol tree item */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
proto_tree_add_string(tree, hf, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
" <Error: Invalid header value>"); \
|
||||
} else { /* Create anonymous header field entry */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
proto_tree_add_text(tree, tvb, hdr_start, offset - hdr_start, \
|
||||
"%s: <Error: Invalid header value>", \
|
||||
val_to_str_ext (hdr_id, &vals_field_names_ext, \
|
||||
|
@ -1987,19 +1983,16 @@ wkh_default(proto_tree *tree, tvbuff_t *tvb,
|
|||
ok = TRUE; /* Bypass error checking as we don't parse the values! */
|
||||
|
||||
wkh_1_WellKnownValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text (tree, tvb, hdr_start, offset - hdr_start,
|
||||
"%s: (Undecoded well-known value 0x%02x)",
|
||||
val_to_str_ext (hdr_id, &vals_field_names_ext,
|
||||
"<Unknown WSP header field 0x%02X>"), val_id & 0x7F);
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text(tree, tvb, hdr_start, offset - hdr_start,
|
||||
"%s: %s",
|
||||
val_to_str_ext (hdr_id, &vals_field_names_ext,
|
||||
"<Unknown WSP header field 0x%02X>"), val_str);
|
||||
wkh_3_ValueWithLength;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text (tree, tvb, hdr_start, offset - hdr_start,
|
||||
"%s: (Undecoded value in general form with length indicator)",
|
||||
val_to_str_ext (hdr_id, &vals_field_names_ext,
|
||||
|
@ -2021,7 +2014,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
proto_tree *parameter_tree = NULL; \
|
||||
\
|
||||
wkh_1_WellKnownValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val_id & 0x7F, &vals_content_types_ext, \
|
||||
|
@ -2031,12 +2023,10 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
/* Sometimes with a No-Content response, a NULL content type \
|
||||
* is reported. Process this correctly! */ \
|
||||
if (*val_str) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_str); \
|
||||
} else { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
"<no content type has been specified>"); \
|
||||
|
@ -2049,14 +2039,12 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
get_extension_media(val_str, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
off += len; /* off now points to 1st byte after string */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string (tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
} \
|
||||
} else if (is_integer_value(peek)) { \
|
||||
get_integer_value(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val, &vals_content_types_ext, \
|
||||
|
@ -2137,7 +2125,6 @@ add_content_type(proto_tree *tree, tvbuff_t *tvb, guint32 val_start,
|
|||
DebugLog(("add_content_type() - Well-known - Start\n"));
|
||||
*textual_content = val_to_str_ext(val_id & 0x7F, &vals_content_types_ext,
|
||||
"<Unknown media type identifier 0x%X>");
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_type,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
*textual_content);
|
||||
|
@ -2149,14 +2136,12 @@ add_content_type(proto_tree *tree, tvbuff_t *tvb, guint32 val_start,
|
|||
/* Sometimes with a No-Content response, a NULL content type
|
||||
* is reported. Process this correctly! */
|
||||
if (*val_str) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_type,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_str);
|
||||
*textual_content = g_strdup(val_str);
|
||||
*well_known_content = 0;
|
||||
} else {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_type,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
"<no media type has been specified>");
|
||||
|
@ -2174,7 +2159,6 @@ add_content_type(proto_tree *tree, tvbuff_t *tvb, guint32 val_start,
|
|||
get_extension_media(val_str, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
off += len; /* off now points to 1st byte after string */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string (tree, hf_hdr_content_type,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
}
|
||||
|
@ -2187,7 +2171,6 @@ add_content_type(proto_tree *tree, tvbuff_t *tvb, guint32 val_start,
|
|||
if (ok) {
|
||||
*textual_content = val_to_str_ext(val, &vals_content_types_ext,
|
||||
"<Unknown media type identifier 0x%X>");
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_type,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
*textual_content);
|
||||
|
@ -2226,14 +2209,12 @@ wkh_ ## underscored (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_
|
|||
proto_tree *parameter_tree = NULL; \
|
||||
\
|
||||
wkh_1_WellKnownValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val_id & 0x7F, valueStringExtAddr, \
|
||||
"<Unknown " valueName " identifier 0x%X>")); \
|
||||
ok = TRUE; \
|
||||
wkh_2_TextualValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
|
@ -2244,14 +2225,12 @@ wkh_ ## underscored (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_
|
|||
get_token_text(val_str, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
off += len; /* off now points to 1st byte after string */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string (tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
} \
|
||||
} else if (is_integer_value(peek)) { \
|
||||
get_integer_value(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val, valueStringExtAddr, \
|
||||
|
@ -2296,7 +2275,6 @@ wkh_push_flag(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *p
|
|||
proto_tree *subtree = NULL;
|
||||
|
||||
wkh_1_WellKnownValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_push_flag,
|
||||
tvb, hdr_start, offset - hdr_start, "");
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -2342,7 +2320,6 @@ static guint32 wkh_profile_diff_wbxml (proto_tree *tree, tvbuff_t *tvb,
|
|||
wkh_2_TextualValueInv;
|
||||
/* Invalid */
|
||||
wkh_3_ValueWithLength;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_profile_diff, tvb, hdr_start, offset - hdr_start,
|
||||
"(Profile-Diff value as WBXML)");
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -2365,7 +2342,6 @@ wkh_allow(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *apinf
|
|||
wkh_1_WellKnownValue;
|
||||
val_id &= 0x7F;
|
||||
if (val_id >= 0x40) { /* Valid WSP method */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_allow,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_to_str_ext(val_id & 0x7F, &wsp_vals_pdu_type_ext,
|
||||
|
@ -2392,7 +2368,6 @@ wkh_public(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *apin
|
|||
wkh_1_WellKnownValue;
|
||||
val_id &= 0x7F;
|
||||
if (val_id >= 0x40) { /* Valid WSP method */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_public,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_to_str_ext(val_id & 0x7F, &wsp_vals_pdu_type_ext,
|
||||
|
@ -2400,7 +2375,6 @@ wkh_public(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *apin
|
|||
ok = TRUE;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_public,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2420,14 +2394,12 @@ wkh_vary(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinfo
|
|||
wkh_0_Declarations;
|
||||
|
||||
wkh_1_WellKnownValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_vary,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_to_str_ext(val_id & 0x7F, &vals_field_names_ext,
|
||||
"<Unknown WSP header field 0x%02X>"));
|
||||
ok = TRUE;
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_vary,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_str);
|
||||
|
@ -2448,7 +2420,6 @@ wkh_x_wap_security(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_in
|
|||
|
||||
wkh_1_WellKnownValue;
|
||||
if (val_id == 0x80) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_x_wap_security,
|
||||
tvb, hdr_start, offset - hdr_start, "close-subordinate");
|
||||
ok = TRUE;
|
||||
|
@ -2471,13 +2442,11 @@ wkh_connection(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *
|
|||
|
||||
wkh_1_WellKnownValue;
|
||||
if (val_id == 0x80) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_connection,
|
||||
tvb, hdr_start, offset - hdr_start, "close");
|
||||
ok = TRUE;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_connection,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2497,13 +2466,11 @@ wkh_transfer_encoding(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet
|
|||
|
||||
wkh_1_WellKnownValue;
|
||||
if (val_id == 0x80) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_transfer_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "chunked");
|
||||
ok = TRUE;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_transfer_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2524,20 +2491,17 @@ wkh_accept_ranges(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
wkh_1_WellKnownValue;
|
||||
switch (val_id) {
|
||||
case 0x80: /* none */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_ranges,
|
||||
tvb, hdr_start, offset - hdr_start, "none");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x81: /* bytes */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_ranges,
|
||||
tvb, hdr_start, offset - hdr_start, "bytes");
|
||||
ok = TRUE;
|
||||
break;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_ranges,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2558,26 +2522,22 @@ wkh_content_encoding(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_
|
|||
wkh_1_WellKnownValue;
|
||||
switch (val_id) {
|
||||
case 0x80: /* gzip */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "gzip");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x81: /* compress */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "compress");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x82: /* deflate */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "deflate");
|
||||
ok = TRUE;
|
||||
break;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2605,32 +2565,27 @@ wkh_accept_encoding(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
wkh_1_WellKnownValue;
|
||||
switch (val_id) {
|
||||
case 0x80: /* gzip */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "gzip");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x81: /* compress */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "compress");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x82: /* deflate */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "deflate");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x83: /* * */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "*");
|
||||
ok = TRUE;
|
||||
break;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2640,25 +2595,21 @@ wkh_accept_encoding(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
if (is_short_integer(peek)) {
|
||||
switch (peek) {
|
||||
case 0x80: /* gzip */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "gzip");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x81: /* compress */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "compress");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x82: /* deflate */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "deflate");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x83: /* any */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, "*");
|
||||
ok = TRUE;
|
||||
|
@ -2668,7 +2619,6 @@ wkh_accept_encoding(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
} else {
|
||||
get_token_text(str, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_accept_encoding,
|
||||
tvb, hdr_start, offset - hdr_start, str);
|
||||
}
|
||||
|
@ -2713,19 +2663,16 @@ wkh_content_disposition(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, pack
|
|||
if (is_short_integer(peek)) {
|
||||
switch (peek) {
|
||||
case 0x80: /* form-data */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_disposition,
|
||||
tvb, hdr_start, offset - hdr_start, "form-data");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x81: /* attachment */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_disposition,
|
||||
tvb, hdr_start, offset - hdr_start, "attachment");
|
||||
ok = TRUE;
|
||||
break;
|
||||
case 0x82: /* inline */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_disposition,
|
||||
tvb, hdr_start, offset - hdr_start, "inline");
|
||||
ok = TRUE;
|
||||
|
@ -2735,7 +2682,6 @@ wkh_content_disposition(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, pack
|
|||
} else {
|
||||
get_token_text(str, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_disposition,
|
||||
tvb, hdr_start, offset - hdr_start, str);
|
||||
}
|
||||
|
@ -2765,7 +2711,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
wkh_1_WellKnownValue; \
|
||||
/* Invalid */ \
|
||||
wkh_2_TextualValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
|
@ -2812,11 +2757,9 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
} else { /* OK (no trailing quote) */ \
|
||||
str = wmem_strdup_printf(wmem_packet_scope(), "%s\"", val_str); \
|
||||
} \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
} else { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
proto_item_append_text(ti, \
|
||||
|
@ -2846,7 +2789,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
wkh_1_WellKnownValue; \
|
||||
/* Invalid */ \
|
||||
wkh_2_TextualValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
|
@ -2855,7 +2797,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
get_date_value(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
str = abs_time_secs_to_str(wmem_packet_scope(), val, ABSOLUTE_TIME_LOCAL, TRUE); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
/* BEHOLD: do NOT try to free str, as \
|
||||
|
@ -2890,7 +2831,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
get_date_value(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
str = abs_time_secs_to_str(wmem_packet_scope(), val, ABSOLUTE_TIME_LOCAL, TRUE); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
/* BEHOLD: do NOT try to free str, as \
|
||||
|
@ -2919,7 +2859,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
\
|
||||
wkh_1_WellKnownValue; \
|
||||
if (val_id == 0x80) { /* Openwave TOD header uses this format */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
"Requesting Time Of Day"); \
|
||||
|
@ -2937,13 +2876,11 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
get_date_value(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
if (val == 0) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
"Requesting Time Of Day"); \
|
||||
} else { \
|
||||
str = abs_time_secs_to_str(wmem_packet_scope(), val, ABSOLUTE_TIME_LOCAL, TRUE); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
} \
|
||||
|
@ -2967,7 +2904,6 @@ wkh_age(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinfo _
|
|||
wkh_1_WellKnownValue;
|
||||
val = val_id & 0x7F;
|
||||
val_str = wmem_strdup_printf(wmem_packet_scope(), "%u second%s", val, plurality(val, "", "s"));
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_age,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -2978,7 +2914,6 @@ wkh_age(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinfo _
|
|||
get_long_integer(val, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
val_str = wmem_strdup_printf(wmem_packet_scope(), "%u second%s", val, plurality(val, "", "s"));
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_age,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
}
|
||||
|
@ -2998,14 +2933,12 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
guint32 off = val_start, len; \
|
||||
\
|
||||
wkh_1_WellKnownValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val_id & 0x7F, valueStringExtAddr, \
|
||||
"(Unknown " valueName " identifier 0x%X)")); \
|
||||
ok = TRUE; \
|
||||
wkh_2_TextualValue; \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
|
@ -3014,7 +2947,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
len = tvb_get_guint8(tvb,off); \
|
||||
ok = (len >= 1 && len <= 4); /* Valid lengths for us are 1-4 */ \
|
||||
if (ok) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext(val_id & 0x7F, valueStringExtAddr, \
|
||||
|
@ -3066,7 +2998,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, \
|
|||
off = val_start + val_len_len; \
|
||||
peek = tvb_get_guint8(tvb, off); \
|
||||
if (peek == 0x80) { /* Basic */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, "basic"); \
|
||||
subtree = proto_item_add_subtree(ti, ett_header); \
|
||||
|
@ -3086,11 +3017,9 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, \
|
|||
} else { /* Authentication-scheme: token-text */ \
|
||||
get_token_text(str, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, off - hdr_start, str); \
|
||||
subtree = proto_item_add_subtree(ti, ett_header); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
proto_tree_add_string(subtree, \
|
||||
hf_hdr_ ## underscored ## _scheme, \
|
||||
tvb, hdr_start, off - hdr_start, str); \
|
||||
|
@ -3145,7 +3074,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, \
|
|||
off = val_start + val_len_len; \
|
||||
peek = tvb_get_guint8(tvb, off); \
|
||||
if (peek == 0x80) { /* Basic */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, "basic"); \
|
||||
subtree = proto_item_add_subtree(ti, ett_header); \
|
||||
|
@ -3175,7 +3103,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, \
|
|||
} else { /* Authentication-scheme: token-text */ \
|
||||
get_token_text(str, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, off - hdr_start, str); \
|
||||
subtree = proto_item_add_subtree(ti, ett_header); \
|
||||
|
@ -3232,7 +3159,6 @@ wkh_content_md5 (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info
|
|||
tvb_get_guint8(tvb, off + 14),
|
||||
tvb_get_guint8(tvb, off + 15)
|
||||
);
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_md5,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -3252,7 +3178,6 @@ wkh_pragma(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinf
|
|||
|
||||
wkh_1_WellKnownValue;
|
||||
if (val_id == 0x80) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_pragma,
|
||||
tvb, hdr_start, offset - hdr_start, "no-cache");
|
||||
ok = TRUE;
|
||||
|
@ -3261,7 +3186,6 @@ wkh_pragma(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinf
|
|||
/* Invalid */
|
||||
wkh_3_ValueWithLength;
|
||||
off = val_start + val_len_len;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_pragma,
|
||||
tvb, hdr_start, off - hdr_start, "");
|
||||
/* NULL subtree for parameter() results in no subtree
|
||||
|
@ -3286,7 +3210,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
\
|
||||
wkh_1_WellKnownValue; \
|
||||
str = wmem_strdup_printf(wmem_packet_scope(), "%u", val_id & 0x7F); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
ok = TRUE; \
|
||||
|
@ -3297,7 +3220,6 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
get_long_integer(val, tvb, off, len, ok); \
|
||||
if (ok) { \
|
||||
str = wmem_strdup_printf(wmem_packet_scope(), "%u", val); \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, str); \
|
||||
} \
|
||||
|
@ -3319,12 +3241,10 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
wkh_1_WellKnownValue; \
|
||||
val_str = try_val_to_str_ext(val_id & 0x7F, valueStringExtAddr); \
|
||||
if (val_str) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
} else { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
"<Unknown " valueName ">"); \
|
||||
|
@ -3338,12 +3258,10 @@ wkh_ ## underscored(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
if (ok) { \
|
||||
val_str = try_val_to_str_ext(val_id & 0x7F, valueStringExtAddr); \
|
||||
if (val_str) { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, val_str); \
|
||||
ok = TRUE; \
|
||||
} else { \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
ti = proto_tree_add_string(tree, hf_hdr_ ## underscored, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
"<Unknown " valueName ">"); \
|
||||
|
@ -3372,13 +3290,11 @@ wkh_cache_control(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
val = val_id & 0x7F;
|
||||
val_str = try_val_to_str_ext(val, &vals_cache_control_ext);
|
||||
if (val_str) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_cache_control,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
}
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_cache_control,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -3396,7 +3312,6 @@ wkh_cache_control(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
switch (cache_control_directive & 0x7F) {
|
||||
case CACHE_CONTROL_NO_CACHE:
|
||||
case CACHE_CONTROL_PRIVATE:
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_cache_control,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_to_str_ext (cache_control_directive & 0x7F, &vals_cache_control_ext,
|
||||
|
@ -3424,7 +3339,6 @@ wkh_cache_control(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
case CACHE_CONTROL_MAX_STALE:
|
||||
case CACHE_CONTROL_MIN_FRESH:
|
||||
case CACHE_CONTROL_S_MAXAGE:
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_cache_control,
|
||||
tvb, hdr_start, offset - hdr_start,
|
||||
val_to_str_ext (cache_control_directive & 0x7F, &vals_cache_control_ext,
|
||||
|
@ -3444,7 +3358,6 @@ wkh_cache_control(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
} else if (is_token_text(cache_control_directive)) {
|
||||
get_token_text(val_str, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_cache_control,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
get_integer_value(val, tvb, off, len, ok);
|
||||
|
@ -3495,7 +3408,6 @@ wkh_warning(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pin
|
|||
val = val_id & 0x7F;
|
||||
val_str = try_val_to_str_ext(val, &vals_wsp_warning_code_ext);
|
||||
if (val_str) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_warning,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -3514,7 +3426,6 @@ wkh_warning(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pin
|
|||
val_str = try_val_to_str_ext(val, &vals_wsp_warning_code_short_ext);
|
||||
if (val_str) { /* OK */
|
||||
str = wmem_strdup_printf(wmem_packet_scope(), "code=%s", val_str);
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_warning,
|
||||
tvb, hdr_start, offset - hdr_start, str);
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -3561,7 +3472,6 @@ wkh_profile_warning(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
val = val_id & 0x7F;
|
||||
val_str = try_val_to_str_ext(val, &vals_wsp_profile_warning_code_ext);
|
||||
if (val_str) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_profile_warning,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -3574,7 +3484,6 @@ wkh_profile_warning(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_i
|
|||
if (warn_code & 0x80) { /* Well known warn code */
|
||||
val_str = try_val_to_str_ext(val, &vals_wsp_profile_warning_code_ext);
|
||||
if (val_str) { /* OK */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_profile_warning,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
get_uri_value(str, tvb, off, len, ok);
|
||||
|
@ -3619,12 +3528,10 @@ static guint32 wkh_encoding_version (proto_tree *tree, tvbuff_t *tvb,
|
|||
wkh_1_WellKnownValue;
|
||||
val = val_id & 0x7F;
|
||||
val_str = wmem_strdup_printf(wmem_packet_scope(), "%u.%u", val >> 4, val & 0x0F);
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
proto_tree_add_string(tree, hf_hdr_encoding_version,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
proto_tree_add_string(tree, hf_hdr_encoding_version,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
ok = TRUE;
|
||||
|
@ -3633,7 +3540,6 @@ static guint32 wkh_encoding_version (proto_tree *tree, tvbuff_t *tvb,
|
|||
val = tvb_get_guint8(tvb, off);
|
||||
if (val & 0x80) { /* Header Code Page */
|
||||
val_str = wmem_strdup_printf(wmem_packet_scope(), "code-page=%u", val & 0x7F);
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_encoding_version,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
off++;
|
||||
|
@ -3670,7 +3576,6 @@ wkh_content_range(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_inf
|
|||
get_uintvar_integer (val, tvb, off, len, ok); /* Uintvar start */
|
||||
if (ok) {
|
||||
val_str = wmem_strdup_printf(wmem_packet_scope(), "first-byte-pos=%u", val);
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_content_range,
|
||||
tvb, hdr_start, offset - hdr_start, val_str);
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -3717,7 +3622,6 @@ wkh_range(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinfo
|
|||
off = val_start + val_len_len;
|
||||
val = tvb_get_guint8(tvb, off);
|
||||
if (val == 0x80) { /* Byte-range */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_range,
|
||||
tvb, hdr_start, offset - hdr_start, "byte-range");
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -3742,7 +3646,6 @@ wkh_range(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_info *pinfo
|
|||
}
|
||||
}
|
||||
} else if (val == 0x81) { /* Suffix-byte-range */
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_range,
|
||||
tvb, hdr_start, offset - hdr_start, "suffix-byte-range");
|
||||
subtree = proto_item_add_subtree(ti, ett_header);
|
||||
|
@ -3771,7 +3674,6 @@ static guint32 wkh_te (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packe
|
|||
|
||||
wkh_1_WellKnownValue;
|
||||
if (val_id == 0x81) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
proto_tree_add_string(tree, hf_hdr_encoding_version,
|
||||
tvb, hdr_start, offset - hdr_start, "trailers");
|
||||
ok = TRUE;
|
||||
|
@ -3784,7 +3686,6 @@ static guint32 wkh_te (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packe
|
|||
if (val & 0x80) { /* Well-known-TE */
|
||||
val_str = try_val_to_str_ext((val & 0x7F), &vals_well_known_te_ext);
|
||||
if (val_str) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_te,
|
||||
tvb, hdr_start, off - hdr_start, val_str);
|
||||
off++;
|
||||
|
@ -3793,7 +3694,6 @@ static guint32 wkh_te (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packe
|
|||
} else { /* TE in Token-text format */
|
||||
get_token_text(val_str, tvb, off, len, ok);
|
||||
if (ok) {
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_string(tree, hf_hdr_te,
|
||||
tvb, hdr_start, off - hdr_start, val_str);
|
||||
off += len;
|
||||
|
@ -3820,7 +3720,6 @@ static guint32 wkh_te (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packe
|
|||
*/
|
||||
#undef wkh_1_WellKnownValue
|
||||
#define wkh_1_WellKnownValue /* Parse Well Known Value */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
hidden_item = proto_tree_add_string(tree, hf_hdr_name, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
val_to_str_ext (hdr_id, &vals_openwave_field_names_ext, \
|
||||
|
@ -3846,12 +3745,10 @@ static guint32 wkh_te (proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packe
|
|||
proto_item_append_text(ti, \
|
||||
"<Error: Invalid header value>"); \
|
||||
} else if (hf > 0) { /* Create protocol tree item */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
proto_tree_add_string(tree, hf, \
|
||||
tvb, hdr_start, offset - hdr_start, \
|
||||
" <Error: Invalid header value>"); \
|
||||
} else { /* Create anonymous header field entry */ \
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start); \
|
||||
proto_tree_add_text(tree, tvb, hdr_start, offset - hdr_start, \
|
||||
"%s: <Error: Invalid header value>", \
|
||||
val_to_str_ext (hdr_id, &vals_openwave_field_names_ext, \
|
||||
|
@ -3870,19 +3767,16 @@ wkh_openwave_default(proto_tree *tree, tvbuff_t *tvb, guint32 hdr_start, packet_
|
|||
ok = TRUE; /* Bypass error checking as we don't parse the values! */
|
||||
|
||||
wkh_1_WellKnownValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text(tree, tvb, hdr_start, offset - hdr_start,
|
||||
"%s: (Undecoded well-known value 0x%02x)",
|
||||
val_to_str_ext (hdr_id, &vals_openwave_field_names_ext,
|
||||
"<Unknown WSP header field 0x%02X>"), val_id & 0x7F);
|
||||
wkh_2_TextualValue;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text(tree,tvb,hdr_start, offset - hdr_start,
|
||||
"%s: %s",
|
||||
val_to_str_ext (hdr_id, &vals_openwave_field_names_ext,
|
||||
"<Unknown WSP header field 0x%02X>"), val_str);
|
||||
wkh_3_ValueWithLength;
|
||||
tvb_ensure_bytes_exist(tvb, hdr_start, offset - hdr_start);
|
||||
ti = proto_tree_add_text(tree, tvb, hdr_start, offset - hdr_start,
|
||||
"%s: (Undecoded value in general form with length indicator)",
|
||||
val_to_str_ext (hdr_id, &vals_openwave_field_names_ext,
|
||||
|
@ -4062,12 +3956,10 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
if (is_quoted_string(val_str[0])) { /* Add trailing quote! */
|
||||
if (is_quoted_string(val_str[val_len-2])) {
|
||||
/* Trailing quote - issue a warning */
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"%s: %s" TrailingQuoteWarning, str, val_str);
|
||||
s = wmem_strdup_printf(wmem_packet_scope(), "; %s=%s", str, val_str);
|
||||
} else { /* OK (no trailing quote) */
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"%s: %s\"", str, val_str);
|
||||
s = wmem_strdup_printf(wmem_packet_scope(), "; %s=%s\"", str, val_str);
|
||||
|
@ -4075,7 +3967,6 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
} else { /* Token-text | 0x00 */
|
||||
/* TODO - verify that it is either Token-text or 0x00
|
||||
* and flag with warning if invalid */
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"%s: %s", str, val_str);
|
||||
s = wmem_strdup_printf(wmem_packet_scope(), "; %s=%s", str, val_str);
|
||||
|
@ -4091,7 +3982,6 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
get_integer_value (val,tvb,offset,val_len,ok);
|
||||
if (ok) { /* Also found a valid integer parameter value: val */
|
||||
offset += val_len;
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"%s: %u", str, val);
|
||||
s = wmem_strdup_printf(wmem_packet_scope(), "; %s=%u", str, val);
|
||||
|
@ -4101,7 +3991,6 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
* protocol tree for the untyped parameter case */
|
||||
} else { /* Error: neither token-text not Integer-value */
|
||||
DebugLog(("Invalid untyped parameter value!\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text (tree, tvb, start, offset - start,
|
||||
"<Error: Invalid untyped parameter definition>");
|
||||
offset = start + len; /* Skip to end of buffer */
|
||||
|
@ -4117,7 +4006,6 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
DebugLog(("parameter() - Typed - Start\n"));
|
||||
get_integer_value (type,tvb,start,type_len,ok);
|
||||
if (!ok) {
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text (tree, tvb, start, offset - start,
|
||||
"<Error: Invalid typed parameter definition>");
|
||||
return (start + len); /* Skip to end of buffer */
|
||||
|
@ -4194,7 +4082,6 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
} /* Else: invalid parameter value */
|
||||
}
|
||||
if (ok) {
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_string (tree, hf_wsp_parameter_upart_type,
|
||||
tvb, start, offset - start, val_str);
|
||||
str = wmem_strdup_printf(wmem_packet_scope(), "; type=%s", val_str);
|
||||
|
@ -4314,56 +4201,48 @@ parameter (proto_tree *tree, proto_item *ti, tvbuff_t *tvb, int start, int len)
|
|||
|
||||
case 0x07: /* WSP 1.1 encoding - Differences: Field-name */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Differences - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x08: /* WSP 1.1 encoding - Padding: Short-integer */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Padding - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x0E: /* WSP 1.3 encoding - Max-Age: Delta-seconds-value */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Max-Age - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x10: /* WSP 1.3 encoding - Secure: No-value */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Secure - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x13: /* WSP 1.4 encoding - Creation-date: Date-value */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Creation-Date - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x14: /* WSP 1.4 encoding - Modification-date: Date-value */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Modification-Date - decoding stopped");
|
||||
break;
|
||||
|
||||
case 0x15: /* WSP 1.4 encoding - Read-date: Date-value */
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter Read-Date - decoding stopped");
|
||||
break;
|
||||
|
||||
default:
|
||||
DebugLog(("Skipping remaining parameters from here\n"));
|
||||
tvb_ensure_bytes_exist(tvb, start, offset - start);
|
||||
proto_tree_add_text(tree, tvb, start, offset - start,
|
||||
"Undecoded parameter type 0x%02x - decoding stopped",
|
||||
type);
|
||||
|
@ -4873,7 +4752,6 @@ dissect_sir(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
tvb, offset, len, val_len);
|
||||
offset += len;
|
||||
/* ProvURL */
|
||||
tvb_ensure_bytes_exist(tvb, offset, val_len);
|
||||
proto_tree_add_item (tree, hf_sir_prov_url,
|
||||
tvb, offset, val_len, ENC_ASCII|ENC_NA);
|
||||
offset += val_len;
|
||||
|
@ -5413,7 +5291,6 @@ add_uri (proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_uint (tree, hf_wsp_header_uri_len,
|
||||
tvb, URILenOffset, count, uriLen);
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, URIOffset, uriLen);
|
||||
proto_tree_add_item (tree, hf_wsp_header_uri,
|
||||
tvb, URIOffset, uriLen, ENC_ASCII|ENC_NA);
|
||||
|
||||
|
@ -5886,7 +5763,6 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
|
|||
DataLen = tvb_get_guintvar (tvb, offset, &count);
|
||||
offset += count;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, part_start, HeadersLen + DataLen + (offset - part_start));
|
||||
ti = proto_tree_add_uint(sub_tree, hf_wsp_mpart, tvb, part_start,
|
||||
HeadersLen + DataLen + (offset - part_start), partnr);
|
||||
mpart_tree = proto_item_add_subtree(ti, ett_multiparts);
|
||||
|
|
Loading…
Reference in New Issue