From ada3d25242692bfd188dcc808022e4035a75c246 Mon Sep 17 00:00:00 2001 From: gal Date: Sun, 28 Jan 2007 10:12:51 +0000 Subject: Fix for per-domain-bilateral-information (bilateral-information field wasn't handled). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20583 f5534014-38df-0310-8fa8-9805f1628bb7 --- asn1/x411/packet-x411-template.c | 2 ++ asn1/x411/x411.asn | 3 ++- asn1/x411/x411.cnf | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'asn1') diff --git a/asn1/x411/packet-x411-template.c b/asn1/x411/packet-x411-template.c index cfe2be393c..307ed8c7aa 100644 --- a/asn1/x411/packet-x411-template.c +++ b/asn1/x411/packet-x411-template.c @@ -76,6 +76,7 @@ call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *p /* Initialize the subtree pointers */ static gint ett_x411 = -1; static gint ett_x411_content_unknown = -1; +static gint ett_x411_bilateral_information = -1; #include "packet-x411-ett.c" #include "packet-x411-fn.c" @@ -212,6 +213,7 @@ void proto_register_x411(void) { static gint *ett[] = { &ett_x411, &ett_x411_content_unknown, + &ett_x411_bilateral_information, #include "packet-x411-ettarr.c" }; diff --git a/asn1/x411/x411.asn b/asn1/x411/x411.asn index 6828d00b55..241957b8b2 100644 --- a/asn1/x411/x411.asn +++ b/asn1/x411/x411.asn @@ -386,7 +386,8 @@ PerDomainBilateralInformation ::= SEQUENCE { SEQUENCE {administration-domain-name [0] AdministrationDomainName, private-domain-identifier - [1] PrivateDomainIdentifier}} + [1] PrivateDomainIdentifier}}, + bilateral-information ANY } MTARecipientName ::= ORAddressAndOptionalDirectoryName diff --git a/asn1/x411/x411.cnf b/asn1/x411/x411.cnf index b5b50338d0..f649b593c4 100644 --- a/asn1/x411/x411.cnf +++ b/asn1/x411/x411.cnf @@ -681,5 +681,19 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" offset=call_x411_oid_callback("x411.tokendata", tvb, offset, pinfo, tree); +#.FN_BODY T_bilateral_information + proto_item *item = NULL; + int loffset = 0; + guint32 len = 0; + /* work out the length */ + loffset = dissect_ber_identifier(pinfo, tree, tvb, offset, NULL, NULL, NULL); + (void) dissect_ber_length(pinfo, tree, tvb, loffset, &len, NULL); + + /* create some structure so we can tell what this unknown ASN.1 represents */ + item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE); + tree = proto_item_add_subtree(item, ett_x411_bilateral_information); + + offset = dissect_unknown_ber(pinfo, tvb, offset, tree); + #.END -- cgit v1.2.3