From a542eec6d84f159cce1986ca3ab1d353461914ed Mon Sep 17 00:00:00 2001 From: Hannes Mezger Date: Tue, 13 Oct 2015 16:15:59 +0200 Subject: regenerate files adding new UA Specification 1.03 services and types Change-Id: Ib39c33c6f90566f2807fa7bf9c7f1521a8f5cc35 Reviewed-on: https://code.wireshark.org/review/10979 Reviewed-by: Alexis La Goutte Petri-Dish: Alexis La Goutte Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- plugins/opcua/opcua_complextypeparser.c | 78 ++++++++++++++++++++++++++++-- plugins/opcua/opcua_complextypeparser.h | 19 +++++++- plugins/opcua/opcua_enumparser.c | 46 ++++++++++++++++-- plugins/opcua/opcua_enumparser.h | 8 ++- plugins/opcua/opcua_extensionobjectids.h | 9 +++- plugins/opcua/opcua_extensionobjecttable.c | 9 +++- plugins/opcua/opcua_hfindeces.c | 38 ++++++++++++++- plugins/opcua/opcua_hfindeces.h | 21 +++++++- plugins/opcua/opcua_serviceids.h | 10 +++- plugins/opcua/opcua_serviceparser.c | 66 ++++++++++++++++++++++++- plugins/opcua/opcua_serviceparser.h | 16 +++++- plugins/opcua/opcua_servicetable.c | 14 +++++- 12 files changed, 310 insertions(+), 24 deletions(-) (limited to 'plugins/opcua') diff --git a/plugins/opcua/opcua_complextypeparser.c b/plugins/opcua/opcua_complextypeparser.c index eb6e82bff7..e29197b5a4 100644 --- a/plugins/opcua/opcua_complextypeparser.c +++ b/plugins/opcua/opcua_complextypeparser.c @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Complex Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ @@ -27,6 +27,8 @@ #include "opcua_simpletypes.h" #include "opcua_hfindeces.h" +gint ett_opcua_TrustListDataType = -1; +gint ett_opcua_array_TrustListDataType = -1; gint ett_opcua_Node = -1; gint ett_opcua_array_Node = -1; gint ett_opcua_InstanceNode = -1; @@ -55,6 +57,8 @@ gint ett_opcua_Argument = -1; gint ett_opcua_array_Argument = -1; gint ett_opcua_EnumValueType = -1; gint ett_opcua_array_EnumValueType = -1; +gint ett_opcua_OptionSet = -1; +gint ett_opcua_array_OptionSet = -1; gint ett_opcua_TimeZoneDataType = -1; gint ett_opcua_array_TimeZoneDataType = -1; gint ett_opcua_ApplicationDescription = -1; @@ -63,12 +67,16 @@ gint ett_opcua_RequestHeader = -1; gint ett_opcua_array_RequestHeader = -1; gint ett_opcua_ResponseHeader = -1; gint ett_opcua_array_ResponseHeader = -1; +gint ett_opcua_ServerOnNetwork = -1; +gint ett_opcua_array_ServerOnNetwork = -1; gint ett_opcua_UserTokenPolicy = -1; gint ett_opcua_array_UserTokenPolicy = -1; gint ett_opcua_EndpointDescription = -1; gint ett_opcua_array_EndpointDescription = -1; gint ett_opcua_RegisteredServer = -1; gint ett_opcua_array_RegisteredServer = -1; +gint ett_opcua_MdnsDiscoveryConfiguration = -1; +gint ett_opcua_array_MdnsDiscoveryConfiguration = -1; gint ett_opcua_ChannelSecurityToken = -1; gint ett_opcua_array_ChannelSecurityToken = -1; gint ett_opcua_SignedSoftwareCertificate = -1; @@ -83,6 +91,8 @@ gint ett_opcua_UserNameIdentityToken = -1; gint ett_opcua_array_UserNameIdentityToken = -1; gint ett_opcua_X509IdentityToken = -1; gint ett_opcua_array_X509IdentityToken = -1; +gint ett_opcua_KerberosIdentityToken = -1; +gint ett_opcua_array_KerberosIdentityToken = -1; gint ett_opcua_IssuedIdentityToken = -1; gint ett_opcua_array_IssuedIdentityToken = -1; gint ett_opcua_NodeAttributes = -1; @@ -298,6 +308,21 @@ gint ett_opcua_array_ProgramDiagnosticDataType = -1; gint ett_opcua_Annotation = -1; gint ett_opcua_array_Annotation = -1; +void parseTrustListDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, *pOffset, -1, ett_opcua_TrustListDataType, &ti, "%s: TrustListDataType", szFieldName); + parseUInt32(subtree, tvb, pinfo, pOffset, hf_opcua_SpecifiedLists); + /* Array length field ignored: NoOfTrustedCertificates */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "TrustedCertificates", "ByteString", hf_opcua_TrustedCertificates, parseByteString, ett_opcua_array_ByteString); + /* Array length field ignored: NoOfTrustedCrls */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "TrustedCrls", "ByteString", hf_opcua_TrustedCrls, parseByteString, ett_opcua_array_ByteString); + /* Array length field ignored: NoOfIssuerCertificates */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "IssuerCertificates", "ByteString", hf_opcua_IssuerCertificates, parseByteString, ett_opcua_array_ByteString); + /* Array length field ignored: NoOfIssuerCrls */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "IssuerCrls", "ByteString", hf_opcua_IssuerCrls, parseByteString, ett_opcua_array_ByteString); + proto_item_set_end(ti, tvb, *pOffset); +} void parseNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) { proto_item *ti; @@ -518,6 +543,14 @@ void parseEnumValueType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gin parseLocalizedText(subtree, tvb, pinfo, pOffset, "Description"); proto_item_set_end(ti, tvb, *pOffset); } +void parseOptionSet(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, *pOffset, -1, ett_opcua_OptionSet, &ti, "%s: OptionSet", szFieldName); + parseByteString(subtree, tvb, pinfo, pOffset, hf_opcua_Value); + parseByteString(subtree, tvb, pinfo, pOffset, hf_opcua_ValidBits); + proto_item_set_end(ti, tvb, *pOffset); +} void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) { proto_item *ti; @@ -566,6 +599,17 @@ void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gi parseExtensionObject(subtree, tvb, pinfo, pOffset, "AdditionalHeader"); proto_item_set_end(ti, tvb, *pOffset); } +void parseServerOnNetwork(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, *pOffset, -1, ett_opcua_ServerOnNetwork, &ti, "%s: ServerOnNetwork", szFieldName); + parseUInt32(subtree, tvb, pinfo, pOffset, hf_opcua_RecordId); + parseString(subtree, tvb, pinfo, pOffset, hf_opcua_ServerName); + parseString(subtree, tvb, pinfo, pOffset, hf_opcua_DiscoveryUrl); + /* Array length field ignored: NoOfServerCapabilities */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "ServerCapabilities", "String", hf_opcua_ServerCapabilities, parseString, ett_opcua_array_String); + proto_item_set_end(ti, tvb, *pOffset); +} void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) { proto_item *ti; @@ -608,6 +652,15 @@ void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, parseBoolean(subtree, tvb, pinfo, pOffset, hf_opcua_IsOnline); proto_item_set_end(ti, tvb, *pOffset); } +void parseMdnsDiscoveryConfiguration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, *pOffset, -1, ett_opcua_MdnsDiscoveryConfiguration, &ti, "%s: MdnsDiscoveryConfiguration", szFieldName); + parseString(subtree, tvb, pinfo, pOffset, hf_opcua_MdnsServerName); + /* Array length field ignored: NoOfServerCapabilities */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "ServerCapabilities", "String", hf_opcua_ServerCapabilities, parseString, ett_opcua_array_String); + proto_item_set_end(ti, tvb, *pOffset); +} void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) { proto_item *ti; @@ -666,6 +719,14 @@ void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, parseByteString(subtree, tvb, pinfo, pOffset, hf_opcua_CertificateData); proto_item_set_end(ti, tvb, *pOffset); } +void parseKerberosIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, *pOffset, -1, ett_opcua_KerberosIdentityToken, &ti, "%s: KerberosIdentityToken", szFieldName); + parseString(subtree, tvb, pinfo, pOffset, hf_opcua_PolicyId); + parseByteString(subtree, tvb, pinfo, pOffset, hf_opcua_TicketData); + proto_item_set_end(ti, tvb, *pOffset); +} void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) { proto_item *ti; @@ -1258,7 +1319,8 @@ void parseUpdateEventDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo parseNodeId(subtree, tvb, pinfo, pOffset, "NodeId"); parsePerformUpdateType(subtree, tvb, pinfo, pOffset); parseEventFilter(subtree, tvb, pinfo, pOffset, "Filter"); - parseHistoryEventFieldList(subtree, tvb, pinfo, pOffset, "EventData"); + /* Array length field ignored: NoOfEventData */ + parseArrayComplex(subtree, tvb, pinfo, pOffset, "EventData", "HistoryEventFieldList", parseHistoryEventFieldList, ett_opcua_array_HistoryEventFieldList); proto_item_set_end(ti, tvb, *pOffset); } void parseDeleteRawModifiedDetails(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName) @@ -1903,6 +1965,8 @@ void parseAnnotation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint * /** Setup protocol subtree array */ static gint *ett[] = { + &ett_opcua_TrustListDataType, + &ett_opcua_array_TrustListDataType, &ett_opcua_Node, &ett_opcua_array_Node, &ett_opcua_InstanceNode, @@ -1931,6 +1995,8 @@ static gint *ett[] = &ett_opcua_array_Argument, &ett_opcua_EnumValueType, &ett_opcua_array_EnumValueType, + &ett_opcua_OptionSet, + &ett_opcua_array_OptionSet, &ett_opcua_TimeZoneDataType, &ett_opcua_array_TimeZoneDataType, &ett_opcua_ApplicationDescription, @@ -1939,12 +2005,16 @@ static gint *ett[] = &ett_opcua_array_RequestHeader, &ett_opcua_ResponseHeader, &ett_opcua_array_ResponseHeader, + &ett_opcua_ServerOnNetwork, + &ett_opcua_array_ServerOnNetwork, &ett_opcua_UserTokenPolicy, &ett_opcua_array_UserTokenPolicy, &ett_opcua_EndpointDescription, &ett_opcua_array_EndpointDescription, &ett_opcua_RegisteredServer, &ett_opcua_array_RegisteredServer, + &ett_opcua_MdnsDiscoveryConfiguration, + &ett_opcua_array_MdnsDiscoveryConfiguration, &ett_opcua_ChannelSecurityToken, &ett_opcua_array_ChannelSecurityToken, &ett_opcua_SignedSoftwareCertificate, @@ -1959,6 +2029,8 @@ static gint *ett[] = &ett_opcua_array_UserNameIdentityToken, &ett_opcua_X509IdentityToken, &ett_opcua_array_X509IdentityToken, + &ett_opcua_KerberosIdentityToken, + &ett_opcua_array_KerberosIdentityToken, &ett_opcua_IssuedIdentityToken, &ett_opcua_array_IssuedIdentityToken, &ett_opcua_NodeAttributes, diff --git a/plugins/opcua/opcua_complextypeparser.h b/plugins/opcua/opcua_complextypeparser.h index 7eb63afa27..ef1de8855a 100644 --- a/plugins/opcua/opcua_complextypeparser.h +++ b/plugins/opcua/opcua_complextypeparser.h @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Complex Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -23,6 +23,8 @@ #include #include +extern gint ett_opcua_TrustListDataType; +extern gint ett_opcua_array_TrustListDataType; extern gint ett_opcua_Node; extern gint ett_opcua_array_Node; extern gint ett_opcua_InstanceNode; @@ -51,6 +53,8 @@ extern gint ett_opcua_Argument; extern gint ett_opcua_array_Argument; extern gint ett_opcua_EnumValueType; extern gint ett_opcua_array_EnumValueType; +extern gint ett_opcua_OptionSet; +extern gint ett_opcua_array_OptionSet; extern gint ett_opcua_TimeZoneDataType; extern gint ett_opcua_array_TimeZoneDataType; extern gint ett_opcua_ApplicationDescription; @@ -59,12 +63,16 @@ extern gint ett_opcua_RequestHeader; extern gint ett_opcua_array_RequestHeader; extern gint ett_opcua_ResponseHeader; extern gint ett_opcua_array_ResponseHeader; +extern gint ett_opcua_ServerOnNetwork; +extern gint ett_opcua_array_ServerOnNetwork; extern gint ett_opcua_UserTokenPolicy; extern gint ett_opcua_array_UserTokenPolicy; extern gint ett_opcua_EndpointDescription; extern gint ett_opcua_array_EndpointDescription; extern gint ett_opcua_RegisteredServer; extern gint ett_opcua_array_RegisteredServer; +extern gint ett_opcua_MdnsDiscoveryConfiguration; +extern gint ett_opcua_array_MdnsDiscoveryConfiguration; extern gint ett_opcua_ChannelSecurityToken; extern gint ett_opcua_array_ChannelSecurityToken; extern gint ett_opcua_SignedSoftwareCertificate; @@ -79,6 +87,8 @@ extern gint ett_opcua_UserNameIdentityToken; extern gint ett_opcua_array_UserNameIdentityToken; extern gint ett_opcua_X509IdentityToken; extern gint ett_opcua_array_X509IdentityToken; +extern gint ett_opcua_KerberosIdentityToken; +extern gint ett_opcua_array_KerberosIdentityToken; extern gint ett_opcua_IssuedIdentityToken; extern gint ett_opcua_array_IssuedIdentityToken; extern gint ett_opcua_NodeAttributes; @@ -294,6 +304,7 @@ extern gint ett_opcua_array_ProgramDiagnosticDataType; extern gint ett_opcua_Annotation; extern gint ett_opcua_array_Annotation; +void parseTrustListDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseInstanceNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); @@ -308,13 +319,16 @@ void parseDataTypeNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint void parseReferenceNode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseArgument(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseEnumValueType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); +void parseOptionSet(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseTimeZoneDataType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseApplicationDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseRequestHeader(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseResponseHeader(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); +void parseServerOnNetwork(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseUserTokenPolicy(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseEndpointDescription(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseRegisteredServer(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); +void parseMdnsDiscoveryConfiguration(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseChannelSecurityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseSignedSoftwareCertificate(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseSignatureData(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); @@ -322,6 +336,7 @@ void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, void parseAnonymousIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseUserNameIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseX509IdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); +void parseKerberosIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseIssuedIdentityToken(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseNodeAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); void parseObjectAttributes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, const char *szFieldName); diff --git a/plugins/opcua/opcua_enumparser.c b/plugins/opcua/opcua_enumparser.c index 783ccdb318..c08b2fad85 100644 --- a/plugins/opcua/opcua_enumparser.c +++ b/plugins/opcua/opcua_enumparser.c @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Enum Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ @@ -26,7 +26,9 @@ #include "opcua_enumparser.h" gint ett_opcua_array_NodeIdType = -1; +gint ett_opcua_array_NamingRuleType = -1; gint ett_opcua_array_OpenFileMode = -1; +gint ett_opcua_array_TrustListMasks = -1; gint ett_opcua_array_IdType = -1; gint ett_opcua_array_NodeClass = -1; gint ett_opcua_array_ApplicationType = -1; @@ -68,11 +70,24 @@ void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gi { proto_tree_add_item(tree, hf_opcua_NodeIdType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4; } +/** NamingRuleType enum table */ +static const value_string g_NamingRuleTypeTable[] = { + { 1, "Mandatory" }, + { 2, "Optional" }, + { 3, "Constraint" }, + { 0, NULL } +}; +static int hf_opcua_NamingRuleType = -1; + +void parseNamingRuleType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset) +{ + proto_tree_add_item(tree, hf_opcua_NamingRuleType, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4; +} /** OpenFileMode enum table */ static const value_string g_OpenFileModeTable[] = { { 1, "Read" }, { 2, "Write" }, - { 4, "EraseExisiting" }, + { 4, "EraseExisting" }, { 8, "Append" }, { 0, NULL } }; @@ -82,6 +97,22 @@ void parseOpenFileMode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, { proto_tree_add_item(tree, hf_opcua_OpenFileMode, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4; } +/** TrustListMasks enum table */ +static const value_string g_TrustListMasksTable[] = { + { 0, "None" }, + { 1, "TrustedCertificates" }, + { 2, "TrustedCrls" }, + { 4, "IssuerCertificates" }, + { 8, "IssuerCrls" }, + { 15, "All" }, + { 0, NULL } +}; +static int hf_opcua_TrustListMasks = -1; + +void parseTrustListMasks(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, gint *pOffset) +{ + proto_tree_add_item(tree, hf_opcua_TrustListMasks, tvb, *pOffset, 4, ENC_LITTLE_ENDIAN); *pOffset+=4; +} /** IdType enum table */ static const value_string g_IdTypeTable[] = { { 0, "Numeric" }, @@ -149,6 +180,7 @@ static const value_string g_UserTokenTypeTable[] = { { 1, "UserName" }, { 2, "Certificate" }, { 3, "IssuedToken" }, + { 4, "Kerberos" }, { 0, NULL } }; static int hf_opcua_UserTokenType = -1; @@ -495,7 +527,9 @@ void parseExceptionDeviationFormat(proto_tree *tree, tvbuff_t *tvb, packet_info static gint *ett[] = { &ett_opcua_array_NodeIdType, + &ett_opcua_array_NamingRuleType, &ett_opcua_array_OpenFileMode, + &ett_opcua_array_TrustListMasks, &ett_opcua_array_IdType, &ett_opcua_array_NodeClass, &ett_opcua_array_ApplicationType, @@ -531,9 +565,15 @@ void registerEnumTypes(int proto) { &hf_opcua_NodeIdType, { "NodeIdType", "opcua.NodeIdType", FT_UINT32, BASE_HEX, VALS(g_NodeIdTypeTable), 0x0, NULL, HFILL } }, + { &hf_opcua_NamingRuleType, + { "NamingRuleType", "opcua.NamingRuleType", FT_UINT32, BASE_HEX, VALS(g_NamingRuleTypeTable), 0x0, NULL, HFILL } + }, { &hf_opcua_OpenFileMode, { "OpenFileMode", "opcua.OpenFileMode", FT_UINT32, BASE_HEX, VALS(g_OpenFileModeTable), 0x0, NULL, HFILL } }, + { &hf_opcua_TrustListMasks, + { "TrustListMasks", "opcua.TrustListMasks", FT_UINT32, BASE_HEX, VALS(g_TrustListMasksTable), 0x0, NULL, HFILL } + }, { &hf_opcua_IdType, { "IdType", "opcua.IdType", FT_UINT32, BASE_HEX, VALS(g_IdTypeTable), 0x0, NULL, HFILL } }, diff --git a/plugins/opcua/opcua_enumparser.h b/plugins/opcua/opcua_enumparser.h index a029f3d14b..bc10bb65e1 100644 --- a/plugins/opcua/opcua_enumparser.h +++ b/plugins/opcua/opcua_enumparser.h @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Enum Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -24,7 +24,9 @@ #include extern gint ett_opcua_array_NodeIdType; +extern gint ett_opcua_array_NamingRuleType; extern gint ett_opcua_array_OpenFileMode; +extern gint ett_opcua_array_TrustListMasks; extern gint ett_opcua_array_IdType; extern gint ett_opcua_array_NodeClass; extern gint ett_opcua_array_ApplicationType; @@ -51,7 +53,9 @@ extern gint ett_opcua_array_AxisScaleEnumeration; extern gint ett_opcua_array_ExceptionDeviationFormat; void parseNodeIdType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseNamingRuleType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseOpenFileMode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseTrustListMasks(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseIdType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseNodeClass(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseApplicationType(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); diff --git a/plugins/opcua/opcua_extensionobjectids.h b/plugins/opcua/opcua_extensionobjectids.h index 2d7e112c13..95fce73cde 100644 --- a/plugins/opcua/opcua_extensionobjectids.h +++ b/plugins/opcua/opcua_extensionobjectids.h @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,11 +14,12 @@ ** ** Description: OpcUa Extension Object IDs ** -** This file was autogenerated on 10.06.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ +#define OpcUaId_TrustListDataType_Encoding_DefaultBinary 12680 #define OpcUaId_Node_Encoding_DefaultBinary 260 #define OpcUaId_InstanceNode_Encoding_DefaultBinary 11889 #define OpcUaId_TypeNode_Encoding_DefaultBinary 11890 @@ -33,13 +34,16 @@ #define OpcUaId_ReferenceNode_Encoding_DefaultBinary 287 #define OpcUaId_Argument_Encoding_DefaultBinary 298 #define OpcUaId_EnumValueType_Encoding_DefaultBinary 8251 +#define OpcUaId_OptionSet_Encoding_DefaultBinary 12765 #define OpcUaId_TimeZoneDataType_Encoding_DefaultBinary 8917 #define OpcUaId_ApplicationDescription_Encoding_DefaultBinary 310 #define OpcUaId_RequestHeader_Encoding_DefaultBinary 391 #define OpcUaId_ResponseHeader_Encoding_DefaultBinary 394 +#define OpcUaId_ServerOnNetwork_Encoding_DefaultBinary 12207 #define OpcUaId_UserTokenPolicy_Encoding_DefaultBinary 306 #define OpcUaId_EndpointDescription_Encoding_DefaultBinary 314 #define OpcUaId_RegisteredServer_Encoding_DefaultBinary 434 +#define OpcUaId_MdnsDiscoveryConfiguration_Encoding_DefaultBinary 12901 #define OpcUaId_ChannelSecurityToken_Encoding_DefaultBinary 443 #define OpcUaId_SignedSoftwareCertificate_Encoding_DefaultBinary 346 #define OpcUaId_SignatureData_Encoding_DefaultBinary 458 @@ -47,6 +51,7 @@ #define OpcUaId_AnonymousIdentityToken_Encoding_DefaultBinary 321 #define OpcUaId_UserNameIdentityToken_Encoding_DefaultBinary 324 #define OpcUaId_X509IdentityToken_Encoding_DefaultBinary 327 +#define OpcUaId_KerberosIdentityToken_Encoding_DefaultBinary 12509 #define OpcUaId_IssuedIdentityToken_Encoding_DefaultBinary 940 #define OpcUaId_NodeAttributes_Encoding_DefaultBinary 351 #define OpcUaId_ObjectAttributes_Encoding_DefaultBinary 354 diff --git a/plugins/opcua/opcua_extensionobjecttable.c b/plugins/opcua/opcua_extensionobjecttable.c index f238caf16d..7d84a1068f 100644 --- a/plugins/opcua/opcua_extensionobjecttable.c +++ b/plugins/opcua/opcua_extensionobjecttable.c @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: Service table and service dispatcher. ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -29,6 +29,7 @@ #include "opcua_hfindeces.h" ExtensionObjectParserEntry g_arExtensionObjectParserTable[] = { + { OpcUaId_TrustListDataType_Encoding_DefaultBinary, parseTrustListDataType, "TrustListDataType" }, { OpcUaId_Node_Encoding_DefaultBinary, parseNode, "Node" }, { OpcUaId_InstanceNode_Encoding_DefaultBinary, parseInstanceNode, "InstanceNode" }, { OpcUaId_TypeNode_Encoding_DefaultBinary, parseTypeNode, "TypeNode" }, @@ -43,13 +44,16 @@ ExtensionObjectParserEntry g_arExtensionObjectParserTable[] = { { OpcUaId_ReferenceNode_Encoding_DefaultBinary, parseReferenceNode, "ReferenceNode" }, { OpcUaId_Argument_Encoding_DefaultBinary, parseArgument, "Argument" }, { OpcUaId_EnumValueType_Encoding_DefaultBinary, parseEnumValueType, "EnumValueType" }, + { OpcUaId_OptionSet_Encoding_DefaultBinary, parseOptionSet, "OptionSet" }, { OpcUaId_TimeZoneDataType_Encoding_DefaultBinary, parseTimeZoneDataType, "TimeZoneDataType" }, { OpcUaId_ApplicationDescription_Encoding_DefaultBinary, parseApplicationDescription, "ApplicationDescription" }, { OpcUaId_RequestHeader_Encoding_DefaultBinary, parseRequestHeader, "RequestHeader" }, { OpcUaId_ResponseHeader_Encoding_DefaultBinary, parseResponseHeader, "ResponseHeader" }, + { OpcUaId_ServerOnNetwork_Encoding_DefaultBinary, parseServerOnNetwork, "ServerOnNetwork" }, { OpcUaId_UserTokenPolicy_Encoding_DefaultBinary, parseUserTokenPolicy, "UserTokenPolicy" }, { OpcUaId_EndpointDescription_Encoding_DefaultBinary, parseEndpointDescription, "EndpointDescription" }, { OpcUaId_RegisteredServer_Encoding_DefaultBinary, parseRegisteredServer, "RegisteredServer" }, + { OpcUaId_MdnsDiscoveryConfiguration_Encoding_DefaultBinary, parseMdnsDiscoveryConfiguration, "MdnsDiscoveryConfiguration" }, { OpcUaId_ChannelSecurityToken_Encoding_DefaultBinary, parseChannelSecurityToken, "ChannelSecurityToken" }, { OpcUaId_SignedSoftwareCertificate_Encoding_DefaultBinary, parseSignedSoftwareCertificate, "SignedSoftwareCertificate" }, { OpcUaId_SignatureData_Encoding_DefaultBinary, parseSignatureData, "SignatureData" }, @@ -57,6 +61,7 @@ ExtensionObjectParserEntry g_arExtensionObjectParserTable[] = { { OpcUaId_AnonymousIdentityToken_Encoding_DefaultBinary, parseAnonymousIdentityToken, "AnonymousIdentityToken" }, { OpcUaId_UserNameIdentityToken_Encoding_DefaultBinary, parseUserNameIdentityToken, "UserNameIdentityToken" }, { OpcUaId_X509IdentityToken_Encoding_DefaultBinary, parseX509IdentityToken, "X509IdentityToken" }, + { OpcUaId_KerberosIdentityToken_Encoding_DefaultBinary, parseKerberosIdentityToken, "KerberosIdentityToken" }, { OpcUaId_IssuedIdentityToken_Encoding_DefaultBinary, parseIssuedIdentityToken, "IssuedIdentityToken" }, { OpcUaId_NodeAttributes_Encoding_DefaultBinary, parseNodeAttributes, "NodeAttributes" }, { OpcUaId_ObjectAttributes_Encoding_DefaultBinary, parseObjectAttributes, "ObjectAttributes" }, diff --git a/plugins/opcua/opcua_hfindeces.c b/plugins/opcua/opcua_hfindeces.c index ce6075bfb3..46e5ad0cce 100644 --- a/plugins/opcua/opcua_hfindeces.c +++ b/plugins/opcua/opcua_hfindeces.c @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: This file contains protocol field handles. ** -** This file was autogenerated on 10.06.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ @@ -59,6 +59,7 @@ int hf_opcua_ClientUserIdHistory = -1; int hf_opcua_ClientUserIdOfSession = -1; int hf_opcua_ComplianceDate = -1; int hf_opcua_ComplianceTool = -1; +int hf_opcua_ConfigurationResults = -1; int hf_opcua_ContainsNoLoops = -1; int hf_opcua_ContinuationPoint = -1; int hf_opcua_ContinuationPoints = -1; @@ -89,6 +90,7 @@ int hf_opcua_DisabledMonitoredItemCount = -1; int hf_opcua_DiscardOldest = -1; int hf_opcua_DiscardedMessageCount = -1; int hf_opcua_DiscoveryProfileUri = -1; +int hf_opcua_DiscoveryUrl = -1; int hf_opcua_DiscoveryUrls = -1; int hf_opcua_Double = -1; int hf_opcua_Doubles = -1; @@ -133,8 +135,11 @@ int hf_opcua_IsReadModified = -1; int hf_opcua_IssueDate = -1; int hf_opcua_IssuedBy = -1; int hf_opcua_IssuedTokenType = -1; +int hf_opcua_IssuerCertificates = -1; +int hf_opcua_IssuerCrls = -1; int hf_opcua_IssuerEndpointUrl = -1; int hf_opcua_Iteration = -1; +int hf_opcua_LastCounterResetTime = -1; int hf_opcua_LastMethodCall = -1; int hf_opcua_LastMethodCallTime = -1; int hf_opcua_LastTransitionTime = -1; @@ -154,10 +159,12 @@ int hf_opcua_MaxLifetimeCount = -1; int hf_opcua_MaxMessageSize = -1; int hf_opcua_MaxMonitoredItemCount = -1; int hf_opcua_MaxNotificationsPerPublish = -1; +int hf_opcua_MaxRecordsToReturn = -1; int hf_opcua_MaxReferencesToReturn = -1; int hf_opcua_MaxRequestMessageSize = -1; int hf_opcua_MaxResponseMessageSize = -1; int hf_opcua_MaxStringLength = -1; +int hf_opcua_MdnsServerName = -1; int hf_opcua_Message = -1; int hf_opcua_MinimumSamplingInterval = -1; int hf_opcua_ModificationTime = -1; @@ -195,6 +202,7 @@ int hf_opcua_PublishingInterval = -1; int hf_opcua_PublishingIntervalCount = -1; int hf_opcua_QueueSize = -1; int hf_opcua_Real = -1; +int hf_opcua_RecordId = -1; int hf_opcua_RejectedRequestsCount = -1; int hf_opcua_RejectedSessionCount = -1; int hf_opcua_ReleaseContinuationPoint = -1; @@ -240,8 +248,11 @@ int hf_opcua_SelectClauseResults = -1; int hf_opcua_SemaphoreFilePath = -1; int hf_opcua_SendInitialValues = -1; int hf_opcua_SequenceNumber = -1; +int hf_opcua_ServerCapabilities = -1; +int hf_opcua_ServerCapabilityFilter = -1; int hf_opcua_ServerCertificate = -1; int hf_opcua_ServerId = -1; +int hf_opcua_ServerName = -1; int hf_opcua_ServerNonce = -1; int hf_opcua_ServerProtocolVersion = -1; int hf_opcua_ServerUri = -1; @@ -255,7 +266,9 @@ int hf_opcua_SessionTimeoutCount = -1; int hf_opcua_Signature = -1; int hf_opcua_SoftwareVersion = -1; int hf_opcua_SpecifiedAttributes = -1; +int hf_opcua_SpecifiedLists = -1; int hf_opcua_StartTime = -1; +int hf_opcua_StartingRecordId = -1; int hf_opcua_Status = -1; int hf_opcua_StatusCode = -1; int hf_opcua_StatusCodes = -1; @@ -267,6 +280,7 @@ int hf_opcua_SubscriptionIds = -1; int hf_opcua_Symmetric = -1; int hf_opcua_TargetServerUri = -1; int hf_opcua_TestId = -1; +int hf_opcua_TicketData = -1; int hf_opcua_TimeoutHint = -1; int hf_opcua_Timestamp = -1; int hf_opcua_TokenData = -1; @@ -279,6 +293,8 @@ int hf_opcua_TransportProfileUri = -1; int hf_opcua_TransportProtocol = -1; int hf_opcua_TreatUncertainAsBad = -1; int hf_opcua_TriggeringItemId = -1; +int hf_opcua_TrustedCertificates = -1; +int hf_opcua_TrustedCrls = -1; int hf_opcua_UInt16 = -1; int hf_opcua_UInt16s = -1; int hf_opcua_UInt32 = -1; @@ -297,6 +313,7 @@ int hf_opcua_UserAccessLevel = -1; int hf_opcua_UserExecutable = -1; int hf_opcua_UserName = -1; int hf_opcua_UserWriteMask = -1; +int hf_opcua_ValidBits = -1; int hf_opcua_Value = -1; int hf_opcua_ValueRank = -1; int hf_opcua_VendorName = -1; @@ -348,6 +365,7 @@ void registerFieldTypes(int proto) { &hf_opcua_ClientUserIdOfSession, { "ClientUserIdOfSession", "opcua.ClientUserIdOfSession", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ComplianceDate, { "ComplianceDate", "opcua.ComplianceDate", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ComplianceTool, { "ComplianceTool", "opcua.ComplianceTool", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_ConfigurationResults, { "ConfigurationResults", "opcua.ConfigurationResults", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ContainsNoLoops, { "ContainsNoLoops", "opcua.ContainsNoLoops", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ContinuationPoint, { "ContinuationPoint", "opcua.ContinuationPoint", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ContinuationPoints, { "ContinuationPoints", "opcua.ContinuationPoints", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, @@ -378,6 +396,7 @@ void registerFieldTypes(int proto) { &hf_opcua_DiscardOldest, { "DiscardOldest", "opcua.DiscardOldest", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_DiscardedMessageCount, { "DiscardedMessageCount", "opcua.DiscardedMessageCount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_DiscoveryProfileUri, { "DiscoveryProfileUri", "opcua.DiscoveryProfileUri", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_DiscoveryUrl, { "DiscoveryUrl", "opcua.DiscoveryUrl", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_DiscoveryUrls, { "DiscoveryUrls", "opcua.DiscoveryUrls", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Double, { "Double", "opcua.Double", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Doubles, { "Doubles", "opcua.Doubles", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, @@ -422,8 +441,11 @@ void registerFieldTypes(int proto) { &hf_opcua_IssueDate, { "IssueDate", "opcua.IssueDate", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_IssuedBy, { "IssuedBy", "opcua.IssuedBy", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_IssuedTokenType, { "IssuedTokenType", "opcua.IssuedTokenType", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_IssuerCertificates, { "IssuerCertificates", "opcua.IssuerCertificates", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_IssuerCrls, { "IssuerCrls", "opcua.IssuerCrls", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_IssuerEndpointUrl, { "IssuerEndpointUrl", "opcua.IssuerEndpointUrl", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Iteration, { "Iteration", "opcua.Iteration", FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_LastCounterResetTime, { "LastCounterResetTime", "opcua.LastCounterResetTime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_LastMethodCall, { "LastMethodCall", "opcua.LastMethodCall", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_LastMethodCallTime, { "LastMethodCallTime", "opcua.LastMethodCallTime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_LastTransitionTime, { "LastTransitionTime", "opcua.LastTransitionTime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, @@ -443,10 +465,12 @@ void registerFieldTypes(int proto) { &hf_opcua_MaxMessageSize, { "MaxMessageSize", "opcua.MaxMessageSize", FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxMonitoredItemCount, { "MaxMonitoredItemCount", "opcua.MaxMonitoredItemCount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxNotificationsPerPublish, { "MaxNotificationsPerPublish", "opcua.MaxNotificationsPerPublish", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_MaxRecordsToReturn, { "MaxRecordsToReturn", "opcua.MaxRecordsToReturn", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxReferencesToReturn, { "MaxReferencesToReturn", "opcua.MaxReferencesToReturn", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxRequestMessageSize, { "MaxRequestMessageSize", "opcua.MaxRequestMessageSize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxResponseMessageSize, { "MaxResponseMessageSize", "opcua.MaxResponseMessageSize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MaxStringLength, { "MaxStringLength", "opcua.MaxStringLength", FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_MdnsServerName, { "MdnsServerName", "opcua.MdnsServerName", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Message, { "Message", "opcua.Message", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_MinimumSamplingInterval, { "MinimumSamplingInterval", "opcua.MinimumSamplingInterval", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ModificationTime, { "ModificationTime", "opcua.ModificationTime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, @@ -484,6 +508,7 @@ void registerFieldTypes(int proto) { &hf_opcua_PublishingIntervalCount, { "PublishingIntervalCount", "opcua.PublishingIntervalCount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_QueueSize, { "QueueSize", "opcua.QueueSize", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Real, { "Real", "opcua.Real", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_RecordId, { "RecordId", "opcua.RecordId", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_RejectedRequestsCount, { "RejectedRequestsCount", "opcua.RejectedRequestsCount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_RejectedSessionCount, { "RejectedSessionCount", "opcua.RejectedSessionCount", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ReleaseContinuationPoint, { "ReleaseContinuationPoint", "opcua.ReleaseContinuationPoint", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, @@ -529,8 +554,11 @@ void registerFieldTypes(int proto) { &hf_opcua_SemaphoreFilePath, { "SemaphoreFilePath", "opcua.SemaphoreFilePath", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_SendInitialValues, { "SendInitialValues", "opcua.SendInitialValues", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_SequenceNumber, { "SequenceNumber", "opcua.SequenceNumber", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_ServerCapabilities, { "ServerCapabilities", "opcua.ServerCapabilities", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_ServerCapabilityFilter, { "ServerCapabilityFilter", "opcua.ServerCapabilityFilter", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ServerCertificate, { "ServerCertificate", "opcua.ServerCertificate", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ServerId, { "ServerId", "opcua.ServerId", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_ServerName, { "ServerName", "opcua.ServerName", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ServerNonce, { "ServerNonce", "opcua.ServerNonce", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ServerProtocolVersion, { "ServerProtocolVersion", "opcua.ServerProtocolVersion", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ServerUri, { "ServerUri", "opcua.ServerUri", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, @@ -544,7 +572,9 @@ void registerFieldTypes(int proto) { &hf_opcua_Signature, { "Signature", "opcua.Signature", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_SoftwareVersion, { "SoftwareVersion", "opcua.SoftwareVersion", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_SpecifiedAttributes, { "SpecifiedAttributes", "opcua.SpecifiedAttributes", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_SpecifiedLists, { "SpecifiedLists", "opcua.SpecifiedLists", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_StartTime, { "StartTime", "opcua.StartTime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_StartingRecordId, { "StartingRecordId", "opcua.StartingRecordId", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Status, { "Status", "opcua.Status", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_StatusCode, { "StatusCode", "opcua.StatusCode", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_StatusCodes, { "StatusCodes", "opcua.StatusCodes", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL } }, @@ -556,6 +586,7 @@ void registerFieldTypes(int proto) { &hf_opcua_Symmetric, { "Symmetric", "opcua.Symmetric", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TargetServerUri, { "TargetServerUri", "opcua.TargetServerUri", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TestId, { "TestId", "opcua.TestId", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_TicketData, { "TicketData", "opcua.TicketData", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TimeoutHint, { "TimeoutHint", "opcua.TimeoutHint", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Timestamp, { "Timestamp", "opcua.Timestamp", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TokenData, { "TokenData", "opcua.TokenData", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, @@ -568,6 +599,8 @@ void registerFieldTypes(int proto) { &hf_opcua_TransportProtocol, { "TransportProtocol", "opcua.TransportProtocol", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TreatUncertainAsBad, { "TreatUncertainAsBad", "opcua.TreatUncertainAsBad", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_TriggeringItemId, { "TriggeringItemId", "opcua.TriggeringItemId", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_TrustedCertificates, { "TrustedCertificates", "opcua.TrustedCertificates", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_TrustedCrls, { "TrustedCrls", "opcua.TrustedCrls", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_UInt16, { "UInt16", "opcua.UInt16", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_UInt16s, { "UInt16s", "opcua.UInt16s", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_UInt32, { "UInt32", "opcua.UInt32", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, @@ -586,6 +619,7 @@ void registerFieldTypes(int proto) { &hf_opcua_UserExecutable, { "UserExecutable", "opcua.UserExecutable", FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_UserName, { "UserName", "opcua.UserName", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_UserWriteMask, { "UserWriteMask", "opcua.UserWriteMask", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_opcua_ValidBits, { "ValidBits", "opcua.ValidBits", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_Value, { "Value", "opcua.Value", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_ValueRank, { "ValueRank", "opcua.ValueRank", FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_opcua_VendorName, { "VendorName", "opcua.VendorName", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } }, diff --git a/plugins/opcua/opcua_hfindeces.h b/plugins/opcua/opcua_hfindeces.h index 9b93649972..98ee275b74 100644 --- a/plugins/opcua/opcua_hfindeces.h +++ b/plugins/opcua/opcua_hfindeces.h @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: This file contains protocol field handles. ** -** This file was autogenerated on 10.06.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -57,6 +57,7 @@ extern int hf_opcua_ClientUserIdHistory; extern int hf_opcua_ClientUserIdOfSession; extern int hf_opcua_ComplianceDate; extern int hf_opcua_ComplianceTool; +extern int hf_opcua_ConfigurationResults; extern int hf_opcua_ContainsNoLoops; extern int hf_opcua_ContinuationPoint; extern int hf_opcua_ContinuationPoints; @@ -87,6 +88,7 @@ extern int hf_opcua_DisabledMonitoredItemCount; extern int hf_opcua_DiscardOldest; extern int hf_opcua_DiscardedMessageCount; extern int hf_opcua_DiscoveryProfileUri; +extern int hf_opcua_DiscoveryUrl; extern int hf_opcua_DiscoveryUrls; extern int hf_opcua_Double; extern int hf_opcua_Doubles; @@ -131,8 +133,11 @@ extern int hf_opcua_IsReadModified; extern int hf_opcua_IssueDate; extern int hf_opcua_IssuedBy; extern int hf_opcua_IssuedTokenType; +extern int hf_opcua_IssuerCertificates; +extern int hf_opcua_IssuerCrls; extern int hf_opcua_IssuerEndpointUrl; extern int hf_opcua_Iteration; +extern int hf_opcua_LastCounterResetTime; extern int hf_opcua_LastMethodCall; extern int hf_opcua_LastMethodCallTime; extern int hf_opcua_LastTransitionTime; @@ -152,10 +157,12 @@ extern int hf_opcua_MaxLifetimeCount; extern int hf_opcua_MaxMessageSize; extern int hf_opcua_MaxMonitoredItemCount; extern int hf_opcua_MaxNotificationsPerPublish; +extern int hf_opcua_MaxRecordsToReturn; extern int hf_opcua_MaxReferencesToReturn; extern int hf_opcua_MaxRequestMessageSize; extern int hf_opcua_MaxResponseMessageSize; extern int hf_opcua_MaxStringLength; +extern int hf_opcua_MdnsServerName; extern int hf_opcua_Message; extern int hf_opcua_MinimumSamplingInterval; extern int hf_opcua_ModificationTime; @@ -193,6 +200,7 @@ extern int hf_opcua_PublishingInterval; extern int hf_opcua_PublishingIntervalCount; extern int hf_opcua_QueueSize; extern int hf_opcua_Real; +extern int hf_opcua_RecordId; extern int hf_opcua_RejectedRequestsCount; extern int hf_opcua_RejectedSessionCount; extern int hf_opcua_ReleaseContinuationPoint; @@ -238,8 +246,11 @@ extern int hf_opcua_SelectClauseResults; extern int hf_opcua_SemaphoreFilePath; extern int hf_opcua_SendInitialValues; extern int hf_opcua_SequenceNumber; +extern int hf_opcua_ServerCapabilities; +extern int hf_opcua_ServerCapabilityFilter; extern int hf_opcua_ServerCertificate; extern int hf_opcua_ServerId; +extern int hf_opcua_ServerName; extern int hf_opcua_ServerNonce; extern int hf_opcua_ServerProtocolVersion; extern int hf_opcua_ServerUri; @@ -253,7 +264,9 @@ extern int hf_opcua_SessionTimeoutCount; extern int hf_opcua_Signature; extern int hf_opcua_SoftwareVersion; extern int hf_opcua_SpecifiedAttributes; +extern int hf_opcua_SpecifiedLists; extern int hf_opcua_StartTime; +extern int hf_opcua_StartingRecordId; extern int hf_opcua_Status; extern int hf_opcua_StatusCode; extern int hf_opcua_StatusCodes; @@ -265,6 +278,7 @@ extern int hf_opcua_SubscriptionIds; extern int hf_opcua_Symmetric; extern int hf_opcua_TargetServerUri; extern int hf_opcua_TestId; +extern int hf_opcua_TicketData; extern int hf_opcua_TimeoutHint; extern int hf_opcua_Timestamp; extern int hf_opcua_TokenData; @@ -277,6 +291,8 @@ extern int hf_opcua_TransportProfileUri; extern int hf_opcua_TransportProtocol; extern int hf_opcua_TreatUncertainAsBad; extern int hf_opcua_TriggeringItemId; +extern int hf_opcua_TrustedCertificates; +extern int hf_opcua_TrustedCrls; extern int hf_opcua_UInt16; extern int hf_opcua_UInt16s; extern int hf_opcua_UInt32; @@ -295,6 +311,7 @@ extern int hf_opcua_UserAccessLevel; extern int hf_opcua_UserExecutable; extern int hf_opcua_UserName; extern int hf_opcua_UserWriteMask; +extern int hf_opcua_ValidBits; extern int hf_opcua_Value; extern int hf_opcua_ValueRank; extern int hf_opcua_VendorName; diff --git a/plugins/opcua/opcua_serviceids.h b/plugins/opcua/opcua_serviceids.h index d9c35cb8e5..cd61c36dac 100644 --- a/plugins/opcua/opcua_serviceids.h +++ b/plugins/opcua/opcua_serviceids.h @@ -14,7 +14,7 @@ ** ** Description: OpcUa Service IDs ** -** This file was autogenerated on 01.07.2015. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -23,10 +23,14 @@ #define OpcUaId_ServiceFault_Encoding_DefaultBinary 397 #define OpcUaId_FindServersRequest_Encoding_DefaultBinary 422 #define OpcUaId_FindServersResponse_Encoding_DefaultBinary 425 +#define OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultBinary 12208 +#define OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultBinary 12209 #define OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary 428 #define OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary 431 #define OpcUaId_RegisterServerRequest_Encoding_DefaultBinary 437 #define OpcUaId_RegisterServerResponse_Encoding_DefaultBinary 440 +#define OpcUaId_RegisterServer2Request_Encoding_DefaultBinary 12211 +#define OpcUaId_RegisterServer2Response_Encoding_DefaultBinary 12212 #define OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary 446 #define OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary 449 #define OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary 452 @@ -103,10 +107,14 @@ #define OpcUaId_ServiceFault_Encoding_DefaultXml 396 #define OpcUaId_FindServersRequest_Encoding_DefaultXml 421 #define OpcUaId_FindServersResponse_Encoding_DefaultXml 424 +#define OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultXml 12196 +#define OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultXml 12197 #define OpcUaId_GetEndpointsRequest_Encoding_DefaultXml 427 #define OpcUaId_GetEndpointsResponse_Encoding_DefaultXml 430 #define OpcUaId_RegisterServerRequest_Encoding_DefaultXml 436 #define OpcUaId_RegisterServerResponse_Encoding_DefaultXml 439 +#define OpcUaId_RegisterServer2Request_Encoding_DefaultXml 12199 +#define OpcUaId_RegisterServer2Response_Encoding_DefaultXml 12200 #define OpcUaId_OpenSecureChannelRequest_Encoding_DefaultXml 445 #define OpcUaId_OpenSecureChannelResponse_Encoding_DefaultXml 448 #define OpcUaId_CloseSecureChannelRequest_Encoding_DefaultXml 451 diff --git a/plugins/opcua/opcua_serviceparser.c b/plugins/opcua/opcua_serviceparser.c index 435e5d262c..d203149a8b 100644 --- a/plugins/opcua/opcua_serviceparser.c +++ b/plugins/opcua/opcua_serviceparser.c @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Complex Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ @@ -34,6 +34,10 @@ gint ett_opcua_FindServersRequest = -1; gint ett_opcua_array_FindServersRequest = -1; gint ett_opcua_FindServersResponse = -1; gint ett_opcua_array_FindServersResponse = -1; +gint ett_opcua_FindServersOnNetworkRequest = -1; +gint ett_opcua_array_FindServersOnNetworkRequest = -1; +gint ett_opcua_FindServersOnNetworkResponse = -1; +gint ett_opcua_array_FindServersOnNetworkResponse = -1; gint ett_opcua_GetEndpointsRequest = -1; gint ett_opcua_array_GetEndpointsRequest = -1; gint ett_opcua_GetEndpointsResponse = -1; @@ -42,6 +46,10 @@ gint ett_opcua_RegisterServerRequest = -1; gint ett_opcua_array_RegisterServerRequest = -1; gint ett_opcua_RegisterServerResponse = -1; gint ett_opcua_array_RegisterServerResponse = -1; +gint ett_opcua_RegisterServer2Request = -1; +gint ett_opcua_array_RegisterServer2Request = -1; +gint ett_opcua_RegisterServer2Response = -1; +gint ett_opcua_array_RegisterServer2Response = -1; gint ett_opcua_OpenSecureChannelRequest = -1; gint ett_opcua_array_OpenSecureChannelRequest = -1; gint ett_opcua_OpenSecureChannelResponse = -1; @@ -218,6 +226,29 @@ void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf parseArrayComplex(subtree, tvb, pinfo, pOffset, "Servers", "ApplicationDescription", parseApplicationDescription, ett_opcua_array_ApplicationDescription); proto_item_set_end(ti, tvb, *pOffset); } +void parseFindServersOnNetworkRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree(tree, tvb, *pOffset, -1, ett_opcua_FindServersOnNetworkRequest, &ti, "FindServersOnNetworkRequest"); + + parseRequestHeader(subtree, tvb, pinfo, pOffset, "RequestHeader"); + parseUInt32(subtree, tvb, pinfo, pOffset, hf_opcua_StartingRecordId); + parseUInt32(subtree, tvb, pinfo, pOffset, hf_opcua_MaxRecordsToReturn); + /* Array length field ignored: NoOfServerCapabilityFilter */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "ServerCapabilityFilter", "String", hf_opcua_ServerCapabilityFilter, parseString, ett_opcua_array_String); + proto_item_set_end(ti, tvb, *pOffset); +} +void parseFindServersOnNetworkResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree(tree, tvb, *pOffset, -1, ett_opcua_FindServersOnNetworkResponse, &ti, "FindServersOnNetworkResponse"); + + parseResponseHeader(subtree, tvb, pinfo, pOffset, "ResponseHeader"); + parseDateTime(subtree, tvb, pinfo, pOffset, hf_opcua_LastCounterResetTime); + /* Array length field ignored: NoOfServers */ + parseArrayComplex(subtree, tvb, pinfo, pOffset, "Servers", "ServerOnNetwork", parseServerOnNetwork, ett_opcua_array_ServerOnNetwork); + proto_item_set_end(ti, tvb, *pOffset); +} void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) { proto_item *ti; @@ -258,6 +289,29 @@ void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *p parseResponseHeader(subtree, tvb, pinfo, pOffset, "ResponseHeader"); proto_item_set_end(ti, tvb, *pOffset); } +void parseRegisterServer2Request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree(tree, tvb, *pOffset, -1, ett_opcua_RegisterServer2Request, &ti, "RegisterServer2Request"); + + parseRequestHeader(subtree, tvb, pinfo, pOffset, "RequestHeader"); + parseRegisteredServer(subtree, tvb, pinfo, pOffset, "Server"); + /* Array length field ignored: NoOfDiscoveryConfiguration */ + parseArrayComplex(subtree, tvb, pinfo, pOffset, "DiscoveryConfiguration", "ExtensionObject", parseExtensionObject, ett_opcua_array_ExtensionObject); + proto_item_set_end(ti, tvb, *pOffset); +} +void parseRegisterServer2Response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) +{ + proto_item *ti; + proto_tree *subtree = proto_tree_add_subtree(tree, tvb, *pOffset, -1, ett_opcua_RegisterServer2Response, &ti, "RegisterServer2Response"); + + parseResponseHeader(subtree, tvb, pinfo, pOffset, "ResponseHeader"); + /* Array length field ignored: NoOfConfigurationResults */ + parseArraySimple(subtree, tvb, pinfo, pOffset, "ConfigurationResults", "StatusCode", hf_opcua_ConfigurationResults, parseStatusCode, ett_opcua_array_StatusCode); + /* Array length field ignored: NoOfDiagnosticInfos */ + parseArrayComplex(subtree, tvb, pinfo, pOffset, "DiagnosticInfos", "DiagnosticInfo", parseDiagnosticInfo, ett_opcua_array_DiagnosticInfo); + proto_item_set_end(ti, tvb, *pOffset); +} void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset) { proto_item *ti; @@ -1097,6 +1151,10 @@ static gint *ett[] = &ett_opcua_array_FindServersRequest, &ett_opcua_FindServersResponse, &ett_opcua_array_FindServersResponse, + &ett_opcua_FindServersOnNetworkRequest, + &ett_opcua_array_FindServersOnNetworkRequest, + &ett_opcua_FindServersOnNetworkResponse, + &ett_opcua_array_FindServersOnNetworkResponse, &ett_opcua_GetEndpointsRequest, &ett_opcua_array_GetEndpointsRequest, &ett_opcua_GetEndpointsResponse, @@ -1105,6 +1163,10 @@ static gint *ett[] = &ett_opcua_array_RegisterServerRequest, &ett_opcua_RegisterServerResponse, &ett_opcua_array_RegisterServerResponse, + &ett_opcua_RegisterServer2Request, + &ett_opcua_array_RegisterServer2Request, + &ett_opcua_RegisterServer2Response, + &ett_opcua_array_RegisterServer2Response, &ett_opcua_OpenSecureChannelRequest, &ett_opcua_array_OpenSecureChannelRequest, &ett_opcua_OpenSecureChannelResponse, diff --git a/plugins/opcua/opcua_serviceparser.h b/plugins/opcua/opcua_serviceparser.h index c380613093..48ba77d900 100644 --- a/plugins/opcua/opcua_serviceparser.h +++ b/plugins/opcua/opcua_serviceparser.h @@ -1,5 +1,5 @@ /****************************************************************************** -** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved. +** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved. ** Web: http://www.ascolab.com ** ** This program is free software; you can redistribute it and/or @@ -14,7 +14,7 @@ ** ** Description: OpcUa Service Type Parser ** -** This file was autogenerated on 16.10.2014. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** XXX - well, except that you may have to. See the README. ** @@ -29,6 +29,10 @@ extern gint ett_opcua_FindServersRequest; extern gint ett_opcua_array_FindServersRequest; extern gint ett_opcua_FindServersResponse; extern gint ett_opcua_array_FindServersResponse; +extern gint ett_opcua_FindServersOnNetworkRequest; +extern gint ett_opcua_array_FindServersOnNetworkRequest; +extern gint ett_opcua_FindServersOnNetworkResponse; +extern gint ett_opcua_array_FindServersOnNetworkResponse; extern gint ett_opcua_GetEndpointsRequest; extern gint ett_opcua_array_GetEndpointsRequest; extern gint ett_opcua_GetEndpointsResponse; @@ -37,6 +41,10 @@ extern gint ett_opcua_RegisterServerRequest; extern gint ett_opcua_array_RegisterServerRequest; extern gint ett_opcua_RegisterServerResponse; extern gint ett_opcua_array_RegisterServerResponse; +extern gint ett_opcua_RegisterServer2Request; +extern gint ett_opcua_array_RegisterServer2Request; +extern gint ett_opcua_RegisterServer2Response; +extern gint ett_opcua_array_RegisterServer2Response; extern gint ett_opcua_OpenSecureChannelRequest; extern gint ett_opcua_array_OpenSecureChannelRequest; extern gint ett_opcua_OpenSecureChannelResponse; @@ -185,10 +193,14 @@ extern gint ett_opcua_array_TestStackExResponse; void parseServiceFault(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseFindServersOnNetworkRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseFindServersOnNetworkResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseRegisterServer2Request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); +void parseRegisterServer2Response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset); diff --git a/plugins/opcua/opcua_servicetable.c b/plugins/opcua/opcua_servicetable.c index ef51133a5d..c257100e1b 100644 --- a/plugins/opcua/opcua_servicetable.c +++ b/plugins/opcua/opcua_servicetable.c @@ -14,7 +14,7 @@ ** ** Description: Service table and service dispatcher. ** -** This file was autogenerated on 01.07.2015. +** This file was autogenerated on 13.10.2015. ** DON'T MODIFY THIS FILE! ** ******************************************************************************/ @@ -31,10 +31,14 @@ ParserEntry g_arParserTable[] = { { OpcUaId_ServiceFault_Encoding_DefaultBinary, parseServiceFault }, { OpcUaId_FindServersRequest_Encoding_DefaultBinary, parseFindServersRequest }, { OpcUaId_FindServersResponse_Encoding_DefaultBinary, parseFindServersResponse }, + { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultBinary, parseFindServersOnNetworkRequest }, + { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultBinary, parseFindServersOnNetworkResponse }, { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, parseGetEndpointsRequest }, { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, parseGetEndpointsResponse }, { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, parseRegisterServerRequest }, { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, parseRegisterServerResponse }, + { OpcUaId_RegisterServer2Request_Encoding_DefaultBinary, parseRegisterServer2Request }, + { OpcUaId_RegisterServer2Response_Encoding_DefaultBinary, parseRegisterServer2Response }, { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, parseOpenSecureChannelRequest }, { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, parseOpenSecureChannelResponse }, { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, parseCloseSecureChannelRequest }, @@ -115,10 +119,14 @@ const value_string g_requesttypes[] = { { OpcUaId_ServiceFault_Encoding_DefaultBinary, "ServiceFault" }, { OpcUaId_FindServersRequest_Encoding_DefaultBinary, "FindServersRequest" }, { OpcUaId_FindServersResponse_Encoding_DefaultBinary, "FindServersResponse" }, + { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultBinary, "FindServersOnNetworkRequest" }, + { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultBinary, "FindServersOnNetworkResponse" }, { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, "GetEndpointsRequest" }, { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, "GetEndpointsResponse" }, { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, "RegisterServerRequest" }, { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, "RegisterServerResponse" }, + { OpcUaId_RegisterServer2Request_Encoding_DefaultBinary, "RegisterServer2Request" }, + { OpcUaId_RegisterServer2Response_Encoding_DefaultBinary, "RegisterServer2Response" }, { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, "OpenSecureChannelRequest" }, { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, "OpenSecureChannelResponse" }, { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, "CloseSecureChannelRequest" }, @@ -194,10 +202,14 @@ const value_string g_requesttypes[] = { { OpcUaId_ServiceFault_Encoding_DefaultXml, "ServiceFault (XML Encoding)" }, { OpcUaId_FindServersRequest_Encoding_DefaultXml, "FindServersRequest (XML Encoding)" }, { OpcUaId_FindServersResponse_Encoding_DefaultXml, "FindServersResponse (XML Encoding)" }, + { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultXml, "FindServersOnNetworkRequest (XML Encoding)" }, + { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultXml, "FindServersOnNetworkResponse (XML Encoding)" }, { OpcUaId_GetEndpointsRequest_Encoding_DefaultXml, "GetEndpointsRequest (XML Encoding)" }, { OpcUaId_GetEndpointsResponse_Encoding_DefaultXml, "GetEndpointsResponse (XML Encoding)" }, { OpcUaId_RegisterServerRequest_Encoding_DefaultXml, "RegisterServerRequest (XML Encoding)" }, { OpcUaId_RegisterServerResponse_Encoding_DefaultXml, "RegisterServerResponse (XML Encoding)" }, + { OpcUaId_RegisterServer2Request_Encoding_DefaultXml, "RegisterServer2Request (XML Encoding)" }, + { OpcUaId_RegisterServer2Response_Encoding_DefaultXml, "RegisterServer2Response (XML Encoding)" }, { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultXml, "OpenSecureChannelRequest (XML Encoding)" }, { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultXml, "OpenSecureChannelResponse (XML Encoding)" }, { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultXml, "CloseSecureChannelRequest (XML Encoding)" }, -- cgit v1.2.1