aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/dap/packet-dap-template.c1
-rw-r--r--asn1/dop/dop.asn8
-rw-r--r--asn1/h225/Makefile.nmake4
-rw-r--r--asn1/tcap/Makefile.nmake4
-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
20 files changed, 839 insertions, 382 deletions
diff --git a/asn1/dap/packet-dap-template.c b/asn1/dap/packet-dap-template.c
index 9d5a0e24f9..70a3ce74ac 100644
--- a/asn1/dap/packet-dap-template.c
+++ b/asn1/dap/packet-dap-template.c
@@ -45,6 +45,7 @@
#include "packet-crmf.h"
#include "packet-dsp.h"
+#include "packet-disp.h"
#include "packet-dap.h"
#include <epan/strutil.h>
diff --git a/asn1/dop/dop.asn b/asn1/dop/dop.asn
index cea41dc89e..f7ddeb0180 100644
--- a/asn1/dop/dop.asn
+++ b/asn1/dop/dop.asn
@@ -278,8 +278,6 @@ dSAOperationalBindingManagementUnbind OPERATION ::= directoryUnbind
EstablishOperationalBindingArgumentData ::=
-- OPTIONALLY-PROTECTED-SEQ
-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet}) -- OBJECT IDENTIFIER,
--- The following line, whilst wrong, helps with Thales DOP dissection
--- bindingID [1] IMPLICIT OperationalBindingID OPTIONAL,
bindingID [1] OperationalBindingID OPTIONAL,
accessPoint [2] AccessPoint,
-- symmetric, Role A initiates, or Role B initiates
@@ -329,8 +327,6 @@ Time ::= CHOICE {utcTime UTCTime,
EstablishOperationalBindingResult ::=
-- OPTIONALLY-PROTECTED-SEQ
-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet}) -- OBJECT IDENTIFIER,
--- The following line, whilst wrong, helps with Thales DOP dissection
--- bindingID [1] IMPLICIT OperationalBindingID OPTIONAL,
bindingID [1] OperationalBindingID OPTIONAL,
accessPoint [2] AccessPoint,
-- symmetric, Role A replies , or Role B replies
@@ -361,8 +357,6 @@ EstablishOperationalBindingResult ::=
ModifyOperationalBindingArgumentData ::=
-- OPTIONALLY-PROTECTED-SEQ
-- {--SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet})-- OBJECT IDENTIFIER,
--- The following line, whilst wrong, helps with Thales DOP dissection
--- bindingID [1] IMPLICIT OperationalBindingID,
bindingID [1] OperationalBindingID,
accessPoint [2] AccessPoint OPTIONAL,
-- symmetric, Role A initiates, or Role B initiates
@@ -429,8 +423,6 @@ ModifyOperationalBindingResultData ::= SEQUENCE {
TerminateOperationalBindingArgumentData ::=
-- OPTIONALLY-PROTECTED-SEQ
-- {-- SEQUENCE {bindingType [0] --OPERATIONAL-BINDING.&id({OpBindingSet})-- OBJECT IDENTIFIER,
--- The following line, whilst wrong, helps with Thales DOP dissection
--- bindingID [1] IMPLICIT OperationalBindingID,
bindingID [1] OperationalBindingID,
-- symmetric, Role A initiates, or Role B initiates
initiator
diff --git a/asn1/h225/Makefile.nmake b/asn1/h225/Makefile.nmake
index 7d0f5b4f55..1e114438da 100644
--- a/asn1/h225/Makefile.nmake
+++ b/asn1/h225/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/tcap/Makefile.nmake b/asn1/tcap/Makefile.nmake
index 1c5839b240..a465d7b81d 100644
--- a/asn1/tcap/Makefile.nmake
+++ b/asn1/tcap/Makefile.nmake
@@ -37,5 +37,5 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
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[];