Ethereal-dev: Re: [Ethereal-dev] DOP Protocol Dissection
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Graeme Lunt <graeme.lunt@xxxxxxxxx>
Date: Mon, 5 Dec 2005 17:45:48 +0100
> > I'll have a look at it as, as you say, it would be good to complete > > the set. > > Any chance you could send me a DOP capture to do some initial > > verification? > > Yes, I can try to make a capture in a day or two. > > > As a matter of interest, which DSA do you use? > > I am using XOmail to get the DOP capture. Attached are the 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. Graeme
Attachment:
dop.tar.gz
Description: GNU Zip compressed data
Index: epan/dissectors/Makefile.common
===================================================================
--- epan/dissectors/Makefile.common (revision 16673)
+++ epan/dissectors/Makefile.common (working copy)
@@ -254,6 +254,7 @@
packet-dlsw.c \
packet-dnp.c \
packet-dns.c \
+ packet-dop.c \
packet-dsi.c \
packet-dsp.c \
packet-dtp.c \
@@ -633,7 +634,6 @@
packet-x29.c \
packet-x411.c \
packet-x420.c \
- packet-x501.c \
packet-x509af.c \
packet-x509ce.c \
packet-x509if.c \
@@ -723,6 +723,7 @@
packet-dis-fields.h \
packet-dis-pdus.h \
packet-dns.h \
+ packet-dop.h \
packet-dsp.h \
packet-dvmrp.h \
packet-e164.h \
@@ -897,7 +898,6 @@
packet-x11-keysymdef.h \
packet-x411.h \
packet-x420.h \
- packet-x501.h \
packet-x509af.h \
packet-x509ce.h \
packet-x509if.h \
Index: asn1/dap/packet-dap-template.c
===================================================================
--- asn1/dap/packet-dap-template.c (revision 16673)
+++ asn1/dap/packet-dap-template.c (working copy)
@@ -48,7 +48,6 @@
#include "packet-dap.h"
#include <epan/strutil.h>
-
/* we don't have a separate dissector for X519 -
most of DAP is defined in X511 */
#define PNAME "X.519 Directory Access Protocol"
@@ -294,7 +293,11 @@
/* Register our configuration options for DAP, particularly our port */
+#ifdef PREFERENCE_GROUPING
+ dap_module = prefs_register_protocol_subtree("OSI/X.500", proto_dap, prefs_register_dap);
+#else
dap_module = prefs_register_protocol(proto_dap, prefs_register_dap);
+#endif
prefs_register_uint_preference(dap_module, "tcp.port", "DAP TCP Port",
"Set the port for DAP operations (if other"
Index: asn1/disp/disp.asn
===================================================================
--- asn1/disp/disp.asn (revision 16673)
+++ asn1/disp/disp.asn (working copy)
@@ -93,6 +93,9 @@
--}
-- types
+
+EstablishParameter ::= NULL
+
ModificationParameter ::= SEQUENCE {
secondaryShadows SET OF SupplierAndConsumers
}
Index: asn1/disp/disp.cnf
===================================================================
--- asn1/disp/disp.cnf (revision 16673)
+++ asn1/disp/disp.cnf (working copy)
@@ -7,14 +7,14 @@
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 @@
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
Index: asn1/disp/packet-disp-template.c
===================================================================
--- asn1/disp/packet-disp-template.c (revision 16673)
+++ asn1/disp/packet-disp-template.c (working copy)
@@ -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 @@
/* 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_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 @@
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");
}
Index: asn1/dsp/dsp-exp.cnf
===================================================================
--- asn1/dsp/dsp-exp.cnf (revision 16673)
+++ asn1/dsp/dsp-exp.cnf (working copy)
@@ -2,6 +2,7 @@
OperationProgress BER_CLASS_UNI BER_UNI_TAG_SET
ReferenceType BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
AccessPoint BER_CLASS_UNI BER_UNI_TAG_SET
+MasterAndShadowAccessPoints BER_CLASS_UNI BER_UNI_TAG_SET
ContinuationReference BER_CLASS_UNI BER_UNI_TAG_SET
#.END
@@ -9,6 +10,7 @@
OperationProgress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
ReferenceType TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dsp_ReferenceType_vals) BITMASK = 0
AccessPoint TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+MasterAndShadowAccessPoints TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
ContinuationReference TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
#.END
Index: asn1/dsp/packet-dsp-template.c
===================================================================
--- asn1/dsp/packet-dsp-template.c (revision 16673)
+++ asn1/dsp/packet-dsp-template.c (working copy)
@@ -298,7 +298,11 @@
/* Register our configuration options for DSP, particularly our port */
+#ifdef PREFERENCE_GROUPING
+ dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, prefs_register_dsp);
+#else
dsp_module = prefs_register_protocol(proto_dsp, prefs_register_dsp);
+#endif
prefs_register_uint_preference(dsp_module, "tcp.port", "DSP TCP Port",
"Set the port for DSP operations (if other"
Index: asn1/dsp/dsp.asn
===================================================================
--- asn1/dsp/dsp.asn (revision 16673)
+++ asn1/dsp/dsp.asn (working copy)
@@ -424,6 +424,8 @@
supplier(5), master(6), immediateSuperior(7), self(8)}
AccessPoint ::= SET {
+-- The following line, whilst wrong, helps with Thales DOP dissection
+-- ae-title [0] IMPLICIT NULL,
ae-title [0] Name,
address [1] PresentationAddress,
protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL
Index: asn1/dsp/dsp.cnf
===================================================================
--- asn1/dsp/dsp.cnf (revision 16673)
+++ asn1/dsp/dsp.cnf (working copy)
@@ -19,6 +19,7 @@
ReferenceType
ContinuationReference
AccessPoint
+MasterAndShadowAccessPoints
#.TYPE_RENAME
- Prev by Date: [Ethereal-dev] Dumpcap: Coredump when disconnecting Ethernet during capture
- Next by Date: Re: [Ethereal-dev] Questions about the X.411 dissector
- Previous by thread: [Ethereal-dev] Dumpcap: Coredump when disconnecting Ethernet during capture
- Next by thread: Re: [Ethereal-dev] Questions about the X.411 dissector
- Index(es):





