aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/x509sat/SelectedAttributeTypes.asn44
-rw-r--r--asn1/x509sat/packet-x509sat-template.c49
-rw-r--r--epan/dissectors/packet-x509sat.c110
3 files changed, 181 insertions, 22 deletions
diff --git a/asn1/x509sat/SelectedAttributeTypes.asn b/asn1/x509sat/SelectedAttributeTypes.asn
index c47eb45342..9509a8180c 100644
--- a/asn1/x509sat/SelectedAttributeTypes.asn
+++ b/asn1/x509sat/SelectedAttributeTypes.asn
@@ -316,9 +316,9 @@ CriteriaItem ::= CHOICE {
-- SUBSTRINGS MATCHING RULE telephoneNumberSubstringsMatch
-- ID id-at-telephoneNumber
-- }
---
--- TelephoneNumber ::= PrintableString(SIZE (1..ub-telephone-number))
---
+
+TelephoneNumber ::= PrintableString
+
-- String complying with CCITT Rec. E.123 only
-- collectiveTelephoneNumber ATTRIBUTE ::= {
-- SUBTYPE OF telephoneNumber
@@ -330,13 +330,13 @@ CriteriaItem ::= CHOICE {
-- WITH SYNTAX TelexNumber
-- ID id-at-telexNumber
-- }
---
--- TelexNumber ::= SEQUENCE {
--- telexNumber PrintableString(SIZE (1..ub-telex-number)),
--- countryCode PrintableString(SIZE (1..ub-country-code)),
--- answerback PrintableString(SIZE (1..ub-answerback))
--- }
---
+
+TelexNumber ::= SEQUENCE {
+ telexNumber PrintableString,
+ countryCode PrintableString,
+ answerback PrintableString
+}
+
-- collectiveTelexNumber ATTRIBUTE ::= {
-- SUBTYPE OF telexNumber
-- COLLECTIVE TRUE
@@ -1061,21 +1061,21 @@ id-at-collectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::= {id-at 19 1}
-- id-at-encryptedCollectivePhysicalDeliveryOfficeName OBJECT IDENTIFIER ::=
-- {id-at 19 1 2}
---
--- id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
---
+
+id-at-telephoneNumber OBJECT IDENTIFIER ::= {id-at 20}
+
-- id-at-encryptedTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 2}
---
--- id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
---
+
+id-at-collectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1}
+
-- id-at-encryptedCollectiveTelephoneNumber OBJECT IDENTIFIER ::= {id-at 20 1 2}
---
--- id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
---
+
+id-at-telexNumber OBJECT IDENTIFIER ::= {id-at 21}
+
-- id-at-encryptedTelexNumber OBJECT IDENTIFIER ::= {id-at 21 2}
---
--- id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
---
+
+id-at-collectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1}
+
-- id-at-encryptedCollectiveTelexNumber OBJECT IDENTIFIER ::= {id-at 21 1 2}
--
-- id-at-teletexTerminalIdentifier OBJECT IDENTIFIER ::= {id-at 22}
diff --git a/asn1/x509sat/packet-x509sat-template.c b/asn1/x509sat/packet-x509sat-template.c
index 38b012e9cc..350665b429 100644
--- a/asn1/x509sat/packet-x509sat-template.c
+++ b/asn1/x509sat/packet-x509sat-template.c
@@ -73,6 +73,10 @@ int hf_x509sat_collectivePostOfficeBox = -1;
int hf_x509sat_physicalDeliveryOfficeName = -1;
int hf_x509sat_collectivePhysicalDeliveryOfficeName = -1;
int hf_x509sat_dmdName = -1;
+int hf_x509sat_id_at_telexNumber = -1;
+int hf_x509sat_id_at_collectiveTelexNumber = -1;
+int hf_x509sat_id_at_telephoneNumber = -1;
+int hf_x509sat_id_at_collectiveTelephoneNumber = -1;
/*aaa*/
#include "packet-x509sat-hf.c"
@@ -316,6 +320,31 @@ dissect_x509sat_dmdName_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
{
dissect_x509sat_DirectoryString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_dmdName);
}
+
+
+static void
+dissect_x509sat_telexNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelexNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_telexNumber);
+}
+
+static void
+dissect_x509sat_collectiveTelexNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelexNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_collectiveTelexNumber);
+}
+
+static void
+dissect_x509sat_telephoneNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelephoneNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_telephoneNumber);
+}
+
+static void
+dissect_x509sat_collectiveTelephoneNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelephoneNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_collectiveTelephoneNumber);
+}
/*bbb*/
/*--- proto_register_x509sat ----------------------------------------------*/
@@ -443,6 +472,22 @@ void proto_register_x509sat(void) {
{ "dmdName", "x509sat.dmdName",
FT_STRING, BASE_NONE, NULL, 0,
"dmdName", HFILL }},
+ { &hf_x509sat_id_at_telexNumber,
+ { "telexNumber", "x509sat.id_at_telexNumber",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "telexNumber", HFILL }},
+ { &hf_x509sat_id_at_collectiveTelexNumber,
+ { "collectiveTelexNumber", "x509sat.id_at_collectiveTelexNumber",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "collectiveTelexNumber", HFILL }},
+ { &hf_x509sat_id_at_telephoneNumber,
+ { "telephoneNumber", "x509sat.id_at_telephoneNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "telephoneNumber", HFILL }},
+ { &hf_x509sat_id_at_collectiveTelephoneNumber,
+ { "collectiveTelephoneNumber", "x509sat.id_at_collectiveTelephoneNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "collectiveTelephoneNumber", HFILL }},
/*ccc*/
#include "packet-x509sat-hfarr.c"
};
@@ -488,6 +533,10 @@ void proto_reg_handoff_x509sat(void) {
register_ber_oid_dissector("2.5.4.18.1", dissect_x509sat_collectivePostOfficeBox_callback, proto_x509sat, "id-at-collectivePostOfficeBox");
register_ber_oid_dissector("2.5.4.19", dissect_x509sat_physicalDeliveryOfficeName_callback, proto_x509sat, "id-at-physicalDeliveryOfficeName");
register_ber_oid_dissector("2.5.4.19.1", dissect_x509sat_collectivePhysicalDeliveryOfficeName_callback, proto_x509sat, "id-at-collectivePhysicalDeliveryOfficeName");
+ register_ber_oid_dissector("2.5.4.20", dissect_x509sat_telephoneNumber_callback, proto_x509sat, "id-at-telephoneNumber");
+ register_ber_oid_dissector("2.5.4.20.1", dissect_x509sat_collectiveTelephoneNumber_callback, proto_x509sat, "id-at-collectiveTelephoneNumber");
+ register_ber_oid_dissector("2.5.4.21", dissect_x509sat_telexNumber_callback, proto_x509sat, "id-at-telexNumber");
+ register_ber_oid_dissector("2.5.4.21.1", dissect_x509sat_collectiveTelexNumber_callback, proto_x509sat, "id-at-collectiveTelexNumber");
register_ber_oid_dissector("2.5.4.41", dissect_x509sat_name_callback, proto_x509sat, "id-at-name");
register_ber_oid_dissector("2.5.4.42", dissect_x509sat_givenName_callback, proto_x509sat, "id-at-givenName");
register_ber_oid_dissector("2.5.4.43", dissect_x509sat_initials_callback, proto_x509sat, "id-at-initials");
diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c
index b429bf19be..d006eba868 100644
--- a/epan/dissectors/packet-x509sat.c
+++ b/epan/dissectors/packet-x509sat.c
@@ -81,6 +81,10 @@ int hf_x509sat_collectivePostOfficeBox = -1;
int hf_x509sat_physicalDeliveryOfficeName = -1;
int hf_x509sat_collectivePhysicalDeliveryOfficeName = -1;
int hf_x509sat_dmdName = -1;
+int hf_x509sat_id_at_telexNumber = -1;
+int hf_x509sat_id_at_collectiveTelexNumber = -1;
+int hf_x509sat_id_at_telephoneNumber = -1;
+int hf_x509sat_id_at_collectiveTelephoneNumber = -1;
/*aaa*/
/*--- Included file: packet-x509sat-hf.c ---*/
@@ -95,6 +99,9 @@ static int hf_x509sat_substrings = -1; /* AttributeType */
static int hf_x509sat_greaterOrEqual = -1; /* AttributeType */
static int hf_x509sat_lessOrEqual = -1; /* AttributeType */
static int hf_x509sat_approximateMatch = -1; /* AttributeType */
+static int hf_x509sat_telexNumber = -1; /* PrintableString */
+static int hf_x509sat_countryCode = -1; /* PrintableString */
+static int hf_x509sat_answerback = -1; /* PrintableString */
/*--- End of included file: packet-x509sat-hf.c ---*/
@@ -110,6 +117,7 @@ static gint ett_x509sat_DirectoryString = -1;
/* ../../tools/asn2eth.py -X -b -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
static gint ett_x509sat_CriteriaItem = -1;
+static gint ett_x509sat_TelexNumber = -1;
/*--- End of included file: packet-x509sat-ett.c ---*/
@@ -185,6 +193,50 @@ dissect_x509sat_CriteriaItem(gboolean implicit_tag, tvbuff_t *tvb, int offset, p
}
+static int
+dissect_x509sat_TelephoneNumber(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static int
+dissect_x509sat_PrintableString(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ 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 ber_sequence 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 },
+ { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_answerback },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_TelexNumber(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ TelexNumber_sequence, hf_index, ett_x509sat_TelexNumber);
+
+ return offset;
+}
+
+
/*--- End of included file: packet-x509sat-fn.c ---*/
@@ -422,6 +474,31 @@ dissect_x509sat_dmdName_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
{
dissect_x509sat_DirectoryString(FALSE, tvb, 0, pinfo, tree, hf_x509sat_dmdName);
}
+
+
+static void
+dissect_x509sat_telexNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelexNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_telexNumber);
+}
+
+static void
+dissect_x509sat_collectiveTelexNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelexNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_collectiveTelexNumber);
+}
+
+static void
+dissect_x509sat_telephoneNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelephoneNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_telephoneNumber);
+}
+
+static void
+dissect_x509sat_collectiveTelephoneNumber_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+{
+ dissect_x509sat_TelephoneNumber(FALSE, tvb, 0, pinfo, tree, hf_x509sat_id_at_collectiveTelephoneNumber);
+}
/*bbb*/
/*--- proto_register_x509sat ----------------------------------------------*/
@@ -549,6 +626,22 @@ void proto_register_x509sat(void) {
{ "dmdName", "x509sat.dmdName",
FT_STRING, BASE_NONE, NULL, 0,
"dmdName", HFILL }},
+ { &hf_x509sat_id_at_telexNumber,
+ { "telexNumber", "x509sat.id_at_telexNumber",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "telexNumber", HFILL }},
+ { &hf_x509sat_id_at_collectiveTelexNumber,
+ { "collectiveTelexNumber", "x509sat.id_at_collectiveTelexNumber",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "collectiveTelexNumber", HFILL }},
+ { &hf_x509sat_id_at_telephoneNumber,
+ { "telephoneNumber", "x509sat.id_at_telephoneNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "telephoneNumber", HFILL }},
+ { &hf_x509sat_id_at_collectiveTelephoneNumber,
+ { "collectiveTelephoneNumber", "x509sat.id_at_collectiveTelephoneNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "collectiveTelephoneNumber", HFILL }},
/*ccc*/
/*--- Included file: packet-x509sat-hfarr.c ---*/
@@ -578,6 +671,18 @@ void proto_register_x509sat(void) {
{ "approximateMatch", "x509sat.approximateMatch",
FT_NONE, BASE_NONE, NULL, 0,
"CriteriaItem/approximateMatch", HFILL }},
+ { &hf_x509sat_telexNumber,
+ { "telexNumber", "x509sat.telexNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TelexNumber/telexNumber", HFILL }},
+ { &hf_x509sat_countryCode,
+ { "countryCode", "x509sat.countryCode",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TelexNumber/countryCode", HFILL }},
+ { &hf_x509sat_answerback,
+ { "answerback", "x509sat.answerback",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TelexNumber/answerback", HFILL }},
/*--- End of included file: packet-x509sat-hfarr.c ---*/
@@ -595,6 +700,7 @@ void proto_register_x509sat(void) {
/* ../../tools/asn2eth.py -X -b -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
&ett_x509sat_CriteriaItem,
+ &ett_x509sat_TelexNumber,
/*--- End of included file: packet-x509sat-ettarr.c ---*/
@@ -635,6 +741,10 @@ void proto_reg_handoff_x509sat(void) {
register_ber_oid_dissector("2.5.4.18.1", dissect_x509sat_collectivePostOfficeBox_callback, proto_x509sat, "id-at-collectivePostOfficeBox");
register_ber_oid_dissector("2.5.4.19", dissect_x509sat_physicalDeliveryOfficeName_callback, proto_x509sat, "id-at-physicalDeliveryOfficeName");
register_ber_oid_dissector("2.5.4.19.1", dissect_x509sat_collectivePhysicalDeliveryOfficeName_callback, proto_x509sat, "id-at-collectivePhysicalDeliveryOfficeName");
+ register_ber_oid_dissector("2.5.4.20", dissect_x509sat_telephoneNumber_callback, proto_x509sat, "id-at-telephoneNumber");
+ register_ber_oid_dissector("2.5.4.20.1", dissect_x509sat_collectiveTelephoneNumber_callback, proto_x509sat, "id-at-collectiveTelephoneNumber");
+ register_ber_oid_dissector("2.5.4.21", dissect_x509sat_telexNumber_callback, proto_x509sat, "id-at-telexNumber");
+ register_ber_oid_dissector("2.5.4.21.1", dissect_x509sat_collectiveTelexNumber_callback, proto_x509sat, "id-at-collectiveTelexNumber");
register_ber_oid_dissector("2.5.4.41", dissect_x509sat_name_callback, proto_x509sat, "id-at-name");
register_ber_oid_dissector("2.5.4.42", dissect_x509sat_givenName_callback, proto_x509sat, "id-at-givenName");
register_ber_oid_dissector("2.5.4.43", dissect_x509sat_initials_callback, proto_x509sat, "id-at-initials");