diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-12-07 23:20:11 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-12-07 23:20:11 +0000 |
commit | 7d5f1ba0176b7b085754cb5715479e3d50bb066d (patch) | |
tree | 46169c3c7d610ad5d8c47911a9aa4c424f196c38 /asn1/disp | |
parent | 78f7b3dfbbd92861a7e59698898d7ba30ed51804 (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.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@16726 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1/disp')
-rw-r--r-- | asn1/disp/Makefile.nmake | 42 | ||||
-rw-r--r-- | asn1/disp/disp.asn | 3 | ||||
-rw-r--r-- | asn1/disp/disp.cnf | 19 | ||||
-rw-r--r-- | asn1/disp/packet-disp-template.c | 11 |
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"); } |