diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-12-07 09:33:40 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-12-07 09:33:40 +0000 |
commit | e7c9ade670efe916990bc1891b03ce8fb1bf715a (patch) | |
tree | 7f1ca64a255c69951b242ef818e05f87529c428b /plugins/opcua/opcua_transport_layer.c | |
parent | e5d5ea7db7c38392d90ced775ebaa2d7a9dcd434 (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.c | 17 |
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 */ |