aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-02-27 16:13:57 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-02-27 16:13:57 +0000
commit3a3c255a308a29ecc103a21f153d5c7611e4d326 (patch)
treeeb75bb0d86f22a016b84a8fcad7bd62f93564b35 /asn1
parent96ade54c5478f768446494e9c953e5831bd47703 (diff)
Dissect IPAddressFamily
svn path=/trunk/; revision=24487
Diffstat (limited to 'asn1')
-rw-r--r--asn1/pkix1explicit/packet-pkix1explicit-template.c15
-rw-r--r--asn1/pkix1explicit/pkix1explicit.cnf15
2 files changed, 30 insertions, 0 deletions
diff --git a/asn1/pkix1explicit/packet-pkix1explicit-template.c b/asn1/pkix1explicit/packet-pkix1explicit-template.c
index 0bc2a50881..331d4cb5e1 100644
--- a/asn1/pkix1explicit/packet-pkix1explicit-template.c
+++ b/asn1/pkix1explicit/packet-pkix1explicit-template.c
@@ -33,6 +33,7 @@
#include <epan/conversation.h>
#include <epan/asn1.h>
#include <epan/oids.h>
+#include <epan/afn.h>
#include <stdio.h>
#include <string.h>
@@ -50,6 +51,11 @@
/* Initialize the protocol and registered fields */
static int proto_pkix1explicit = -1;
static int hf_pkix1explicit_object_identifier_id = -1;
+static int hf_pkix1explicit_addressFamily_afn = -1;
+static int hf_pkix1explicit_addressFamily_safi = -1;
+
+static int ett_pkix1explicit_addressFamily = -1;
+
#include "packet-pkix1explicit-hf.c"
/* Initialize the subtree pointers */
@@ -108,11 +114,20 @@ void proto_register_pkix1explicit(void) {
{ &hf_pkix1explicit_object_identifier_id,
{ "Id", "pkix1explicit.id", FT_STRING, BASE_NONE, NULL, 0,
"Object identifier Id", HFILL }},
+
+ { &hf_pkix1explicit_addressFamily_afn,
+ { "Address family(AFN)", "pkix1explicit.addressfamily", FT_UINT16, BASE_DEC, VALS(afn_vals), 0,
+ "Address family(AFN)", HFILL }},
+
+ { &hf_pkix1explicit_addressFamily_safi,
+ { "Subsequent Address Family Identifiers (SAFI)", "pkix1explicit.addressfamily.safi", FT_UINT16, BASE_DEC, NULL, 0,
+ "Subsequent Address Family Identifiers (SAFI) RFC4760", HFILL }},
#include "packet-pkix1explicit-hfarr.c"
};
/* List of subtrees */
static gint *ett[] = {
+ &ett_pkix1explicit_addressFamily,
#include "packet-pkix1explicit-ettarr.c"
};
diff --git a/asn1/pkix1explicit/pkix1explicit.cnf b/asn1/pkix1explicit/pkix1explicit.cnf
index 4bf981ec68..66ecd6a935 100644
--- a/asn1/pkix1explicit/pkix1explicit.cnf
+++ b/asn1/pkix1explicit/pkix1explicit.cnf
@@ -62,6 +62,21 @@ ASIdentifiers B "1.3.6.1.5.5.7.1.8" "id-pe-autonomousSysIds"
offset = dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, &ind);
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+# IPAddrAndASCertExtn
+
+#.FN_BODY IPAddressFamily/addressFamily VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_pkix1explicit_addressFamily);
+ proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_afn, parameter_tvb, 0, 2, FALSE);
+ if(tvb_length(parameter_tvb)>2)
+ proto_tree_add_item(subtree, hf_pkix1explicit_addressFamily_safi, parameter_tvb, 0, 2, FALSE);
+
#.END