aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/acse
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-01-04 23:17:37 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-01-04 23:17:37 +0000
commite8042d8eec671096cac639dd03ae611ca1c7c6e7 (patch)
tree40a7dfc37bec4c4206a020ce16010cb6a89d62a3 /asn1/acse
parent38b0b13b2308048d79602b7655505ce115cbb530 (diff)
From gonzalocas:
GSSE message dissector. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4370 svn path=/trunk/; revision=31442
Diffstat (limited to 'asn1/acse')
-rw-r--r--asn1/acse/acse.cnf2
-rw-r--r--asn1/acse/packet-acse-template.c44
2 files changed, 37 insertions, 9 deletions
diff --git a/asn1/acse/acse.cnf b/asn1/acse/acse.cnf
index 9b41f16336..c9c8b0ac33 100644
--- a/asn1/acse/acse.cnf
+++ b/asn1/acse/acse.cnf
@@ -40,7 +40,7 @@ AARE-apdu/_untag/protocol-version aARE_protocol_version
AARQ-apdu/_untag/aSO-context-name aARQ_aSO_context_name
AARE-apdu/_untag/aSO-context-name aARE_aSO_context_name
ACRQ-apdu/_untag/aSO-context-name aCRQ_aSO_context_name
-
+PDV-list/presentation-data-values/octet-aligned pDVList_octet_aligned
#.FN_PARS Authentication-value-other/other-mechanism-name
FN_VARIANT = _str VAL_PTR = &object_identifier_id
diff --git a/asn1/acse/packet-acse-template.c b/asn1/acse/packet-acse-template.c
index 4764c9e20a..46056b166e 100644
--- a/asn1/acse/packet-acse-template.c
+++ b/asn1/acse/packet-acse-template.c
@@ -58,10 +58,19 @@
#define PSNAME "ACSE"
#define PFNAME "acse"
+#define CLPNAME "ISO 10035-1 OSI Connectionless Association Control Service"
+#define CLPSNAME "CLACSE"
+#define CLPFNAME "clacse"
+
+
#define ACSE_APDU_OID "2.2.1.0.1"
/* Initialize the protocol and registered fields */
-static int proto_acse = -1;
+int proto_acse = -1;
+int proto_clacse = -1;
+
+
+
#include "packet-acse-hf.c"
/* Initialize the subtree pointers */
@@ -196,6 +205,7 @@ dissect_acse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
case SES_DISCONNECT: /* RLRQ */
case SES_FINISH: /* RLRE */
case SES_ABORT: /* ABRT */
+ case CLSES_UNIT_DATA: /* AARQ Connetctionless session */
break;
case SES_DATA_TRANSFER:
oid=find_oid_by_pres_ctx_id(pinfo, indir_ref);
@@ -217,14 +227,28 @@ dissect_acse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
return;
}
- /* create display subtree for the protocol */
- if(parent_tree){
- item = proto_tree_add_item(parent_tree, proto_acse, tvb, 0, -1, FALSE);
- tree = proto_item_add_subtree(item, ett_acse);
+ if(session->spdu_type == CLSES_UNIT_DATA)
+ {
+ /* create display subtree for the connectionless protocol */
+ if(parent_tree)
+ {
+ item = proto_tree_add_item(parent_tree, proto_clacse, tvb, 0, -1, FALSE);
+ tree = proto_item_add_subtree(item, ett_acse);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "CL-ACSE");
+ col_clear(pinfo->cinfo, COL_INFO);
+ }
+ else
+ {
+ /* create display subtree for the protocol */
+ if(parent_tree)
+ {
+ item = proto_tree_add_item(parent_tree, proto_acse, tvb, 0, -1, FALSE);
+ tree = proto_item_add_subtree(item, ett_acse);
+ }
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ACSE");
+ col_clear(pinfo->cinfo, COL_INFO);
}
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ACSE");
- col_clear(pinfo->cinfo, COL_INFO);
-
/* we can't make any additional checking here */
/* postpone it before dissector will have more information */
@@ -258,6 +282,10 @@ void proto_register_acse(void) {
proto_acse = proto_register_protocol(PNAME, PSNAME, PFNAME);
register_dissector("acse", dissect_acse, proto_acse);
+ /* Register connectionless protocol */
+ proto_clacse = proto_register_protocol(CLPNAME, CLPSNAME, CLPFNAME);
+
+
/* Register fields and subtrees */
proto_register_field_array(proto_acse, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));