aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/opcua/opcua_transport_layer.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-12-07 09:33:40 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-12-07 09:33:40 +0000
commite7c9ade670efe916990bc1891b03ce8fb1bf715a (patch)
tree7f1ca64a255c69951b242ef818e05f87529c428b /plugins/opcua/opcua_transport_layer.c
parente5d5ea7db7c38392d90ced775ebaa2d7a9dcd434 (diff)
From hannes:
Enable the plugin to detect and reassemble chunked UA messages for displaying them correctly. From me: - Partly applied by hand. - move hf and ett asignments inseide the register routine as per convention. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8068 svn path=/trunk/; revision=46436
Diffstat (limited to 'plugins/opcua/opcua_transport_layer.c')
-rw-r--r--plugins/opcua/opcua_transport_layer.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/plugins/opcua/opcua_transport_layer.c b/plugins/opcua/opcua_transport_layer.c
index 1009d8b5c5..5d22fa78b4 100644
--- a/plugins/opcua/opcua_transport_layer.c
+++ b/plugins/opcua/opcua_transport_layer.c
@@ -162,11 +162,6 @@ int parseError(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
int parseMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
{
- proto_item *ti;
- proto_tree *encobj_tree;
- proto_tree *nodeid_tree;
- int ServiceId = 0;
-
proto_tree_add_item(tree, hf_opcua_transport_type, tvb, *pOffset, 3, ENC_ASCII|ENC_NA); *pOffset+=3;
proto_tree_add_item(tree, hf_opcua_transport_chunk, tvb, *pOffset, 1, ENC_ASCII|ENC_NA); *pOffset+=1;
proto_tree_add_item(tree, hf_opcua_transport_size, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4;
@@ -175,12 +170,22 @@ int parseMessage(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
/* message data contains the security layer */
parseSecurityLayer(tree, tvb, pOffset);
+ return -1;
+}
+
+int parseService(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
+{
+ proto_item *ti;
+ proto_tree *encobj_tree;
+ proto_tree *nodeid_tree;
+ int ServiceId = 0;
+
/* AT THE MOMENT NO SECURITY IS IMPLEMENTED IN UA.
* WE CAN JUST JUMP INTO THE APPLICATION LAYER DATA.
* THIS WILL CHAHNGE IN THE FUTURE. */
/* add encodeable object subtree */
- ti = proto_tree_add_text(tree, tvb, 0, -1, "Message : Encodeable Object");
+ ti = proto_tree_add_text(tree, tvb, 0, -1, "OpcUa Service : Encodeable Object");
encobj_tree = proto_item_add_subtree(ti, ett_opcua_extensionobject);
/* add nodeid subtree */