aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-12-12 22:59:43 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2004-12-12 22:59:43 +0000
commit97f465c157c4566095a96e04ee6e7b18c5ef5205 (patch)
treef80db0c98bb4c73a31d9cc0c49741896e16ba480 /epan
parent896737c467cb848e51a9b55b123637c37f8e92a1 (diff)
make the unknown_ber helper try to dissect NumericString and ENUMERATED when it encounters them
svn path=/trunk/; revision=12733
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-ber.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index 289b93c4e0..a243d4a194 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -60,9 +60,11 @@ static gint hf_ber_length = -1;
static gint hf_ber_bitstring_padding = -1;
static gint hf_ber_unknown_OID = -1;
static gint hf_ber_unknown_OCTETSTRING = -1;
+static gint hf_ber_unknown_NumericString = -1;
static gint hf_ber_unknown_PrintableString = -1;
static gint hf_ber_unknown_IA5String = -1;
static gint hf_ber_unknown_INTEGER = -1;
+static gint hf_ber_unknown_ENUMERATED = -1;
static gint ett_ber_octet_string = -1;
static gint ett_ber_unknown = -1;
@@ -195,6 +197,9 @@ dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tree *t
case BER_UNI_TAG_INTEGER:
offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_INTEGER, NULL);
break;
+ case BER_UNI_TAG_ENUMERATED:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_ENUMERATED, NULL);
+ break;
case BER_UNI_TAG_OCTETSTRING:
offset = dissect_ber_octet_string(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_OCTETSTRING, NULL);
break;
@@ -208,6 +213,9 @@ dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tree *t
}
offset=dissect_unknown_ber(pinfo, tvb, offset, next_tree);
break;
+ case BER_UNI_TAG_NumericString:
+ offset = dissect_ber_octet_string(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_NumericString, NULL);
+ break;
case BER_UNI_TAG_PrintableString:
offset = dissect_ber_octet_string(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_PrintableString, NULL);
break;
@@ -1589,6 +1597,9 @@ proto_register_ber(void)
{ &hf_ber_unknown_OID, {
"OID", "ber.unknown.OID", FT_STRING, BASE_NONE,
NULL, 0, "This is an unknown Object Identifier", HFILL }},
+ { &hf_ber_unknown_NumericString, {
+ "NumericString", "ber.unknown.NumericString", FT_STRING, BASE_NONE,
+ NULL, 0, "This is an unknown NumericString", HFILL }},
{ &hf_ber_unknown_PrintableString, {
"PrintableString", "ber.unknown.PrintableString", FT_STRING, BASE_NONE,
NULL, 0, "This is an unknown PrintableString", HFILL }},
@@ -1598,6 +1609,9 @@ proto_register_ber(void)
{ &hf_ber_unknown_INTEGER, {
"INTEGER", "ber.unknown.INTEGER", FT_UINT32, BASE_DEC,
NULL, 0, "This is an unknown INTEGER", HFILL }},
+ { &hf_ber_unknown_ENUMERATED, {
+ "ENUMERATED", "ber.unknown.ENUMERATED", FT_UINT32, BASE_DEC,
+ NULL, 0, "This is an unknown ENUMERATED", HFILL }},
};