aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/dap
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-12-14 21:02:56 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-12-14 21:02:56 +0000
commit404b556084233771a3425f4347d9b2f4a2d0c943 (patch)
tree3a79d142c2fd214b996049fafc290d6534470787 /asn1/dap
parent7980c9295e9cfe5f7c2dbdd3913c8c5a83dcc56b (diff)
From Grame Lunt:
Attached is a patch that updates - * DOP - This has now been successfully tested and so is now enabled by default and workaround code removed. Also now uses the correct EXPORTs from the other modules/dissectors. * X509SAT - Most of the selected attributes are now supported in addition to the DirectoryString syntax attributes. This includes restoring the correct DirectoryString syntax and also providing the basic syntaxes (e.g. OBJECT IDENTIFIER, PrintableString). The latter requires a sed line in the Makefile which I assume should be OK? Not all the SAT can be defined in x509sat - so some have been included in x509if and x509af - though x509sat.cnf contains the master list and references the other dissectors where appropriate. (I still prefer a syntax registration approach but I don't think that is going to be agreed in the short term.) * X509IF - a mechanism to register some formating, based upon the hf_index, that is used in the cnf file. * A couple of fixes identified by Stig. Note the patc for dop did not apply don't regenerate dissectors yet. svn path=/trunk/; revision=16799
Diffstat (limited to 'asn1/dap')
-rw-r--r--asn1/dap/dap-exp.cnf2
-rw-r--r--asn1/dap/dap.asn30
-rw-r--r--asn1/dap/dap.cnf34
-rw-r--r--asn1/dap/packet-dap-template.c9
4 files changed, 31 insertions, 44 deletions
diff --git a/asn1/dap/dap-exp.cnf b/asn1/dap/dap-exp.cnf
index aa8d99abe2..60efa31464 100644
--- a/asn1/dap/dap-exp.cnf
+++ b/asn1/dap/dap-exp.cnf
@@ -31,7 +31,6 @@ Referral BER_CLASS_ANY/*choice*/ -1/*choice*/
SecurityError BER_CLASS_ANY/*choice*/ -1/*choice*/
ServiceError BER_CLASS_ANY/*choice*/ -1/*choice*/
UpdateError BER_CLASS_ANY/*choice*/ -1/*choice*/
-OperationalBindingID BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
#.END
#.TYPE_ATTR
@@ -67,6 +66,5 @@ Referral TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(d
SecurityError TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dap_SecurityError_vals) BITMASK = 0
ServiceError TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dap_ServiceError_vals) BITMASK = 0
UpdateError TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dap_UpdateError_vals) BITMASK = 0
-OperationalBindingID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
#.END
diff --git a/asn1/dap/dap.asn b/asn1/dap/dap.asn
index dd165f9eb3..9edcea388a 100644
--- a/asn1/dap/dap.asn
+++ b/asn1/dap/dap.asn
@@ -45,9 +45,9 @@ IMPORTS
id-opcode-search
FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4}
-- from ITU-T Rec. X.520 | ISO/IEC 9594-6
--- DirectoryString{}
--- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
--- selectedAttributeTypes(5) 4}
+ DirectoryString
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 4}
ub-domainLocalID
FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 4}
-- from ITU-T Rec. X.509 | ISO/IEC 9594-8
@@ -58,9 +58,9 @@ IMPORTS
FROM AttributeCertificateDefinitions {joint-iso-itu-t ds(5) module(1)
attributeCertificateDefinitions(32) 4}
-- from ITU-T Rec. X.525 | ISO/IEC 9594-9
--- AgreementID
--- FROM DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
--- directoryShadowAbstractService(15) 4}
+ AgreementID
+ FROM DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
+ directoryShadowAbstractService(15) 4}
-- from ITU-T Rec. X.880 | ISO/IEC 13712-1
Code, ERROR, OPERATION
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
@@ -1265,24 +1265,6 @@ UpdateProblem ::= INTEGER {
-- attribute types
--id-at-family-information OBJECT IDENTIFIER ::= {id-at 64}
-AgreementID ::= OperationalBindingID
-
-OperationalBindingID ::= SEQUENCE {
- identifier INTEGER,
- version INTEGER
-}
-
-
--- local definition as one in x509sat is wrong! */
-DirectoryString ::= CHOICE {
- teletexString TeletexString,
- printableString PrintableString,
- universalString UniversalString,
- bmpString BMPString,
- uTF8String UTF8String
-}
-
-
END -- DirectoryAbstractService
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
diff --git a/asn1/dap/dap.cnf b/asn1/dap/dap.cnf
index 1a7fee85bb..a44d0289d5 100644
--- a/asn1/dap/dap.cnf
+++ b/asn1/dap/dap.cnf
@@ -5,6 +5,8 @@ ServiceAdministration x509if
AuthenticationFramework x509af
AttributeCertificateDefinitions x509af
+SelectedAttributeTypes x509sat
+
BasicAccessControl crmf
Remote-Operations-Generic-ROS-PDUs ros
@@ -12,11 +14,14 @@ Remote-Operations-Information-Objects ros
ACSE-1 acse
DistributedOperations dsp
+DirectoryShadowAbstractService disp
#.INCLUDE ../x509if/x509if-exp.cnf
#.INCLUDE ../x509af/x509af-exp.cnf
+#.INCLUDE ../x509sat/x509sat-exp.cnf
#.INCLUDE ../pkixcrmf/crmf-exp.cnf
#.INCLUDE ../dsp/dsp-exp.cnf
+#.INCLUDE ../disp/disp-exp.cnf
#.INCLUDE ../ros/ros-exp.cnf
#.INCLUDE ../acse/acse-exp.cnf
@@ -26,7 +31,6 @@ Referral
SecurityParameters
EntryModification
ContextSelection
-OperationalBindingID
DirectoryBindArgument
DirectoryBindError
ReadArgument
@@ -161,24 +165,8 @@ ModifyRights/_item/item/value value-assertion
if(check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", x509if_get_last_dn());
-#.FN_PARS INTEGER
- VAL_PTR = &value
-
-#.FN_BODY INTEGER
- guint32 value;
-
- %(DEFAULT_BODY)s
-
- 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);
- }
- }
-
#.FN_PARS OCTET_STRING
- VAL_PTR=&out_tvb
+ VAL_PTR=&out_tvb
#.FN_BODY OCTET_STRING
tvbuff_t *out_tvb;
@@ -275,3 +263,13 @@ ModifyRights/_item/item/value value-assertion
col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", (dn && *dn) ? dn : "(root)");
}
+#.FN_BODY T_subordinates_item
+ proto_item *sub_item;
+
+ %(DEFAULT_BODY)s
+
+ if((sub_item = get_ber_last_created_item())) {
+
+ proto_item_append_text(sub_item," (%%s)", x509if_get_last_dn());
+ }
+
diff --git a/asn1/dap/packet-dap-template.c b/asn1/dap/packet-dap-template.c
index 695e5f0484..9d5a0e24f9 100644
--- a/asn1/dap/packet-dap-template.c
+++ b/asn1/dap/packet-dap-template.c
@@ -327,6 +327,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, "= *");
+
+
}