aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-12-16 06:47:22 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-12-16 06:47:22 +0000
commit483ec5bd0548f9720551737670c163fba32c3a8e (patch)
tree9bcacac0d821309d6bc8e8d748dddb8791e40eb4 /epan/dissectors
parent163252a41c8f6ce7b233de6db317422647757d04 (diff)
From Graeme Lunt:
* DOP - This has now been successfully tested and so is now enabled by default and workaround code removed. Also now uses the correct EXPORTs from the other modules/dissectors. * X509SAT - Most of the selected attributes are now supported in addition to the DirectoryString syntax attributes. This includes restoring the correct DirectoryString syntax and also providing the basic syntaxes (e.g. OBJECT IDENTIFIER, PrintableString). The latter requires a sed line in the Makefile which I assume should be OK? Not all the SAT can be defined in x509sat - so some have been included in x509if and x509af - though x509sat.cnf contains the master list and references the other dissectors where appropriate. (I still prefer a syntax registration approach but I don't think that is going to be agreed in the short term.) * X509IF - a mechanism to register some formating, based upon the hf_index, that is used in the cnf file. * A couple of fixes identified by Stig. svn path=/trunk/; revision=16814
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-dap.c284
-rw-r--r--epan/dissectors/packet-dap.h1
-rw-r--r--epan/dissectors/packet-disp.c33
-rw-r--r--epan/dissectors/packet-disp.h7
-rw-r--r--epan/dissectors/packet-dop.c128
-rw-r--r--epan/dissectors/packet-dop.h3
-rw-r--r--epan/dissectors/packet-ros.c6
-rw-r--r--epan/dissectors/packet-ros.h2
-rw-r--r--epan/dissectors/packet-rtse.c8
-rw-r--r--epan/dissectors/packet-rtse.h2
-rw-r--r--epan/dissectors/packet-x411.c2
-rw-r--r--epan/dissectors/packet-x411.h2
-rw-r--r--epan/dissectors/packet-x509if.c119
-rw-r--r--epan/dissectors/packet-x509if.h5
-rw-r--r--epan/dissectors/packet-x509sat.c599
-rw-r--r--epan/dissectors/packet-x509sat.h3
16 files changed, 834 insertions, 370 deletions
diff --git a/epan/dissectors/packet-dap.c b/epan/dissectors/packet-dap.c
index f08af813c1..66277f7ff5 100644
--- a/epan/dissectors/packet-dap.c
+++ b/epan/dissectors/packet-dap.c
@@ -53,6 +53,7 @@
#include "packet-crmf.h"
#include "packet-dsp.h"
+#include "packet-disp.h"
#include "packet-dap.h"
#include <epan/strutil.h>
@@ -389,13 +390,6 @@ static int hf_dap_attributeInfo_item = -1; /* T_attributeInfo_item */
static int hf_dap_unsignedUpdateError = -1; /* UpdateErrorData */
static int hf_dap_signedUpdateError = -1; /* T_signedUpdateError */
static int hf_dap_updateError = -1; /* UpdateErrorData */
-static int hf_dap_identifier = -1; /* INTEGER */
-static int hf_dap_version = -1; /* INTEGER */
-static int hf_dap_teletexString = -1; /* TeletexString */
-static int hf_dap_printableString = -1; /* PrintableString */
-static int hf_dap_universalString = -1; /* UniversalString */
-static int hf_dap_bmpString = -1; /* BMPString */
-static int hf_dap_uTF8String = -1; /* UTF8String */
/* named bits */
static int hf_dap_ServiceControlOptions_preferChaining = -1;
static int hf_dap_ServiceControlOptions_chainingProhibited = -1;
@@ -439,7 +433,7 @@ static int hf_dap_SearchControlOptions_separateFamilyMembers = -1;
static int hf_dap_SearchControlOptions_searchFamily = -1;
/*--- End of included file: packet-dap-hf.c ---*/
-#line 69 "packet-dap-template.c"
+#line 70 "packet-dap-template.c"
/* Initialize the subtree pointers */
static gint ett_dap = -1;
@@ -612,11 +606,9 @@ static gint ett_dap_T_attributeInfo = -1;
static gint ett_dap_T_attributeInfo_item = -1;
static gint ett_dap_UpdateError = -1;
static gint ett_dap_T_signedUpdateError = -1;
-static gint ett_dap_OperationalBindingID = -1;
-static gint ett_dap_DirectoryString = -1;
/*--- End of included file: packet-dap-ett.c ---*/
-#line 73 "packet-dap-template.c"
+#line 74 "packet-dap-template.c"
/*--- Included file: packet-dap-fn.c ---*/
@@ -684,6 +676,9 @@ static int dissect_performer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
static int dissect_notification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_notification_item);
}
+static int dissect_agreementID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_disp_AgreementID(FALSE, tvb, offset, pinfo, tree, hf_dap_agreementID);
+}
static int dissect_select_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_select_item);
}
@@ -1159,22 +1154,8 @@ static int dissect_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
static int
dissect_dap_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 168 "dap.cnf"
- guint32 value;
-
- offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- &value);
-
-
- if (check_col(pinfo->cinfo, COL_INFO)) {
- if(hf_index == hf_dap_identifier) {
- col_append_fstr(pinfo->cinfo, COL_INFO, " id=%d", value);
- } else if (hf_index == hf_dap_version) {
- col_append_fstr(pinfo->cinfo, COL_INFO, ",%d", value);
- }
- }
-
-
+ offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
@@ -1205,12 +1186,6 @@ static int dissect_lowEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
static int dissect_extendedArea(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_extendedArea);
}
-static int dissect_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_identifier);
-}
-static int dissect_version(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_version);
-}
static const value_string dap_T_scopeOfReferral_vals[] = {
@@ -1244,7 +1219,7 @@ static const ber_choice_t Name_choice[] = {
static int
dissect_dap_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 269 "dap.cnf"
+#line 257 "dap.cnf"
const char *dn;
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
@@ -1281,33 +1256,6 @@ static int dissect_matched_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *
}
-static const ber_sequence_t OperationalBindingID_sequence[] = {
- { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_identifier },
- { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_version },
- { 0, 0, 0, NULL }
-};
-
-int
-dissect_dap_OperationalBindingID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- OperationalBindingID_sequence, hf_index, ett_dap_OperationalBindingID);
-
- return offset;
-}
-
-
-
-static int
-dissect_dap_AgreementID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_dap_OperationalBindingID(implicit_tag, tvb, offset, pinfo, tree, hf_index);
-
- return offset;
-}
-static int dissect_agreementID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_AgreementID(FALSE, tvb, offset, pinfo, tree, hf_dap_agreementID);
-}
-
-
static const ber_sequence_t T_manageDSAITPlaneRef_sequence[] = {
{ BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dsaName },
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_agreementID },
@@ -1864,7 +1812,7 @@ dissect_dap_FamilyEntries(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
static int
dissect_dap_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 113 "dap.cnf"
+#line 117 "dap.cnf"
proto_item *it;
it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE);
proto_item_append_text(it," XXX: Not yet implemented!");
@@ -1881,7 +1829,7 @@ static int dissect_initial(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
static int
dissect_dap_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 118 "dap.cnf"
+#line 122 "dap.cnf"
/* XXX: not yet implemented */
@@ -1896,7 +1844,7 @@ static int dissect_any(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int
static int
dissect_dap_T_final(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 121 "dap.cnf"
+#line 125 "dap.cnf"
/* XXX: not yet implemented */
@@ -1990,7 +1938,7 @@ static int dissect_matchingRule(packet_info *pinfo, proto_tree *tree, tvbuff_t *
static int
dissect_dap_T_matchValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 124 "dap.cnf"
+#line 128 "dap.cnf"
/* XXX: not yet implemented */
@@ -2161,7 +2109,7 @@ static int dissect_newRequest(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
static int
dissect_dap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 184 "dap.cnf"
+#line 172 "dap.cnf"
tvbuff_t *out_tvb;
int i;
int len;
@@ -2350,7 +2298,7 @@ static const ber_sequence_t SimpleCredentials_sequence[] = {
static int
dissect_dap_SimpleCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 158 "dap.cnf"
+#line 162 "dap.cnf"
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
SimpleCredentials_sequence, hf_index, ett_dap_SimpleCredentials);
@@ -2371,7 +2319,7 @@ static int dissect_simple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, i
static int
dissect_dap_T_bind_token(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 127 "dap.cnf"
+#line 131 "dap.cnf"
/* XXX: not yet implemented */
@@ -2406,7 +2354,7 @@ static int dissect_strong(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, i
static int
dissect_dap_T_req(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 130 "dap.cnf"
+#line 134 "dap.cnf"
/* XXX: not yet implemented */
@@ -2421,7 +2369,7 @@ static int dissect_req(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int
static int
dissect_dap_T_rep(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 133 "dap.cnf"
+#line 137 "dap.cnf"
/* XXX: not yet implemented */
@@ -2514,7 +2462,7 @@ static const ber_sequence_t DirectoryBindArgument_set[] = {
int
dissect_dap_DirectoryBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 139 "dap.cnf"
+#line 143 "dap.cnf"
guint32 len;
@@ -2573,7 +2521,7 @@ static const value_string dap_ServiceProblem_vals[] = {
static int
dissect_dap_ServiceProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 223 "dap.cnf"
+#line 211 "dap.cnf"
guint32 problem;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -2612,7 +2560,7 @@ static const value_string dap_SecurityProblem_vals[] = {
static int
dissect_dap_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 211 "dap.cnf"
+#line 199 "dap.cnf"
guint32 problem;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -3319,9 +3267,20 @@ static const ber_sequence_t T_subordinates_item_sequence[] = {
static int
dissect_dap_T_subordinates_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+#line 267 "dap.cnf"
+ proto_item *sub_item;
+
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
T_subordinates_item_sequence, hf_index, ett_dap_T_subordinates_item);
+
+ if((sub_item = get_ber_last_created_item())) {
+
+ proto_item_append_text(sub_item," (%s)", x509if_get_last_dn());
+ }
+
+
+
return offset;
}
static int dissect_subordinates_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@@ -3355,7 +3314,7 @@ static const value_string dap_LimitProblem_vals[] = {
static int
dissect_dap_LimitProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 247 "dap.cnf"
+#line 235 "dap.cnf"
guint32 problem;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -3571,7 +3530,7 @@ static const value_string dap_T_subset_vals[] = {
static int
dissect_dap_T_subset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 259 "dap.cnf"
+#line 247 "dap.cnf"
guint32 subset;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -3650,106 +3609,8 @@ static int dissect_searchControlOptions(packet_info *pinfo, proto_tree *tree, tv
static int
-dissect_dap_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_teletexString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_dap_teletexString);
-}
-
-
-
-static int
-dissect_dap_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_printableString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_dap_printableString);
-}
-
-
-
-static int
-dissect_dap_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_universalString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_UniversalString(FALSE, tvb, offset, pinfo, tree, hf_dap_universalString);
-}
-
-
-
-static int
-dissect_dap_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_bmpString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_BMPString(FALSE, tvb, offset, pinfo, tree, hf_dap_bmpString);
-}
-
-
-
-static int
-dissect_dap_UTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_uTF8String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_dap_UTF8String(FALSE, tvb, offset, pinfo, tree, hf_dap_uTF8String);
-}
-
-
-static const value_string dap_DirectoryString_vals[] = {
- { 0, "teletexString" },
- { 1, "printableString" },
- { 2, "universalString" },
- { 3, "bmpString" },
- { 4, "uTF8String" },
- { 0, NULL }
-};
-
-static const ber_choice_t DirectoryString_choice[] = {
- { 0, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletexString },
- { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printableString },
- { 2, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_universalString },
- { 3, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_bmpString },
- { 4, BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_uTF8String },
- { 0, 0, 0, 0, NULL }
-};
-
-static int
-dissect_dap_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_choice(pinfo, tree, tvb, offset,
- DirectoryString_choice, hf_index, ett_dap_DirectoryString,
- NULL);
-
- return offset;
-}
-
-
-
-static int
dissect_dap_DomainLocalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_dap_DirectoryString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+ offset = dissect_x509sat_DirectoryString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return offset;
}
@@ -3843,7 +3704,7 @@ static int dissect_joinAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t
static const ber_sequence_t JoinArgument_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_joinBaseObject },
- { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_domainLocalID },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_domainLocalID },
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_joinSubset },
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_joinFilter },
{ BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_joinAttributes },
@@ -5209,7 +5070,7 @@ dissect_dap_Referral(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packe
static int
dissect_dap_T_spkmInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 136 "dap.cnf"
+#line 140 "dap.cnf"
/* XXX: not yet implemented */
@@ -5371,7 +5232,7 @@ static const value_string dap_UpdateProblem_vals[] = {
static int
dissect_dap_UpdateProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 235 "dap.cnf"
+#line 223 "dap.cnf"
guint32 problem;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -5499,7 +5360,7 @@ dissect_dap_UpdateError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pa
/*--- End of included file: packet-dap-fn.c ---*/
-#line 75 "packet-dap-template.c"
+#line 76 "packet-dap-template.c"
/*
* Dissect DAP PDUs inside a ROS PDUs
@@ -5782,7 +5643,7 @@ void proto_register_dap(void) {
"", HFILL }},
{ &hf_dap_select_item,
{ "Item", "dap.select_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"", HFILL }},
{ &hf_dap_infoTypes,
{ "infoTypes", "dap.infoTypes",
@@ -5822,7 +5683,7 @@ void proto_register_dap(void) {
"ContextSelection/selectedContexts/_item", HFILL }},
{ &hf_dap_type,
{ "type", "dap.type",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"", HFILL }},
{ &hf_dap_contextAssertions,
{ "contextAssertions", "dap.contextAssertions",
@@ -5874,7 +5735,7 @@ void proto_register_dap(void) {
"EntryInformation/information/_item", HFILL }},
{ &hf_dap_attributeType,
{ "attributeType", "dap.attributeType",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"", HFILL }},
{ &hf_dap_attribute,
{ "attribute", "dap.attribute",
@@ -5990,7 +5851,7 @@ void proto_register_dap(void) {
"FilterItem/lessOrEqual", HFILL }},
{ &hf_dap_present,
{ "present", "dap.present",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"FilterItem/present", HFILL }},
{ &hf_dap_approximateMatch,
{ "approximateMatch", "dap.approximateMatch",
@@ -6314,7 +6175,7 @@ void proto_register_dap(void) {
"ModifyRights/_item/item/entry", HFILL }},
{ &hf_dap_attribute_type,
{ "attribute", "dap.attribute",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"ModifyRights/_item/item/attribute", HFILL }},
{ &hf_dap_value_assertion,
{ "value", "dap.value",
@@ -6346,7 +6207,7 @@ void proto_register_dap(void) {
"CompareResultData/matched", HFILL }},
{ &hf_dap_matchedSubtype,
{ "matchedSubtype", "dap.matchedSubtype",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"CompareResultData/matchedSubtype", HFILL }},
{ &hf_dap_unsignedCompareResult,
{ "unsignedCompareResult", "dap.unsignedCompareResult",
@@ -6570,7 +6431,7 @@ void proto_register_dap(void) {
"JoinArgument/joinBaseObject", HFILL }},
{ &hf_dap_domainLocalID,
{ "domainLocalID", "dap.domainLocalID",
- FT_UINT32, BASE_DEC, VALS(dap_DirectoryString_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"JoinArgument/domainLocalID", HFILL }},
{ &hf_dap_joinSubset,
{ "joinSubset", "dap.joinSubset",
@@ -6594,11 +6455,11 @@ void proto_register_dap(void) {
"JoinArgument/joinSelection", HFILL }},
{ &hf_dap_baseAtt,
{ "baseAtt", "dap.baseAtt",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"JoinAttPair/baseAtt", HFILL }},
{ &hf_dap_joinAtt,
{ "joinAtt", "dap.joinAtt",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"JoinAttPair/joinAtt", HFILL }},
{ &hf_dap_joinContext,
{ "joinContext", "dap.joinContext",
@@ -6754,7 +6615,7 @@ void proto_register_dap(void) {
"EntryModification/addAttribute", HFILL }},
{ &hf_dap_removeAttribute,
{ "removeAttribute", "dap.removeAttribute",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"EntryModification/removeAttribute", HFILL }},
{ &hf_dap_addValues,
{ "addValues", "dap.addValues",
@@ -6770,7 +6631,7 @@ void proto_register_dap(void) {
"EntryModification/alterValues", HFILL }},
{ &hf_dap_resetValue,
{ "resetValue", "dap.resetValue",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"EntryModification/resetValue", HFILL }},
{ &hf_dap_newRDN,
{ "newRDN", "dap.newRDN",
@@ -6956,34 +6817,6 @@ void proto_register_dap(void) {
{ "updateError", "dap.updateError",
FT_NONE, BASE_NONE, NULL, 0,
"UpdateError/signedUpdateError/updateError", HFILL }},
- { &hf_dap_identifier,
- { "identifier", "dap.identifier",
- FT_INT32, BASE_DEC, NULL, 0,
- "OperationalBindingID/identifier", HFILL }},
- { &hf_dap_version,
- { "version", "dap.version",
- FT_INT32, BASE_DEC, NULL, 0,
- "OperationalBindingID/version", HFILL }},
- { &hf_dap_teletexString,
- { "teletexString", "dap.teletexString",
- FT_STRING, BASE_NONE, NULL, 0,
- "DirectoryString/teletexString", HFILL }},
- { &hf_dap_printableString,
- { "printableString", "dap.printableString",
- FT_STRING, BASE_NONE, NULL, 0,
- "DirectoryString/printableString", HFILL }},
- { &hf_dap_universalString,
- { "universalString", "dap.universalString",
- FT_STRING, BASE_NONE, NULL, 0,
- "DirectoryString/universalString", HFILL }},
- { &hf_dap_bmpString,
- { "bmpString", "dap.bmpString",
- FT_STRING, BASE_NONE, NULL, 0,
- "DirectoryString/bmpString", HFILL }},
- { &hf_dap_uTF8String,
- { "uTF8String", "dap.uTF8String",
- FT_STRING, BASE_NONE, NULL, 0,
- "DirectoryString/uTF8String", HFILL }},
{ &hf_dap_ServiceControlOptions_preferChaining,
{ "preferChaining", "dap.preferChaining",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -7146,7 +6979,7 @@ void proto_register_dap(void) {
"", HFILL }},
/*--- End of included file: packet-dap-hfarr.c ---*/
-#line 277 "packet-dap-template.c"
+#line 278 "packet-dap-template.c"
};
/* List of subtrees */
@@ -7321,11 +7154,9 @@ void proto_register_dap(void) {
&ett_dap_T_attributeInfo_item,
&ett_dap_UpdateError,
&ett_dap_T_signedUpdateError,
- &ett_dap_OperationalBindingID,
- &ett_dap_DirectoryString,
/*--- End of included file: packet-dap-ettarr.c ---*/
-#line 283 "packet-dap-template.c"
+#line 284 "packet-dap-template.c"
};
module_t *dap_module;
@@ -7373,6 +7204,15 @@ void proto_reg_handoff_dap(void) {
/* remember the tpkt handler for change in preferences */
tpkt_handle = find_dissector("tpkt");
+ /* AttributeValueAssertions */
+ x509if_register_fmt(hf_dap_equality, "=");
+ x509if_register_fmt(hf_dap_greaterOrEqual, ">=");
+ x509if_register_fmt(hf_dap_lessOrEqual, "<=");
+ x509if_register_fmt(hf_dap_approximateMatch, "=~");
+ /* AttributeTypes */
+ x509if_register_fmt(hf_dap_present, "= *");
+
+
}
diff --git a/epan/dissectors/packet-dap.h b/epan/dissectors/packet-dap.h
index d9d5b59dad..667ffe097a 100644
--- a/epan/dissectors/packet-dap.h
+++ b/epan/dissectors/packet-dap.h
@@ -97,7 +97,6 @@ int dissect_dap_Referral(gboolean implicit_tag, tvbuff_t *tvb, int offset, packe
int dissect_dap_SecurityError(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
int dissect_dap_ServiceError(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
int dissect_dap_UpdateError(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
-int dissect_dap_OperationalBindingID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
/*--- End of included file: packet-dap-exp.h ---*/
#line 30 "packet-dap-template.h"
diff --git a/epan/dissectors/packet-disp.c b/epan/dissectors/packet-disp.c
index 4f55192ceb..1332e05d81 100644
--- a/epan/dissectors/packet-disp.c
+++ b/epan/dissectors/packet-disp.c
@@ -411,9 +411,9 @@ dissect_disp_ModificationParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int
-static int
+int
dissect_disp_AgreementID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_dap_OperationalBindingID(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+ offset = dissect_dop_OperationalBindingID(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return offset;
}
@@ -527,7 +527,7 @@ static int dissect_classAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_
static const ber_sequence_t ClassAttributeSelection_sequence[] = {
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_class },
- { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_classAttributes },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_classAttributes },
{ 0, 0, 0, NULL }
};
@@ -859,7 +859,7 @@ static const value_string disp_StandardUpdate_vals[] = {
static int
dissect_disp_StandardUpdate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 73 "disp.cnf"
+#line 69 "disp.cnf"
guint32 update;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -1081,7 +1081,7 @@ static const ber_choice_t CoordinateShadowUpdateResult_choice[] = {
static int
dissect_disp_CoordinateShadowUpdateResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 85 "disp.cnf"
+#line 81 "disp.cnf"
guint32 update;
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
@@ -1108,7 +1108,7 @@ static const value_string disp_T_standard_vals[] = {
static int
dissect_disp_T_standard(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 49 "disp.cnf"
+#line 45 "disp.cnf"
guint32 update;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -1231,7 +1231,7 @@ static const ber_choice_t RequestShadowUpdateResult_choice[] = {
static int
dissect_disp_RequestShadowUpdateResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 97 "disp.cnf"
+#line 93 "disp.cnf"
guint32 update;
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
@@ -1586,7 +1586,7 @@ static const ber_choice_t RefreshInformation_choice[] = {
static int
dissect_disp_RefreshInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 61 "disp.cnf"
+#line 57 "disp.cnf"
guint32 update;
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
@@ -1686,7 +1686,7 @@ static const ber_choice_t UpdateShadowResult_choice[] = {
static int
dissect_disp_UpdateShadowResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 109 "disp.cnf"
+#line 105 "disp.cnf"
guint32 update;
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
@@ -1722,7 +1722,7 @@ static const value_string disp_ShadowProblem_vals[] = {
static int
dissect_disp_ShadowProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 121 "disp.cnf"
+#line 117 "disp.cnf"
guint32 problem;
offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
@@ -1734,7 +1734,6 @@ dissect_disp_ShadowProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
}
-
return offset;
}
static int dissect_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@@ -2065,7 +2064,7 @@ void proto_register_disp(void) {
"ClassAttributes/exclude", HFILL }},
{ &hf_disp_AttributeTypes_item,
{ "Item", "disp.AttributeTypes_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"AttributeTypes/_item", HFILL }},
{ &hf_disp_supplierInitiated,
{ "supplierInitiated", "disp.supplierInitiated",
@@ -2289,7 +2288,7 @@ void proto_register_disp(void) {
"", HFILL }},
{ &hf_disp_attValIncomplete_item,
{ "Item", "disp.attValIncomplete_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_OID, BASE_NONE, NULL, 0,
"", HFILL }},
{ &hf_disp_rdn,
{ "rdn", "disp.rdn",
@@ -2486,11 +2485,6 @@ void proto_reg_handoff_disp(void) {
register_ber_oid_dissector("dop.establish.roleb.2.5.19.1", dissect_EstablishParameter_PDU, proto_disp, "shadow-establish-roleb");
register_ber_oid_dissector("dop.modify.rolea.2.5.19.1", dissect_ModificationParameter_PDU, proto_disp, "shadow-modify-rolea");
register_ber_oid_dissector("dop.modify.roleb.2.5.19.1", dissect_ModificationParameter_PDU, proto_disp, "shadow-modify-roleb");
- register_ber_oid_dissector("dop.agreement.2.5.1.0.2.1", dissect_ShadowingAgreementInfo_PDU, proto_disp, "shadow-agreement");
- register_ber_oid_dissector("dop.establish.rolea.2.5.1.0.2.1", dissect_EstablishParameter_PDU, proto_disp, "shadow-establish-rolea");
- register_ber_oid_dissector("dop.establish.roleb.2.5.1.0.2.1", dissect_EstablishParameter_PDU, proto_disp, "shadow-establish-roleb");
- register_ber_oid_dissector("dop.modify.rolea.2.5.1.0.2.1", dissect_ModificationParameter_PDU, proto_disp, "shadow-modify-rolea");
- register_ber_oid_dissector("dop.modify.roleb.2.5.1.0.2.1", dissect_ModificationParameter_PDU, proto_disp, "shadow-modify-roleb");
/*--- End of included file: packet-disp-dis-tab.c ---*/
@@ -2518,6 +2512,9 @@ void proto_reg_handoff_disp(void) {
tpkt_handle = find_dissector("tpkt");
+ /* DNs */
+ x509if_register_fmt(hf_disp_contextPrefix, "cp=");
+
}
diff --git a/epan/dissectors/packet-disp.h b/epan/dissectors/packet-disp.h
index 29a0d65476..d61b252d3f 100644
--- a/epan/dissectors/packet-disp.h
+++ b/epan/dissectors/packet-disp.h
@@ -35,4 +35,11 @@
#define PACKET_DISP_H
+/*--- Included file: packet-disp-exp.h ---*/
+#line 1 "packet-disp-exp.h"
+int dissect_disp_AgreementID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+
+/*--- End of included file: packet-disp-exp.h ---*/
+#line 30 "packet-disp-template.h"
+
#endif /* PACKET_DISP_H */
diff --git a/epan/dissectors/packet-dop.c b/epan/dissectors/packet-dop.c
index fe0814d6d2..0f0b037225 100644
--- a/epan/dissectors/packet-dop.c
+++ b/epan/dissectors/packet-dop.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-dop.c */
+/* .\packet-dop.c */
/* ../../tools/asn2eth.py -X -b -e -p dop -c dop.cnf -s packet-dop-template dop.asn */
/* Input file: packet-dop-template.c */
@@ -71,7 +71,7 @@ int proto_dop = -1;
static struct SESSION_DATA_STRUCTURE* session = NULL;
static const char *binding_type = NULL; /* binding_type */
-static int call_dop_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
+static int call_dop_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *col_info);
/*--- Included file: packet-dop-hf.c ---*/
@@ -355,8 +355,22 @@ static int dissect_protocolInformation(packet_info *pinfo, proto_tree *tree, tvb
static int
dissect_dop_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- NULL);
+#line 170 "dop.cnf"
+ guint32 value;
+
+ offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ &value);
+
+
+ if (check_col(pinfo->cinfo, COL_INFO)) {
+ if(hf_index == hf_dop_identifier) {
+ col_append_fstr(pinfo->cinfo, COL_INFO, " id=%d", value);
+ } else if (hf_index == hf_dop_version) {
+ col_append_fstr(pinfo->cinfo, COL_INFO, ",%d", value);
+ }
+ }
+
+
return offset;
}
@@ -374,7 +388,7 @@ static const ber_sequence_t OperationalBindingID_sequence[] = {
{ 0, 0, 0, NULL }
};
-static int
+int
dissect_dop_OperationalBindingID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
OperationalBindingID_sequence, hf_index, ett_dop_OperationalBindingID);
@@ -518,7 +532,18 @@ dissect_dop_DSAOperationalManagementBindError(gboolean implicit_tag _U_, tvbuff_
static int
dissect_dop_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &binding_type);
+#line 92 "dop.cnf"
+ const char *name;
+
+ offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &binding_type);
+
+
+ if(check_col(pinfo->cinfo, COL_INFO)) {
+ name = get_ber_oid_name(binding_type);
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", name ? name : binding_type);
+ }
+
+
return offset;
}
@@ -530,9 +555,9 @@ static int dissect_bindingType(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
static int
dissect_dop_EstablishSymmetric(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 91 "dop.cnf"
+#line 102 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.symmetric", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.symmetric", tvb, offset, pinfo, tree, "symmetric");
@@ -546,9 +571,9 @@ static int dissect_establishSymmetric(packet_info *pinfo, proto_tree *tree, tvbu
static int
dissect_dop_EstablishRoleAInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 95 "dop.cnf"
+#line 106 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.rolea", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.rolea", tvb, offset, pinfo, tree, "roleA");
@@ -562,9 +587,9 @@ static int dissect_establishRoleAInitiates(packet_info *pinfo, proto_tree *tree,
static int
dissect_dop_EstablishRoleBInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 99 "dop.cnf"
+#line 110 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.roleb", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.roleb", tvb, offset, pinfo, tree, "roleB");
@@ -605,9 +630,9 @@ static int dissect_establishInitiator(packet_info *pinfo, proto_tree *tree, tvbu
static int
dissect_dop_T_agreement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 127 "dop.cnf"
+#line 138 "dop.cnf"
- offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree, NULL);
@@ -848,9 +873,9 @@ dissect_dop_EstablishOperationalBindingArgument(gboolean implicit_tag _U_, tvbuf
static int
dissect_dop_T_symmetric(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 131 "dop.cnf"
+#line 142 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.symmetric", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.symmetric", tvb, offset, pinfo, tree, "symmetric");
@@ -864,9 +889,9 @@ static int dissect_symmetric(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
static int
dissect_dop_T_roleA_replies(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 135 "dop.cnf"
+#line 146 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.rolea", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.rolea", tvb, offset, pinfo, tree, "roleA");
@@ -880,9 +905,9 @@ static int dissect_roleA_replies(packet_info *pinfo, proto_tree *tree, tvbuff_t
static int
dissect_dop_T_roleB_replies(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 139 "dop.cnf"
+#line 150 "dop.cnf"
- offset = call_dop_oid_callback("dop.establish.roleb", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.establish.roleb", tvb, offset, pinfo, tree, "roleB");
@@ -960,9 +985,9 @@ dissect_dop_EstablishOperationalBindingResult(gboolean implicit_tag _U_, tvbuff_
static int
dissect_dop_ModifySymmetric(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 103 "dop.cnf"
+#line 114 "dop.cnf"
- offset = call_dop_oid_callback("dop.modify.symmetric", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.modify.symmetric", tvb, offset, pinfo, tree, "symmetric");
@@ -976,9 +1001,9 @@ static int dissect_modifySymmetric(packet_info *pinfo, proto_tree *tree, tvbuff_
static int
dissect_dop_ModifyRoleAInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 107 "dop.cnf"
+#line 118 "dop.cnf"
- offset = call_dop_oid_callback("dop.modify.rolea", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.modify.rolea", tvb, offset, pinfo, tree, "roleA");
@@ -992,9 +1017,9 @@ static int dissect_modifyRoleAInitiates(packet_info *pinfo, proto_tree *tree, tv
static int
dissect_dop_ModifyRoleBInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 111 "dop.cnf"
+#line 122 "dop.cnf"
- offset = call_dop_oid_callback("dop.modify.roleb", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.modify.roleb", tvb, offset, pinfo, tree, "roleB");
@@ -1035,9 +1060,11 @@ static int dissect_modifyInitiator(packet_info *pinfo, proto_tree *tree, tvbuff_
static int
dissect_dop_ArgumentNewAgreement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 151 "dop.cnf"
+#line 162 "dop.cnf"
+
+ offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree, NULL);
+
- offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree);
return offset;
@@ -1118,9 +1145,9 @@ dissect_dop_ModifyOperationalBindingArgument(gboolean implicit_tag _U_, tvbuff_t
static int
dissect_dop_ResultNewAgreement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 147 "dop.cnf"
+#line 158 "dop.cnf"
- offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree, NULL);
@@ -1199,9 +1226,9 @@ dissect_dop_ModifyOperationalBindingResult(gboolean implicit_tag _U_, tvbuff_t *
static int
dissect_dop_TerminateSymmetric(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 115 "dop.cnf"
+#line 126 "dop.cnf"
- offset = call_dop_oid_callback("dop.terminate.symmetric", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.terminate.symmetric", tvb, offset, pinfo, tree, "symmetric");
@@ -1215,9 +1242,9 @@ static int dissect_terminateSymmetric(packet_info *pinfo, proto_tree *tree, tvbu
static int
dissect_dop_TerminateRoleAInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 119 "dop.cnf"
+#line 130 "dop.cnf"
- offset = call_dop_oid_callback("dop.terminate.rolea", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.terminate.rolea", tvb, offset, pinfo, tree, "roleA");
@@ -1231,9 +1258,9 @@ static int dissect_terminateRoleAInitiates(packet_info *pinfo, proto_tree *tree,
static int
dissect_dop_TerminateRoleBInitiates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 123 "dop.cnf"
+#line 134 "dop.cnf"
- offset = call_dop_oid_callback("dop.terminate.roleb", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.terminate.roleb", tvb, offset, pinfo, tree, "roleB");
@@ -1431,9 +1458,9 @@ static int dissect_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
static int
dissect_dop_T_agreementProposal(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 143 "dop.cnf"
+#line 154 "dop.cnf"
- offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree);
+ offset = call_dop_oid_callback("dop.agreement", tvb, offset, pinfo, tree, NULL);
@@ -1707,18 +1734,16 @@ static void dissect_NHOBSubordinateToSuperior_PDU(tvbuff_t *tvb, packet_info *pi
#line 75 "packet-dop-template.c"
static int
-call_dop_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
+call_dop_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, char *col_info)
{
- const char *name = NULL;
char binding_param[BER_MAX_OID_STR_LEN];
- sprintf(binding_param, "%s.%s", base_oid, binding_type ? binding_type : "");
+ g_snprintf(binding_param, BER_MAX_OID_STR_LEN, "%s.%s", base_oid, binding_type ? binding_type : "");
- name = get_ber_oid_name(binding_param);
- proto_item_append_text(tree, " (%s)", name ? name : binding_param);
+ if (col_info && (check_col(pinfo->cinfo, COL_INFO)))
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", col_info);
return call_ber_oid_callback(binding_param, tvb, offset, pinfo, tree);
-
}
@@ -2302,7 +2327,7 @@ void proto_register_dop(void) {
"", HFILL }},
/*--- End of included file: packet-dop-hfarr.c ---*/
-#line 220 "packet-dop-template.c"
+#line 218 "packet-dop-template.c"
};
/* List of subtrees */
@@ -2358,7 +2383,7 @@ void proto_register_dop(void) {
&ett_dop_NHOBSubordinateToSuperior,
/*--- End of included file: packet-dop-ettarr.c ---*/
-#line 226 "packet-dop-template.c"
+#line 224 "packet-dop-template.c"
};
module_t *dop_module;
@@ -2366,9 +2391,6 @@ void proto_register_dop(void) {
/* Register protocol */
proto_dop = proto_register_protocol(PNAME, PSNAME, PFNAME);
- /* initially disable the protocol */
- proto_set_decoding(proto_dop, FALSE);
-
register_dissector("dop", dissect_dop, proto_dop);
/* Register fields and subtrees */
@@ -2416,7 +2438,7 @@ void proto_reg_handoff_dop(void) {
/*--- End of included file: packet-dop-dis-tab.c ---*/
-#line 264 "packet-dop-template.c"
+#line 259 "packet-dop-template.c"
/* APPLICATION CONTEXT */
register_ber_oid_name("2.5.3.3", "id-ac-directory-operational-binding-management");
@@ -2428,6 +2450,12 @@ void proto_reg_handoff_dop(void) {
register_ros_oid_dissector_handle("2.5.9.4", handle, 0, "id-as-directory-operational-binding-management", FALSE);
}
+ /* BINDING TYPES */
+
+ register_ber_oid_name("2.5.19.1", "shadow-agreement");
+ register_ber_oid_name("2.5.19.2", "hierarchical-agreement");
+ register_ber_oid_name("2.5.19.3", "non-specific-hierarchical-agreement");
+
/* remember the tpkt handler for change in preferences */
tpkt_handle = find_dissector("tpkt");
diff --git a/epan/dissectors/packet-dop.h b/epan/dissectors/packet-dop.h
index e403b1f00f..b5077a6d5c 100644
--- a/epan/dissectors/packet-dop.h
+++ b/epan/dissectors/packet-dop.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-dop.h */
+/* .\packet-dop.h */
/* ../../tools/asn2eth.py -X -b -e -p dop -c dop.cnf -s packet-dop-template dop.asn */
/* Input file: packet-dop-template.h */
@@ -39,6 +39,7 @@
#line 1 "packet-dop-exp.h"
int dissect_dop_DSEType(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
int dissect_dop_SupplierAndConsumers(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_dop_OperationalBindingID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
/*--- End of included file: packet-dop-exp.h ---*/
#line 30 "packet-dop-template.h"
diff --git a/epan/dissectors/packet-ros.c b/epan/dissectors/packet-ros.c
index 69eb36b463..59688faf15 100644
--- a/epan/dissectors/packet-ros.c
+++ b/epan/dissectors/packet-ros.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-ros.c */
+/* .\packet-ros.c */
/* ../../tools/asn2eth.py -X -b -e -p ros -c ros.cnf -s packet-ros-template ros.asn */
/* Input file: packet-ros-template.c */
@@ -992,12 +992,14 @@ void proto_register_ros(void) {
ros_oid_dissector_table = register_dissector_table("ros.oid", "ROS OID Dissectors", FT_STRING, BASE_NONE);
oid_table=g_hash_table_new(g_str_hash, g_str_equal);
+
+ ros_handle = find_dissector("ros");
+
}
/*--- proto_reg_handoff_ros --- */
void proto_reg_handoff_ros(void) {
- ros_handle = find_dissector("ros");
}
diff --git a/epan/dissectors/packet-ros.h b/epan/dissectors/packet-ros.h
index 1e725b9e49..78193bb254 100644
--- a/epan/dissectors/packet-ros.h
+++ b/epan/dissectors/packet-ros.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-ros.h */
+/* .\packet-ros.h */
/* ../../tools/asn2eth.py -X -b -e -p ros -c ros.cnf -s packet-ros-template ros.asn */
/* Input file: packet-ros-template.h */
diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c
index 3ccdc6d5d9..a4eaf6d273 100644
--- a/epan/dissectors/packet-rtse.c
+++ b/epan/dissectors/packet-rtse.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-rtse.c */
+/* .\packet-rtse.c */
/* ../../tools/asn2eth.py -X -b -e -p rtse -c rtse.cnf -s packet-rtse-template rtse.asn */
/* Input file: packet-rtse-template.c */
@@ -1072,12 +1072,14 @@ void proto_register_rtse(void) {
rtse_oid_dissector_table = register_dissector_table("rtse.oid", "RTSE OID Dissectors", FT_STRING, BASE_NONE);
oid_table=g_hash_table_new(g_str_hash, g_str_equal);
+ rtse_handle = find_dissector("rtse");
+ ros_handle = find_dissector("ros");
+
}
/*--- proto_reg_handoff_rtse --- */
void proto_reg_handoff_rtse(void) {
- rtse_handle = find_dissector("rtse");
- ros_handle = find_dissector("ros");
+
}
diff --git a/epan/dissectors/packet-rtse.h b/epan/dissectors/packet-rtse.h
index 721cb0eff2..d759141462 100644
--- a/epan/dissectors/packet-rtse.h
+++ b/epan/dissectors/packet-rtse.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-rtse.h */
+/* .\packet-rtse.h */
/* ../../tools/asn2eth.py -X -b -e -p rtse -c rtse.cnf -s packet-rtse-template rtse.asn */
/* Input file: packet-rtse-template.h */
diff --git a/epan/dissectors/packet-x411.c b/epan/dissectors/packet-x411.c
index 55829cbd5d..9a344f54cd 100644
--- a/epan/dissectors/packet-x411.c
+++ b/epan/dissectors/packet-x411.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x411.c */
+/* .\packet-x411.c */
/* ../../tools/asn2eth.py -X -b -e -p x411 -c x411.cnf -s packet-x411-template x411.asn */
/* Input file: packet-x411-template.c */
diff --git a/epan/dissectors/packet-x411.h b/epan/dissectors/packet-x411.h
index 0f25ef2d16..632a6358e4 100644
--- a/epan/dissectors/packet-x411.h
+++ b/epan/dissectors/packet-x411.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x411.h */
+/* .\packet-x411.h */
/* ../../tools/asn2eth.py -X -b -e -p x411 -c x411.cnf -s packet-x411-template x411.asn */
/* Input file: packet-x411-template.h */
diff --git a/epan/dissectors/packet-x509if.c b/epan/dissectors/packet-x509if.c
index a3376457cb..f62bb11766 100644
--- a/epan/dissectors/packet-x509if.c
+++ b/epan/dissectors/packet-x509if.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x509if.c */
+/* .\packet-x509if.c */
/* ../../tools/asn2eth.py -X -b -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */
/* Input file: packet-x509if-template.c */
@@ -296,6 +296,12 @@ static gboolean doing_dn = TRUE;
static char *last_dn = NULL;
static char *last_rdn = NULL;
+static int ava_hf_index;
+#define MAX_FMT_VALS 32
+static value_string fmt_vals[MAX_FMT_VALS];
+#define MAX_AVA_STR_LEN 64
+static char *last_ava = NULL;
+
/*--- Included file: packet-x509if-fn.c ---*/
#line 1 "packet-x509if-fn.c"
@@ -366,7 +372,8 @@ static int dissect_description(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
static int
dissect_x509if_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 102 "x509if.cnf"
+#line 112 "x509if.cnf"
+ const char *fmt;
const char *name;
offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_x509if_object_identifier_id, &object_identifier_id);
@@ -384,6 +391,16 @@ dissect_x509if_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
/* append it to the tree */
proto_item_append_text(tree, " (%s=", name);
}
+
+ if((fmt = val_to_str(hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+ last_ava = ep_alloc(MAX_AVA_STR_LEN); *last_ava = '\0';
+
+ g_snprintf(last_ava, MAX_AVA_STR_LEN, "%s %s", name, fmt);
+
+ proto_item_append_text(tree, " %s", last_ava);
+
+ }
}
@@ -416,16 +433,21 @@ static int dissect_restrictionType(packet_info *pinfo, proto_tree *tree, tvbuff_
int
dissect_x509if_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 121 "x509if.cnf"
+#line 142 "x509if.cnf"
int old_offset = offset;
tvbuff_t *out_tvb;
- char *value = NULL;
-
+ char *value = NULL;
+ const char *fmt;
+ const char *name = NULL;
+
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
/* try and dissect as a string */
dissect_ber_octet_string(FALSE, pinfo, NULL, tvb, old_offset, hf_x509if_any_string, &out_tvb);
+ /* should also try and dissect as an OID and integer */
+ /* of course, if I can look up the syntax .... */
+
if(out_tvb) {
/* it was a string - format it */
value = tvb_format_text(out_tvb, 0, tvb_length(out_tvb));
@@ -437,6 +459,16 @@ dissect_x509if_AttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offs
proto_item_append_text(tree, "%s)", value);
}
+ if((fmt = val_to_str(ava_hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+
+ if(!(name = get_ber_oid_name(object_identifier_id)))
+ name = object_identifier_id;
+ g_snprintf(last_ava, MAX_AVA_STR_LEN, "%s %s %s", name, fmt, value);
+
+ proto_item_append_text(tree, " %s", last_ava);
+
+ }
}
@@ -469,7 +501,7 @@ static int dissect_selectedValues_item(packet_info *pinfo, proto_tree *tree, tvb
static int
dissect_x509if_ValuesWithContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 153 "x509if.cnf"
+#line 189 "x509if.cnf"
offset=call_ber_oid_callback("unknown", tvb, offset, pinfo, tree);
@@ -654,7 +686,7 @@ static int dissect_ca_contextType(packet_info *pinfo, proto_tree *tree, tvbuff_t
static int
dissect_x509if_ContextValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 96 "x509if.cnf"
+#line 106 "x509if.cnf"
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
@@ -753,9 +785,19 @@ static const ber_sequence_t AttributeValueAssertion_sequence[] = {
int
dissect_x509if_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+#line 262 "x509if.cnf"
+
+ ava_hf_index = hf_index;
+ last_ava = ep_alloc(MAX_AVA_STR_LEN); *last_ava = '\0';
+
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
AttributeValueAssertion_sequence, hf_index, ett_x509if_AttributeValueAssertion);
+
+ ava_hf_index=-1;
+
+
+
return offset;
}
@@ -845,7 +887,7 @@ dissect_x509if_AttributeTypeAndDistinguishedValue(gboolean implicit_tag _U_, tvb
static int
dissect_x509if_RelativeDistinguishedName_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 181 "x509if.cnf"
+#line 217 "x509if.cnf"
if(!rdn_one_value) {
top_of_rdn = tree;
@@ -876,7 +918,7 @@ static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
int
dissect_x509if_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 156 "x509if.cnf"
+#line 192 "x509if.cnf"
char *temp_dn;
rdn_one_value = FALSE;
@@ -912,7 +954,7 @@ dissect_x509if_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tv
static int
dissect_x509if_RDNSequence_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 208 "x509if.cnf"
+#line 251 "x509if.cnf"
if(!dn_one_rdn) {
/* this is the first element - record the top */
@@ -939,7 +981,8 @@ static const ber_sequence_t RDNSequence_sequence_of[1] = {
int
dissect_x509if_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 196 "x509if.cnf"
+#line 232 "x509if.cnf"
+ const char *fmt;
dn_one_rdn = FALSE; /* reset */
last_dn = ep_alloc(MAX_RDN_STR_LEN); *last_dn = '\0';
@@ -952,6 +995,12 @@ dissect_x509if_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
/* we've finished - append the dn */
proto_item_append_text(top_of_dn, " (%s)", last_dn);
+ /* see if we should append this to the col info */
+ if(check_col(pinfo->cinfo, COL_INFO) &&
+ (fmt = val_to_str(hf_index, fmt_vals, "")) && *fmt) {
+ /* we have a format */
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s%s", fmt, last_dn);
+ }
@@ -1452,7 +1501,7 @@ static int dissect_level(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, in
static int
dissect_x509if_SelectedValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 144 "x509if.cnf"
+#line 180 "x509if.cnf"
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
@@ -1495,7 +1544,7 @@ static int dissect_entryType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb
static int
dissect_x509if_DefaultValueValues(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 150 "x509if.cnf"
+#line 186 "x509if.cnf"
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
@@ -2063,7 +2112,7 @@ static int dissect_entryLimit(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
static const ber_sequence_t SET_OF_DirectoryString_set_of[1] = {
- { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_name_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_name_item },
};
static int
@@ -2184,13 +2233,39 @@ static void dissect_DistinguishedName_PDU(tvbuff_t *tvb, packet_info *pinfo, pro
/*--- End of included file: packet-x509if-fn.c ---*/
-#line 71 "packet-x509if-template.c"
+#line 77 "packet-x509if-template.c"
const char * x509if_get_last_dn(void)
{
return last_dn;
}
+gboolean x509if_register_fmt(int hf_index, const gchar *fmt)
+{
+ static int idx = 0;
+
+ if(idx < (MAX_FMT_VALS - 1)) {
+
+ fmt_vals[idx].value = hf_index;
+ fmt_vals[idx].strptr = fmt;
+
+ idx++;
+
+ fmt_vals[idx].value = 0;
+ fmt_vals[idx].strptr = NULL;
+
+ return TRUE;
+
+ } else
+ return FALSE; /* couldn't register it */
+
+}
+
+const char * x509if_get_last_ava(void)
+{
+ return last_ava;
+}
+
/*--- proto_register_x509if ----------------------------------------------*/
void proto_register_x509if(void) {
@@ -2548,11 +2623,11 @@ void proto_register_x509if(void) {
"SearchRuleDescription/name", HFILL }},
{ &hf_x509if_name_item,
{ "Item", "x509if.name_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"SearchRuleDescription/name/_item", HFILL }},
{ &hf_x509if_description,
{ "description", "x509if.description",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"SearchRuleDescription/description", HFILL }},
{ &hf_x509if_obsolete,
{ "obsolete", "x509if.obsolete",
@@ -2772,7 +2847,7 @@ void proto_register_x509if(void) {
"", HFILL }},
/*--- End of included file: packet-x509if-hfarr.c ---*/
-#line 90 "packet-x509if-template.c"
+#line 122 "packet-x509if-template.c"
};
/* List of subtrees */
@@ -2851,7 +2926,7 @@ void proto_register_x509if(void) {
&ett_x509if_MRSubstitution,
/*--- End of included file: packet-x509if-ettarr.c ---*/
-#line 95 "packet-x509if-template.c"
+#line 127 "packet-x509if-template.c"
};
/* Register protocol */
@@ -2861,6 +2936,10 @@ void proto_register_x509if(void) {
proto_register_field_array(proto_x509if, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ /* initialise array */
+ fmt_vals[0].value = 0;
+ fmt_vals[0].strptr = NULL;
+
}
diff --git a/epan/dissectors/packet-x509if.h b/epan/dissectors/packet-x509if.h
index ca42efb57f..5f58e581fc 100644
--- a/epan/dissectors/packet-x509if.h
+++ b/epan/dissectors/packet-x509if.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x509if.h */
+/* .\packet-x509if.h */
/* ../../tools/asn2eth.py -X -b -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn */
/* Input file: packet-x509if-template.h */
@@ -90,5 +90,8 @@ int dissect_x509if_MRSubstitution(gboolean implicit_tag, tvbuff_t *tvb, int offs
extern const char * x509if_get_last_dn(void);
+extern gboolean x509if_register_fmt(int hf_index, const gchar *fmt);
+extern const char * x509if_get_last_ava(void);
+
#endif /* PACKET_X509IF_H */
diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c
index 807b4e2543..f82af0a62b 100644
--- a/epan/dissectors/packet-x509sat.c
+++ b/epan/dissectors/packet-x509sat.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x509sat.c */
+/* .\packet-x509sat.c */
/* ../../tools/asn2eth.py -X -b -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
/* Input file: packet-x509sat-template.c */
@@ -70,10 +70,36 @@ static int hf_x509sat_InternationalISDNNumber_PDU = -1; /* InternationalISDNNum
static int hf_x509sat_DestinationIndicator_PDU = -1; /* DestinationIndicator */
static int hf_x509sat_PreferredDeliveryMethod_PDU = -1; /* PreferredDeliveryMethod */
static int hf_x509sat_PresentationAddress_PDU = -1; /* PresentationAddress */
+static int hf_x509sat_ProtocolInformation_PDU = -1; /* ProtocolInformation */
static int hf_x509sat_NameAndOptionalUID_PDU = -1; /* NameAndOptionalUID */
static int hf_x509sat_CaseIgnoreListMatch_PDU = -1; /* CaseIgnoreListMatch */
static int hf_x509sat_DayTimeBand_PDU = -1; /* DayTimeBand */
static int hf_x509sat_DayTime_PDU = -1; /* DayTime */
+static int hf_x509sat_ObjectIdentifier_PDU = -1; /* ObjectIdentifier */
+static int hf_x509sat_OctetString_PDU = -1; /* OctetString */
+static int hf_x509sat_BitString_PDU = -1; /* BitString */
+static int hf_x509sat_Integer_PDU = -1; /* Integer */
+static int hf_x509sat_Boolean_PDU = -1; /* Boolean */
+static int hf_x509sat_SyntaxGeneralizedTime_PDU = -1; /* SyntaxGeneralizedTime */
+static int hf_x509sat_SyntaxUTCTime_PDU = -1; /* SyntaxUTCTime */
+static int hf_x509sat_SyntaxNumericString_PDU = -1; /* SyntaxNumericString */
+static int hf_x509sat_SyntaxPrintableString_PDU = -1; /* SyntaxPrintableString */
+static int hf_x509sat_SyntaxIA5String_PDU = -1; /* SyntaxIA5String */
+static int hf_x509sat_SyntaxBMPString_PDU = -1; /* SyntaxBMPString */
+static int hf_x509sat_SyntaxUniversalString_PDU = -1; /* SyntaxUniversalString */
+static int hf_x509sat_SyntaxUTF8String_PDU = -1; /* SyntaxUTF8String */
+static int hf_x509sat_SyntaxTeletexString_PDU = -1; /* SyntaxTeletexString */
+static int hf_x509sat_SyntaxT61String_PDU = -1; /* SyntaxT61String */
+static int hf_x509sat_SyntaxVideotexString_PDU = -1; /* SyntaxVideotexString */
+static int hf_x509sat_SyntaxGraphicString_PDU = -1; /* SyntaxGraphicString */
+static int hf_x509sat_SyntaxISO646String_PDU = -1; /* SyntaxISO646String */
+static int hf_x509sat_SyntaxVisibleString_PDU = -1; /* SyntaxVisibleString */
+static int hf_x509sat_SyntaxGeneralString_PDU = -1; /* SyntaxGeneralString */
+static int hf_x509sat_teletexString = -1; /* TeletexString */
+static int hf_x509sat_printableString = -1; /* PrintableString */
+static int hf_x509sat_universalString = -1; /* UniversalString */
+static int hf_x509sat_bmpString = -1; /* BMPString */
+static int hf_x509sat_uTF8String = -1; /* UTF8String */
static int hf_x509sat_objectClass = -1; /* OBJECT_IDENTIFIER */
static int hf_x509sat_criteria = -1; /* Criteria */
static int hf_x509sat_type = -1; /* CriteriaItem */
@@ -203,6 +229,7 @@ static int hf_x509sat_T_bitNamedDays_saturday = -1;
/*--- Included file: packet-x509sat-ett.c ---*/
#line 1 "packet-x509sat-ett.c"
+static gint ett_x509sat_DirectoryString = -1;
static gint ett_x509sat_Guide = -1;
static gint ett_x509sat_Criteria = -1;
static gint ett_x509sat_SET_OF_Criteria = -1;
@@ -308,13 +335,108 @@ static int dissect_ZonalSelect_item(packet_info *pinfo, proto_tree *tree, tvbuff
-int
-dissect_x509sat_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-#line 115 "x509sat.cnf"
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+static int
+dissect_x509sat_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_teletexString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_teletexString);
+}
+
+
+
+static int
+dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_printableString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_printableString);
+}
+static int dissect_telexNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_telexNumber);
+}
+static int dissect_countryCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_countryCode);
+}
+static int dissect_answerback(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_answerback);
+}
+
+
+
+static int
+dissect_x509sat_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+ return offset;
+}
+static int dissect_universalString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_UniversalString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_universalString);
+}
+
+static int
+dissect_x509sat_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_bmpString(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_BMPString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_bmpString);
+}
+
+
+
+static int
+dissect_x509sat_UTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_uTF8String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_UTF8String(FALSE, tvb, offset, pinfo, tree, hf_x509sat_uTF8String);
+}
+
+
+const value_string x509sat_DirectoryString_vals[] = {
+ { 0, "teletexString" },
+ { 1, "printableString" },
+ { 2, "universalString" },
+ { 3, "bmpString" },
+ { 4, "uTF8String" },
+ { 0, NULL }
+};
+
+static const ber_choice_t DirectoryString_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletexString },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printableString },
+ { 2, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_universalString },
+ { 3, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_bmpString },
+ { 4, BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_uTF8String },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ DirectoryString_choice, hf_index, ett_x509sat_DirectoryString,
+ NULL);
+
return offset;
}
static int dissect_PostalAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@@ -511,7 +633,7 @@ dissect_x509sat_EnhancedGuide(gboolean implicit_tag _U_, tvbuff_t *tvb, int offs
static const ber_sequence_t PostalAddress_sequence_of[1] = {
- { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_PostalAddress_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_PostalAddress_item },
};
int
@@ -537,26 +659,6 @@ static int dissect_telephoneNumber(packet_info *pinfo, proto_tree *tree, tvbuff_
}
-
-static int
-dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-static int dissect_telexNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_telexNumber);
-}
-static int dissect_countryCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_countryCode);
-}
-static int dissect_answerback(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_x509sat_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_answerback);
-}
-
-
static const ber_sequence_t TelexNumber_sequence[] = {
{ BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_telexNumber },
{ BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_countryCode },
@@ -847,7 +949,7 @@ dissect_x509sat_SubstringAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int
static const ber_sequence_t CaseIgnoreListMatch_sequence_of[1] = {
- { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_CaseIgnoreListMatch_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_CaseIgnoreListMatch_item },
};
int
@@ -1574,7 +1676,7 @@ const value_string x509sat_LocaleContextSyntax_vals[] = {
static const ber_choice_t LocaleContextSyntax_choice[] = {
{ 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_localeID1 },
- { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_localeID2 },
+ { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_localeID2 },
{ 0, 0, 0, 0, NULL }
};
@@ -1587,6 +1689,218 @@ dissect_x509sat_LocaleContextSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb, in
return offset;
}
+
+
+static int
+dissect_x509sat_ObjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_OctetString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_BitString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+ NULL, hf_index, -1,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_Integer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_Boolean(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxGeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxUTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxPrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxIA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxUniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxUTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxTeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxT61String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxVideotexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxGraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxISO646String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxVisibleString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x509sat_SyntaxGeneralString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_DirectoryString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
@@ -1634,6 +1948,9 @@ static void dissect_PreferredDeliveryMethod_PDU(tvbuff_t *tvb, packet_info *pinf
static void dissect_PresentationAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
dissect_x509sat_PresentationAddress(FALSE, tvb, 0, pinfo, tree, hf_x509sat_PresentationAddress_PDU);
}
+static void dissect_ProtocolInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_ProtocolInformation(FALSE, tvb, 0, pinfo, tree, hf_x509sat_ProtocolInformation_PDU);
+}
static void dissect_NameAndOptionalUID_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
dissect_x509sat_NameAndOptionalUID(FALSE, tvb, 0, pinfo, tree, hf_x509sat_NameAndOptionalUID_PDU);
}
@@ -1646,6 +1963,66 @@ static void dissect_DayTimeBand_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tre
static void dissect_DayTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
dissect_x509sat_DayTime(FALSE, tvb, 0, pinfo, tree, hf_x509sat_DayTime_PDU);
}
+static void dissect_ObjectIdentifier_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_ObjectIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x509sat_ObjectIdentifier_PDU);
+}
+static void dissect_OctetString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_OctetString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_OctetString_PDU);
+}
+static void dissect_BitString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_BitString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_BitString_PDU);
+}
+static void dissect_Integer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_Integer(FALSE, tvb, 0, pinfo, tree, hf_x509sat_Integer_PDU);
+}
+static void dissect_Boolean_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_Boolean(FALSE, tvb, 0, pinfo, tree, hf_x509sat_Boolean_PDU);
+}
+static void dissect_SyntaxGeneralizedTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxGeneralizedTime(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxGeneralizedTime_PDU);
+}
+static void dissect_SyntaxUTCTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxUTCTime(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxUTCTime_PDU);
+}
+static void dissect_SyntaxNumericString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxNumericString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxNumericString_PDU);
+}
+static void dissect_SyntaxPrintableString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxPrintableString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxPrintableString_PDU);
+}
+static void dissect_SyntaxIA5String_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxIA5String(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxIA5String_PDU);
+}
+static void dissect_SyntaxBMPString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxBMPString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxBMPString_PDU);
+}
+static void dissect_SyntaxUniversalString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxUniversalString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxUniversalString_PDU);
+}
+static void dissect_SyntaxUTF8String_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxUTF8String(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxUTF8String_PDU);
+}
+static void dissect_SyntaxTeletexString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxTeletexString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxTeletexString_PDU);
+}
+static void dissect_SyntaxT61String_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxT61String(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxT61String_PDU);
+}
+static void dissect_SyntaxVideotexString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxVideotexString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxVideotexString_PDU);
+}
+static void dissect_SyntaxGraphicString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxGraphicString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxGraphicString_PDU);
+}
+static void dissect_SyntaxISO646String_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxISO646String(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxISO646String_PDU);
+}
+static void dissect_SyntaxVisibleString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxVisibleString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxVisibleString_PDU);
+}
+static void dissect_SyntaxGeneralString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ dissect_x509sat_SyntaxGeneralString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_SyntaxGeneralString_PDU);
+}
/*--- End of included file: packet-x509sat-fn.c ---*/
@@ -1662,7 +2039,7 @@ void proto_register_x509sat(void) {
#line 1 "packet-x509sat-hfarr.c"
{ &hf_x509sat_DirectoryString_PDU,
{ "DirectoryString", "x509sat.DirectoryString",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"DirectoryString", HFILL }},
{ &hf_x509sat_UniqueIdentifier_PDU,
{ "UniqueIdentifier", "x509sat.UniqueIdentifier",
@@ -1720,6 +2097,10 @@ void proto_register_x509sat(void) {
{ "PresentationAddress", "x509sat.PresentationAddress",
FT_NONE, BASE_NONE, NULL, 0,
"PresentationAddress", HFILL }},
+ { &hf_x509sat_ProtocolInformation_PDU,
+ { "ProtocolInformation", "x509sat.ProtocolInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ProtocolInformation", HFILL }},
{ &hf_x509sat_NameAndOptionalUID_PDU,
{ "NameAndOptionalUID", "x509sat.NameAndOptionalUID",
FT_NONE, BASE_NONE, NULL, 0,
@@ -1736,6 +2117,106 @@ void proto_register_x509sat(void) {
{ "DayTime", "x509sat.DayTime",
FT_NONE, BASE_NONE, NULL, 0,
"DayTime", HFILL }},
+ { &hf_x509sat_ObjectIdentifier_PDU,
+ { "ObjectIdentifier", "x509sat.ObjectIdentifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ "ObjectIdentifier", HFILL }},
+ { &hf_x509sat_OctetString_PDU,
+ { "OctetString", "x509sat.OctetString",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "OctetString", HFILL }},
+ { &hf_x509sat_BitString_PDU,
+ { "BitString", "x509sat.BitString",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "BitString", HFILL }},
+ { &hf_x509sat_Integer_PDU,
+ { "Integer", "x509sat.Integer",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Integer", HFILL }},
+ { &hf_x509sat_Boolean_PDU,
+ { "Boolean", "x509sat.Boolean",
+ FT_BOOLEAN, 8, NULL, 0,
+ "Boolean", HFILL }},
+ { &hf_x509sat_SyntaxGeneralizedTime_PDU,
+ { "GeneralizedTime", "x509sat.GeneralizedTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "GeneralizedTime", HFILL }},
+ { &hf_x509sat_SyntaxUTCTime_PDU,
+ { "UTCTime", "x509sat.UTCTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "UTCTime", HFILL }},
+ { &hf_x509sat_SyntaxNumericString_PDU,
+ { "NumericString", "x509sat.NumericString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "NumericString", HFILL }},
+ { &hf_x509sat_SyntaxPrintableString_PDU,
+ { "PrintableString", "x509sat.PrintableString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "PrintableString", HFILL }},
+ { &hf_x509sat_SyntaxIA5String_PDU,
+ { "IA5String", "x509sat.IA5String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "IA5String", HFILL }},
+ { &hf_x509sat_SyntaxBMPString_PDU,
+ { "BMPString", "x509sat.BMPString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "BMPString", HFILL }},
+ { &hf_x509sat_SyntaxUniversalString_PDU,
+ { "UniversalString", "x509sat.UniversalString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "UniversalString", HFILL }},
+ { &hf_x509sat_SyntaxUTF8String_PDU,
+ { "UTF8String", "x509sat.UTF8String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "UTF8String", HFILL }},
+ { &hf_x509sat_SyntaxTeletexString_PDU,
+ { "TeletexString", "x509sat.TeletexString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TeletexString", HFILL }},
+ { &hf_x509sat_SyntaxT61String_PDU,
+ { "T61String", "x509sat.T61String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "T61String", HFILL }},
+ { &hf_x509sat_SyntaxVideotexString_PDU,
+ { "VideotexString", "x509sat.VideotexString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "VideotexString", HFILL }},
+ { &hf_x509sat_SyntaxGraphicString_PDU,
+ { "GraphicString", "x509sat.GraphicString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "GraphicString", HFILL }},
+ { &hf_x509sat_SyntaxISO646String_PDU,
+ { "ISO646String", "x509sat.ISO646String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "ISO646String", HFILL }},
+ { &hf_x509sat_SyntaxVisibleString_PDU,
+ { "VisibleString", "x509sat.VisibleString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "VisibleString", HFILL }},
+ { &hf_x509sat_SyntaxGeneralString_PDU,
+ { "GeneralString", "x509sat.GeneralString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "GeneralString", HFILL }},
+ { &hf_x509sat_teletexString,
+ { "teletexString", "x509sat.teletexString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "DirectoryString/teletexString", HFILL }},
+ { &hf_x509sat_printableString,
+ { "printableString", "x509sat.printableString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "DirectoryString/printableString", HFILL }},
+ { &hf_x509sat_universalString,
+ { "universalString", "x509sat.universalString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "DirectoryString/universalString", HFILL }},
+ { &hf_x509sat_bmpString,
+ { "bmpString", "x509sat.bmpString",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "DirectoryString/bmpString", HFILL }},
+ { &hf_x509sat_uTF8String,
+ { "uTF8String", "x509sat.uTF8String",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "DirectoryString/uTF8String", HFILL }},
{ &hf_x509sat_objectClass,
{ "objectClass", "x509sat.objectClass",
FT_OID, BASE_NONE, NULL, 0,
@@ -1794,7 +2275,7 @@ void proto_register_x509sat(void) {
"EnhancedGuide/subset", HFILL }},
{ &hf_x509sat_PostalAddress_item,
{ "Item", "x509sat.PostalAddress_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"PostalAddress/_item", HFILL }},
{ &hf_x509sat_telexNumber,
{ "telexNumber", "x509sat.telexNumber",
@@ -1874,15 +2355,15 @@ void proto_register_x509sat(void) {
"SubstringAssertion/_item", HFILL }},
{ &hf_x509sat_initial,
{ "initial", "x509sat.initial",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"SubstringAssertion/_item/initial", HFILL }},
{ &hf_x509sat_any,
{ "any", "x509sat.any",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"SubstringAssertion/_item/any", HFILL }},
{ &hf_x509sat_final,
{ "final", "x509sat.final",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"SubstringAssertion/_item/final", HFILL }},
{ &hf_x509sat_control,
{ "control", "x509sat.control",
@@ -1890,7 +2371,7 @@ void proto_register_x509sat(void) {
"SubstringAssertion/_item/control", HFILL }},
{ &hf_x509sat_CaseIgnoreListMatch_item,
{ "Item", "x509sat.CaseIgnoreListMatch_item",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"CaseIgnoreListMatch/_item", HFILL }},
{ &hf_x509sat_OctetSubstringAssertion_item,
{ "Item", "x509sat.OctetSubstringAssertion_item",
@@ -2090,7 +2571,7 @@ void proto_register_x509sat(void) {
"LocaleContextSyntax/localeID1", HFILL }},
{ &hf_x509sat_localeID2,
{ "localeID2", "x509sat.localeID2",
- FT_STRING, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
"LocaleContextSyntax/localeID2", HFILL }},
{ &hf_x509sat_T_bitDay_sunday,
{ "sunday", "x509sat.sunday",
@@ -2226,6 +2707,7 @@ void proto_register_x509sat(void) {
/*--- Included file: packet-x509sat-ettarr.c ---*/
#line 1 "packet-x509sat-ettarr.c"
+ &ett_x509sat_DirectoryString,
&ett_x509sat_Guide,
&ett_x509sat_Criteria,
&ett_x509sat_SET_OF_Criteria,
@@ -2292,30 +2774,27 @@ void proto_reg_handoff_x509sat(void) {
/*--- Included file: packet-x509sat-dis-tab.c ---*/
#line 1 "packet-x509sat-dis-tab.c"
- register_ber_oid_dissector("2.5.4.6", dissect_CountryName_PDU, proto_x509sat, "id-at-countryName");
+ register_ber_oid_dissector("2.5.4.0", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-objectClass");
register_ber_oid_dissector("2.5.4.2", dissect_DirectoryString_PDU, proto_x509sat, "id-at-knowledgeInformation");
- register_ber_oid_dissector("2.5.4.10", dissect_DirectoryString_PDU, proto_x509sat, "id-at-organizationName");
- register_ber_oid_dissector("2.5.4.7.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveLocalityName");
register_ber_oid_dissector("2.5.4.3", dissect_DirectoryString_PDU, proto_x509sat, "id-at-commonName");
register_ber_oid_dissector("2.5.4.4", dissect_DirectoryString_PDU, proto_x509sat, "id-at-surname");
- register_ber_oid_dissector("2.5.4.42", dissect_DirectoryString_PDU, proto_x509sat, "id-at-givenName");
- register_ber_oid_dissector("2.5.4.43", dissect_DirectoryString_PDU, proto_x509sat, "id-at-initials");
- register_ber_oid_dissector("2.5.4.44", dissect_DirectoryString_PDU, proto_x509sat, "id-at-generationQualifier");
- register_ber_oid_dissector("2.5.4.51", dissect_DirectoryString_PDU, proto_x509sat, "id-at-houseIdentifier");
- register_ber_oid_dissector("2.5.4.54", dissect_DirectoryString_PDU, proto_x509sat, "id-at-dmdName");
- register_ber_oid_dissector("2.5.4.65", dissect_DirectoryString_PDU, proto_x509sat, "id-at-pseudonym");
- register_ber_oid_dissector("2.5.4.41", dissect_DirectoryString_PDU, proto_x509sat, "id-at-name");
- register_ber_oid_dissector("2.5.4.8.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveStateOrProvinceName");
+ register_ber_oid_dissector("2.5.4.5", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-serialNumber");
+ register_ber_oid_dissector("2.5.4.6", dissect_CountryName_PDU, proto_x509sat, "id-at-countryName");
+ register_ber_oid_dissector("2.5.4.7", dissect_DirectoryString_PDU, proto_x509sat, "id-at-localityName");
+ register_ber_oid_dissector("2.5.4.7.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveLocalityName");
register_ber_oid_dissector("2.5.4.8", dissect_DirectoryString_PDU, proto_x509sat, "id-at-stateOrProvinceName");
+ register_ber_oid_dissector("2.5.4.8.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveStateOrProvinceName");
register_ber_oid_dissector("2.5.4.9", dissect_DirectoryString_PDU, proto_x509sat, "id-at-streetAddress");
register_ber_oid_dissector("2.5.4.9.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveStreetAddress");
register_ber_oid_dissector("2.5.4.10.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveOrganizationName");
- register_ber_oid_dissector("2.5.4.7", dissect_DirectoryString_PDU, proto_x509sat, "id-at-localityName");
+ register_ber_oid_dissector("2.5.4.10", dissect_DirectoryString_PDU, proto_x509sat, "id-at-organizationName");
register_ber_oid_dissector("2.5.4.11", dissect_DirectoryString_PDU, proto_x509sat, "id-at-organizationalUnitName");
register_ber_oid_dissector("2.5.4.11.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveOrganizationalUnitName");
register_ber_oid_dissector("2.5.4.12", dissect_DirectoryString_PDU, proto_x509sat, "id-at-title");
register_ber_oid_dissector("2.5.4.13", dissect_DirectoryString_PDU, proto_x509sat, "id-at-description");
+ register_ber_oid_dissector("2.5.4.14", dissect_EnhancedGuide_PDU, proto_x509sat, "id-at-searchGuide");
register_ber_oid_dissector("2.5.4.15", dissect_DirectoryString_PDU, proto_x509sat, "id-at-businessCategory");
+ register_ber_oid_dissector("2.5.4.16", dissect_PostalAddress_PDU, proto_x509sat, "id-at-postalAddress");
register_ber_oid_dissector("2.5.4.17", dissect_DirectoryString_PDU, proto_x509sat, "id-at-postalCode");
register_ber_oid_dissector("2.5.4.17.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectivePostalCode");
register_ber_oid_dissector("2.5.4.18", dissect_DirectoryString_PDU, proto_x509sat, "id-at-postOfficeBox");
@@ -2326,6 +2805,32 @@ void proto_reg_handoff_x509sat(void) {
register_ber_oid_dissector("2.5.4.20.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveTelephoneNumber");
register_ber_oid_dissector("2.5.4.21", dissect_TelexNumber_PDU, proto_x509sat, "id-at-telexNumber");
register_ber_oid_dissector("2.5.4.21.1", dissect_TelexNumber_PDU, proto_x509sat, "id-at-collectiveTelexNumber");
+ register_ber_oid_dissector("2.5.4.23", dissect_FacsimileTelephoneNumber_PDU, proto_x509sat, "id-at-facsimileTelephoneNumber");
+ register_ber_oid_dissector("2.5.4.23.1", dissect_FacsimileTelephoneNumber_PDU, proto_x509sat, "id-at-collectiveFacsimileTelephoneNumber");
+ register_ber_oid_dissector("2.5.4.24", dissect_X121Address_PDU, proto_x509sat, "id-at-x121Address");
+ register_ber_oid_dissector("2.5.4.25", dissect_InternationalISDNNumber_PDU, proto_x509sat, "id-at-internationalISDNNumber");
+ register_ber_oid_dissector("2.5.4.25.1", dissect_InternationalISDNNumber_PDU, proto_x509sat, "id-at-collectiveInternationalISDNNumber");
+ register_ber_oid_dissector("2.5.4.26", dissect_PostalAddress_PDU, proto_x509sat, "id-at-registeredAddress");
+ register_ber_oid_dissector("2.5.4.27", dissect_DestinationIndicator_PDU, proto_x509sat, "id-at-destinationIndicator");
+ register_ber_oid_dissector("2.5.4.28", dissect_PreferredDeliveryMethod_PDU, proto_x509sat, "id-at-preferredDeliveryMethod");
+ register_ber_oid_dissector("2.5.4.29", dissect_PresentationAddress_PDU, proto_x509sat, "id-at-presentationAddress");
+ register_ber_oid_dissector("2.5.4.30", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-supportedApplicationContext");
+ register_ber_oid_dissector("2.5.4.35", dissect_OctetString_PDU, proto_x509sat, "id-at-userPassword");
+ register_ber_oid_dissector("2.5.4.41", dissect_DirectoryString_PDU, proto_x509sat, "id-at-name");
+ register_ber_oid_dissector("2.5.4.42", dissect_DirectoryString_PDU, proto_x509sat, "id-at-givenName");
+ register_ber_oid_dissector("2.5.4.43", dissect_DirectoryString_PDU, proto_x509sat, "id-at-initials");
+ register_ber_oid_dissector("2.5.4.44", dissect_DirectoryString_PDU, proto_x509sat, "id-at-generationQualifier");
+ register_ber_oid_dissector("2.5.4.45", dissect_UniqueIdentifier_PDU, proto_x509sat, "id-at-uniqueIdedntifier");
+ register_ber_oid_dissector("2.5.4.46", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-dnQualifier");
+ register_ber_oid_dissector("2.5.4.47", dissect_EnhancedGuide_PDU, proto_x509sat, "id-at-enhancedSearchGuide");
+ register_ber_oid_dissector("2.5.4.48", dissect_ProtocolInformation_PDU, proto_x509sat, "id-at-protocolInformation");
+ register_ber_oid_dissector("2.5.4.50", dissect_NameAndOptionalUID_PDU, proto_x509sat, "id-at-uniqueMember");
+ register_ber_oid_dissector("2.5.4.51", dissect_DirectoryString_PDU, proto_x509sat, "id-at-houseIdentifier");
+ register_ber_oid_dissector("2.5.4.52", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-supportedAlgorithms");
+ register_ber_oid_dissector("2.5.4.54", dissect_DirectoryString_PDU, proto_x509sat, "id-at-dmdName");
+ register_ber_oid_dissector("2.5.4.65", dissect_DirectoryString_PDU, proto_x509sat, "id-at-pseudonym");
+ register_ber_oid_dissector("2.5.4.66", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-communuicationsService");
+ register_ber_oid_dissector("2.5.4.67", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-communuicationsNetwork");
/*--- End of included file: packet-x509sat-dis-tab.c ---*/
diff --git a/epan/dissectors/packet-x509sat.h b/epan/dissectors/packet-x509sat.h
index 8fcae6c92a..63811c08b9 100644
--- a/epan/dissectors/packet-x509sat.h
+++ b/epan/dissectors/packet-x509sat.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-x509sat.h */
+/* .\packet-x509sat.h */
/* ../../tools/asn2eth.py -X -b -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
/* Input file: packet-x509sat-template.h */
@@ -37,6 +37,7 @@
/*--- Included file: packet-x509sat-exp.h ---*/
#line 1 "packet-x509sat-exp.h"
+extern const value_string x509sat_DirectoryString_vals[];
extern const value_string x509sat_Criteria_vals[];
extern const value_string x509sat_ZonalResult_vals[];
extern const value_string x509sat_XDayOf_vals[];