aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/disp
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-12-07 23:20:11 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-12-07 23:20:11 +0000
commitfa92d58b4050be3ec86227619e0cb08debb7e222 (patch)
tree46169c3c7d610ad5d8c47911a9aa4c424f196c38 /asn1/disp
parent55d5c5cc6649c58e27d9441d3161b72a391af82d (diff)
From Grame Lunt:
updated X.500 dissectors to include DOP support. The "dop" dissector is the renamed "x501" dissector consequently the asn/x501 directory should be removed. The patch includes the changes to epan/dissectors/Makefile.common to reflect this. As the DOP dissection is not fully tested, I have disabled it by default for now (like DSP) but it can be enabled by the user. svn path=/trunk/; revision=16726
Diffstat (limited to 'asn1/disp')
-rw-r--r--asn1/disp/Makefile.nmake42
-rw-r--r--asn1/disp/disp.asn3
-rw-r--r--asn1/disp/disp.cnf19
-rw-r--r--asn1/disp/packet-disp-template.c11
4 files changed, 71 insertions, 4 deletions
diff --git a/asn1/disp/Makefile.nmake b/asn1/disp/Makefile.nmake
new file mode 100644
index 0000000000..e15f04a25d
--- /dev/null
+++ b/asn1/disp/Makefile.nmake
@@ -0,0 +1,42 @@
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# $Id$
+
+include ../../config.nmake
+
+UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
+
+PROTOCOL_NAME=disp
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
+
+all: generate_dissector
+
+generate_dissector: $(DISSECTOR_FILES)
+
+$(DISSECTOR_FILES): ../../tools/asn2eth.py disp.asn packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h $(PROTOCOL_NAME).cnf
+!IFDEF PYTHON
+ $(PYTHON) ../../tools/asn2eth.py -X -b -e -p $(PROTOCOL_NAME) -c $(PROTOCOL_NAME).cnf -s packet-$(PROTOCOL_NAME)-template disp.asn
+!ELSE
+ @echo Error: You need Python to use asn2eth.py
+ @exit 1
+!ENDIF
+
+clean:
+ rm -f parsetab.py $(DISSECTOR_FILES)
+
+# Fix EOL in generated dissectors. Cygwin's python generates files with
+# mixed EOL styles, which can't be commited to the SVN repository.
+# Stuff included from template and "cnf" files has "\r\n" on windows, while
+# the generated stuff has "\n".
+
+fix_eol: generate_dissector
+ move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
+ move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
+ 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 /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
+
diff --git a/asn1/disp/disp.asn b/asn1/disp/disp.asn
index fc6adb709b..05a75c2598 100644
--- a/asn1/disp/disp.asn
+++ b/asn1/disp/disp.asn
@@ -93,6 +93,9 @@ dSAShadowUnbind OPERATION ::= directoryUnbind
--}
-- types
+
+EstablishParameter ::= NULL
+
ModificationParameter ::= SEQUENCE {
secondaryShadows SET OF SupplierAndConsumers
}
diff --git a/asn1/disp/disp.cnf b/asn1/disp/disp.cnf
index a6436bc1bd..1114e9dbec 100644
--- a/asn1/disp/disp.cnf
+++ b/asn1/disp/disp.cnf
@@ -7,14 +7,14 @@ AuthenticationFramework x509af
ACSE-1 acse
DirectoryAbstractService dap
DistributedOperations dsp
-DSAOperationalAttributeTypes x501
+DSAOperationalAttributeTypes dop
OperationalBindingManagement dap
-#.INCLUDE ../x501/x501-exp.cnf
#.INCLUDE ../x509if/x509if-exp.cnf
#.INCLUDE ../x509af/x509af-exp.cnf
#.INCLUDE ../dap/dap-exp.cnf
#.INCLUDE ../dsp/dsp-exp.cnf
+#.INCLUDE ../dop/dop-exp.cnf
#.INCLUDE ../acse/acse-exp.cnf
#.TYPE_RENAME
@@ -27,6 +27,21 @@ ModificationParameter/secondaryShadows modifiedSecondaryShadows
CoordinateShadowUpdateArgumentData/updateStrategy/standard standardUpdate
Information/signedInformation/information information-data
+#.REGISTER
+
+ShadowingAgreementInfo B "dop.agreement.2.5.19.1" "shadow-agreement"
+EstablishParameter B "dop.establish.rolea.2.5.19.1" "shadow-establish-rolea"
+EstablishParameter B "dop.establish.roleb.2.5.19.1" "shadow-establish-roleb"
+ModificationParameter B "dop.modify.rolea.2.5.19.1" "shadow-modify-rolea"
+ModificationParameter B "dop.modify.roleb.2.5.19.1" "shadow-modify-roleb"
+
+# these are useful to Thales DOP
+ShadowingAgreementInfo B "dop.agreement.2.5.1.0.2.1" "shadow-agreement"
+EstablishParameter B "dop.establish.rolea.2.5.1.0.2.1" "shadow-establish-rolea"
+EstablishParameter B "dop.establish.roleb.2.5.1.0.2.1" "shadow-establish-roleb"
+ModificationParameter B "dop.modify.rolea.2.5.1.0.2.1" "shadow-modify-rolea"
+ModificationParameter B "dop.modify.roleb.2.5.1.0.2.1" "shadow-modify-roleb"
+
#.FN_PARS T_standard
VAL_PTR = &update
diff --git a/asn1/disp/packet-disp-template.c b/asn1/disp/packet-disp-template.c
index 079c2602b8..9087fa8181 100644
--- a/asn1/disp/packet-disp-template.c
+++ b/asn1/disp/packet-disp-template.c
@@ -45,7 +45,7 @@
#include "packet-x509sat.h"
#include "packet-crmf.h"
-#include "packet-x501.h"
+#include "packet-dop.h"
#include "packet-dap.h"
#include "packet-dsp.h"
#include "packet-disp.h"
@@ -221,7 +221,11 @@ void proto_register_disp(void) {
/* Register our configuration options for DISP, particularly our port */
+#ifdef PREFERENCE_GROUPING
+ disp_module = prefs_register_protocol_subtree("OSI/X.500", proto_disp, prefs_register_disp);
+#else
disp_module = prefs_register_protocol(proto_disp, prefs_register_disp);
+#endif
prefs_register_uint_preference(disp_module, "tcp.port", "DISP TCP Port",
"Set the port for DISP operations (if other"
@@ -235,7 +239,7 @@ void proto_register_disp(void) {
void proto_reg_handoff_disp(void) {
dissector_handle_t handle = NULL;
- /* #include "packet-disp-dis-tab.c" */
+ #include "packet-disp-dis-tab.c"
/* APPLICATION CONTEXT */
@@ -254,6 +258,9 @@ void proto_reg_handoff_disp(void) {
register_rtse_oid_dissector_handle("2.5.9.6", handle, 0, "id-as-directory-reliable-binding", FALSE);
}
+ /* OPERATIONAL BINDING */
+ register_ber_oid_name("2.5.1.0.5.1", "id-op-binding-shadow");
+
tpkt_handle = find_dissector("tpkt");
}