summaryrefslogtreecommitdiff
path: root/epan
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2006-05-08 19:56:36 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2006-05-08 19:56:36 +0000
commitabefaf32bf4fdadb723cbf5583db0981a1d409a6 (patch)
tree91e01718c5e48e92aa5c5db210908daded959205 /epan
parent146d22767c001cdc283b8f5e05f48250b8d9d61e (diff)
downloadwireshark-abefaf32bf4fdadb723cbf5583db0981a1d409a6.tar.gz
Basic Encoding Rules (BER) encoded file reading. Not really a packet trace format but still useful for dissecting arbitrary BER/DER ASN.1.
svn path=/trunk/; revision=18110
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-ber.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index 3155ed89cb..4ed6577bcc 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -2285,6 +2285,20 @@ int dissect_ber_bitstring32(gboolean implicit_tag, packet_info *pinfo, proto_tre
return offset;
}
+static void
+dissect_ber(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+
+ if (check_col(pinfo->cinfo, COL_INFO)) {
+ col_clear(pinfo->cinfo, COL_INFO);
+ col_append_fstr(pinfo->cinfo, COL_INFO, "%s", "Unknown BER");
+ }
+
+ (void) dissect_unknown_ber(pinfo, tvb, 0, tree);
+
+}
+
+
void
proto_register_ber(void)
{
@@ -2388,5 +2402,11 @@ proto_register_ber(void)
void
proto_reg_handoff_ber(void)
{
+ dissector_handle_t ber_handle;
+
register_ber_oid_name("2.1.1","joint-iso-itu-t(2) asn1(1) basic-encoding(1)");
+
+ ber_handle = create_dissector_handle(dissect_ber, proto_ber);
+ dissector_add("wtap_encap", WTAP_ENCAP_BER, ber_handle);
+
}