forked from osmocom/wireshark
Make dissector handle unexpected data better.
svn path=/trunk/; revision=28875
This commit is contained in:
parent
789089dfd2
commit
98fa965a00
|
@ -435,7 +435,7 @@ dissect_hip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||||
control_h = tvb_get_ntohs(tvb, newoffset);
|
control_h = tvb_get_ntohs(tvb, newoffset);
|
||||||
newoffset += 2;
|
newoffset += 2;
|
||||||
|
|
||||||
col_set_str(pinfo->cinfo, COL_INFO, match_strval(hiph_packet_type, pinfo_vals));
|
col_set_str(pinfo->cinfo, COL_INFO, val_to_str(hiph_packet_type, pinfo_vals, "Unknown"));
|
||||||
|
|
||||||
/* populate a tree in the second pane with the status of the link layer (i.e. none) */
|
/* populate a tree in the second pane with the status of the link layer (i.e. none) */
|
||||||
if(tree) {
|
if(tree) {
|
||||||
|
@ -534,7 +534,7 @@ dissect_hip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||||
ti_tlv = proto_tree_add_uint_format(hip_tlv_tree, hf_hip_type, tvb,
|
ti_tlv = proto_tree_add_uint_format(hip_tlv_tree, hf_hip_type, tvb,
|
||||||
offset, 4 + tlv_length_h, tlv_type_h,
|
offset, 4 + tlv_length_h, tlv_type_h,
|
||||||
"%s (type=%u, length=%u)",
|
"%s (type=%u, length=%u)",
|
||||||
match_strval(tlv_type_h, hip_param_vals),
|
val_to_str(tlv_type_h, hip_param_vals, "Unknown"),
|
||||||
tlv_type_h, tlv_length_h);
|
tlv_type_h, tlv_length_h);
|
||||||
|
|
||||||
/* Parse value */
|
/* Parse value */
|
||||||
|
@ -720,7 +720,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
/* First Group ID*/
|
/* First Group ID*/
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_dh_group_id, tvb, newoffset,
|
proto_tree_add_uint_format(t, hf_hip_tlv_dh_group_id, tvb, newoffset,
|
||||||
1, n, "%u (%s)", n,
|
1, n, "%u (%s)", n,
|
||||||
match_strval(n, dh_group_id_vals));
|
val_to_str(n, dh_group_id_vals, "Unknown"));
|
||||||
/* First Public value len */
|
/* First Public value len */
|
||||||
newoffset++;
|
newoffset++;
|
||||||
pv_len = tvb_get_ntohs(tvb, newoffset);
|
pv_len = tvb_get_ntohs(tvb, newoffset);
|
||||||
|
@ -735,7 +735,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
newoffset += pv_len;
|
newoffset += pv_len;
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_dh_group_id, tvb, newoffset,
|
proto_tree_add_uint_format(t, hf_hip_tlv_dh_group_id, tvb, newoffset,
|
||||||
1, n, "%u (%s)", n,
|
1, n, "%u (%s)", n,
|
||||||
match_strval(n, dh_group_id_vals));
|
val_to_str(n, dh_group_id_vals, "Unknown"));
|
||||||
/* Second Public value len */
|
/* Second Public value len */
|
||||||
newoffset += 1;
|
newoffset += 1;
|
||||||
pv_len = tvb_get_ntohs(tvb, newoffset);
|
pv_len = tvb_get_ntohs(tvb, newoffset);
|
||||||
|
@ -758,7 +758,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
trans = tvb_get_ntohs(tvb, newoffset);
|
trans = tvb_get_ntohs(tvb, newoffset);
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_trans_id, tvb,
|
proto_tree_add_uint_format(t, hf_hip_tlv_trans_id, tvb,
|
||||||
newoffset, 2, trans, "%u (%s)", trans,
|
newoffset, 2, trans, "%u (%s)", trans,
|
||||||
match_strval(trans, transform_id_vals));
|
val_to_str(trans, transform_id_vals, "Unknown"));
|
||||||
tlv_len -= 2;
|
tlv_len -= 2;
|
||||||
newoffset += 2;
|
newoffset += 2;
|
||||||
}
|
}
|
||||||
|
@ -771,7 +771,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
trans = tvb_get_ntohs(tvb, newoffset);
|
trans = tvb_get_ntohs(tvb, newoffset);
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_trans_id, tvb,
|
proto_tree_add_uint_format(t, hf_hip_tlv_trans_id, tvb,
|
||||||
newoffset, 2, trans, "%u (%s)", trans,
|
newoffset, 2, trans, "%u (%s)", trans,
|
||||||
match_strval(trans, transform_id_vals));
|
val_to_str(trans, transform_id_vals, "Unknown"));
|
||||||
tlv_len -= 2;
|
tlv_len -= 2;
|
||||||
newoffset += 2;
|
newoffset += 2;
|
||||||
}
|
}
|
||||||
|
@ -788,7 +788,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
trans = tvb_get_ntohs(tvb, newoffset);
|
trans = tvb_get_ntohs(tvb, newoffset);
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_nat_traversal_mode_id, tvb,
|
proto_tree_add_uint_format(t, hf_hip_tlv_nat_traversal_mode_id, tvb,
|
||||||
newoffset, 2, trans, "%u (%s)", trans,
|
newoffset, 2, trans, "%u (%s)", trans,
|
||||||
match_strval(trans, mode_id_vals));
|
val_to_str(trans, mode_id_vals, "Unknown"));
|
||||||
tlv_len -= 2;
|
tlv_len -= 2;
|
||||||
newoffset += 2;
|
newoffset += 2;
|
||||||
}
|
}
|
||||||
|
@ -1010,7 +1010,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
reg_type = tvb_get_guint8(tvb, newoffset);
|
reg_type = tvb_get_guint8(tvb, newoffset);
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_reg_type, tvb,
|
proto_tree_add_uint_format(t, hf_hip_tlv_reg_type, tvb,
|
||||||
newoffset, 1, reg_type, "%u (%s)", reg_type,
|
newoffset, 1, reg_type, "%u (%s)", reg_type,
|
||||||
match_strval(reg_type, reg_type_vals));
|
val_to_str(reg_type, reg_type_vals, "Unknown"));
|
||||||
/* one byte per registration type */
|
/* one byte per registration type */
|
||||||
tlv_len--;
|
tlv_len--;
|
||||||
newoffset++;
|
newoffset++;
|
||||||
|
@ -1031,7 +1031,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
|
||||||
n = tvb_get_guint8(tvb, offset+4);
|
n = tvb_get_guint8(tvb, offset+4);
|
||||||
proto_tree_add_uint_format(t, hf_hip_tlv_sig_alg, tvb, newoffset, 1,
|
proto_tree_add_uint_format(t, hf_hip_tlv_sig_alg, tvb, newoffset, 1,
|
||||||
n, "%u (%s)", n,
|
n, "%u (%s)", n,
|
||||||
match_strval(n, sig_alg_vals));
|
val_to_str(n, sig_alg_vals, "Unknown"));
|
||||||
newoffset++;
|
newoffset++;
|
||||||
/* Signature */
|
/* Signature */
|
||||||
proto_tree_add_item(t, hf_hip_tlv_sig, tvb, newoffset, tlv_len-1,
|
proto_tree_add_item(t, hf_hip_tlv_sig, tvb, newoffset, tlv_len-1,
|
||||||
|
|
Loading…
Reference in New Issue