diff options
author | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2006-05-08 19:56:36 +0000 |
---|---|---|
committer | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2006-05-08 19:56:36 +0000 |
commit | abefaf32bf4fdadb723cbf5583db0981a1d409a6 (patch) | |
tree | 91e01718c5e48e92aa5c5db210908daded959205 /epan | |
parent | 146d22767c001cdc283b8f5e05f48250b8d9d61e (diff) | |
download | wireshark-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.c | 20 |
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); + } |