Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-opcua for openSUSE:Factory checked in at 2024-10-17 18:39:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-opcua (Old) and /work/SRC/openSUSE:Factory/.qt6-opcua.new.19354 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "qt6-opcua" Thu Oct 17 18:39:14 2024 rev:31 rq:1207620 version:6.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-opcua/qt6-opcua.changes 2024-10-03 17:37:56.302112990 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-opcua.new.19354/qt6-opcua.changes 2024-10-17 18:39:49.219478149 +0200 @@ -1,0 +2,6 @@ +Tue Oct 8 09:29:47 UTC 2024 - Christophe Marin <christophe@krop.fr> + +- Update to 6.8.0: + * https://www.qt.io/blog/qt-6.8-released + +------------------------------------------------------------------- Old: ---- qtopcua-everywhere-src-6.7.3.tar.xz New: ---- qtopcua-everywhere-src-6.8.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-opcua.spec ++++++ --- /var/tmp/diff_new_pack.uMidRe/_old 2024-10-17 18:39:51.439571254 +0200 +++ /var/tmp/diff_new_pack.uMidRe/_new 2024-10-17 18:39:51.459572093 +0200 @@ -16,8 +16,8 @@ # -%define real_version 6.7.3 -%define short_version 6.7 +%define real_version 6.8.0 +%define short_version 6.8 %define tar_name qtopcua-everywhere-src %define tar_suffix %{nil} # @@ -27,7 +27,7 @@ %endif # Name: qt6-opcua%{?pkg_suffix} -Version: 6.7.3 +Version: 6.8.0 Release: 0 Summary: Qt wrapper for existing OPC UA stacks # src/plugins/opcua is GPL-3.0-or-later, rest is dual licensed ++++++ _service ++++++ --- /var/tmp/diff_new_pack.uMidRe/_old 2024-10-17 18:39:51.667580817 +0200 +++ /var/tmp/diff_new_pack.uMidRe/_new 2024-10-17 18:39:51.691581824 +0200 @@ -1,9 +1,9 @@ <services> <service name="tar_scm" mode="disabled"> <param name="changesgenerate">disable</param> - <param name="version">6.7.3</param> + <param name="version">6.8.0</param> <param name="url">git://code.qt.io/qt/qtopcua.git</param> - <param name="revision">v6.7.3</param> + <param name="revision">v6.8.0</param> <param name="scm">git</param> <param name="filename">qtopcua-everywhere-src</param> </service> ++++++ qtopcua-everywhere-src-6.7.3.tar.xz -> qtopcua-everywhere-src-6.8.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/.cmake.conf new/qtopcua-everywhere-src-6.8.0/.cmake.conf --- old/qtopcua-everywhere-src-6.7.3/.cmake.conf 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/.cmake.conf 2024-10-02 16:26:19.000000000 +0200 @@ -1,4 +1,4 @@ -set(QT_REPO_MODULE_VERSION "6.7.3") +set(QT_REPO_MODULE_VERSION "6.8.0") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_LEAN_HEADERS=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/dependencies.yaml new/qtopcua-everywhere-src-6.8.0/dependencies.yaml --- old/qtopcua-everywhere-src-6.7.3/dependencies.yaml 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/dependencies.yaml 2024-10-02 16:26:19.000000000 +0200 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 92b685784960eea6eb353688cf0edeb94d69c6cd + ref: b839e9b36db3a4e50dfb34521d8ef8de1fd01969 required: true ../qtdeclarative: - ref: 34ffe0c15a9564fefcf01a738eb0bde370399959 + ref: 2884c601242f030307a5acdca984b3aa0d34e064 required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/examples/opcua/x509/main.cpp new/qtopcua-everywhere-src-6.8.0/examples/opcua/x509/main.cpp --- old/qtopcua-everywhere-src-6.7.3/examples/opcua/x509/main.cpp 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/examples/opcua/x509/main.cpp 2024-10-02 16:26:19.000000000 +0200 @@ -69,6 +69,7 @@ ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::NonRepudiation); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::KeyEncipherment); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::DataEncipherment); + ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::CertificateSigning); csr.addExtension(ku); // Set the extended key usage constraints diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/open62541.c new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/open62541.c --- old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/open62541.c 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/open62541.c 2024-10-02 16:26:19.000000000 +0200 @@ -1,6 +1,6 @@ /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES * visit http://open62541.org/ for information about this software - * Git-Revision: v1.3.9 + * Git-Revision: v1.3.11 */ /* @@ -6933,7 +6933,9 @@ return UA_STATUSCODE_GOOD; } - if(!type) + /* Check the array consistency -- defensive programming in case the user + * manually created an inconsistent array */ + if(UA_UNLIKELY(!type || !src)) return UA_STATUSCODE_BADINTERNALERROR; /* calloc, so we don't have to check retval in every iteration of copying */ @@ -18767,6 +18769,22 @@ UA_SecureChannel_close(UA_SecureChannel *channel) { /* Set the status to closed */ channel->state = UA_SECURECHANNELSTATE_CLOSED; + channel->renewState = UA_SECURECHANNELRENEWSTATE_NORMAL; + + /* Reset the SecurityMode and config */ + channel->securityMode = UA_MESSAGESECURITYMODE_INVALID; + memset(&channel->config, 0, sizeof(UA_ConnectionConfig)); + + /* Clean up the SecurityToken */ + UA_ChannelSecurityToken_clear(&channel->securityToken); + UA_ChannelSecurityToken_clear(&channel->altSecurityToken); + + /* Delete the channel context for the security policy */ + if(channel->securityPolicy) { + channel->securityPolicy->channelModule.deleteContext(channel->channelContext); + channel->securityPolicy = NULL; + channel->channelContext = NULL; + } /* Detach from the connection and close the connection */ if(channel->connection) { @@ -18775,6 +18793,15 @@ UA_Connection_detachSecureChannel(channel->connection); } + /* Clean up certificate and nonces */ + UA_ByteString_clear(&channel->remoteCertificate); + UA_ByteString_clear(&channel->localNonce); + UA_ByteString_clear(&channel->remoteNonce); + + /* Reset the sequence numbers */ + channel->receiveSequenceNumber = 0; + channel->sendSequenceNumber = 0; + /* Detach Sessions from the SecureChannel. This also removes outstanding * Publish requests whose RequestId is valid only for the SecureChannel. */ UA_SessionHeader *sh; @@ -18787,19 +18814,7 @@ } } - /* Delete the channel context for the security policy */ - if(channel->securityPolicy) { - channel->securityPolicy->channelModule.deleteContext(channel->channelContext); - channel->securityPolicy = NULL; - channel->channelContext = NULL; - } - - /* Delete members */ - UA_ByteString_clear(&channel->remoteCertificate); - UA_ByteString_clear(&channel->localNonce); - UA_ByteString_clear(&channel->remoteNonce); - UA_ChannelSecurityToken_clear(&channel->securityToken); - UA_ChannelSecurityToken_clear(&channel->altSecurityToken); + /* Delete remaining chunks */ UA_SecureChannel_deleteBuffered(channel); } @@ -23635,16 +23650,22 @@ const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, const UA_NumericRange *range, UA_DataValue *value) { + UA_LOCK(&server->serviceMutex); + /* Check the Subscription pointer */ UA_Subscription *sub = (UA_Subscription*)nodeContext; - if(!sub) + if(!sub) { + UA_UNLOCK(&server->serviceMutex); return UA_STATUSCODE_BADINTERNALERROR; + } /* Read the BrowseName */ UA_QualifiedName bn; UA_StatusCode res = readWithReadValue(server, nodeId, UA_ATTRIBUTEID_BROWSENAME, &bn); - if(res != UA_STATUSCODE_GOOD) + if(res != UA_STATUSCODE_GOOD) { + UA_UNLOCK(&server->serviceMutex); return res; + } /* Set the value */ UA_SubscriptionDiagnosticsDataType sddt; @@ -23674,17 +23695,21 @@ UA_SubscriptionDiagnosticsDataType_clear(&sddt); UA_QualifiedName_clear(&bn); + + UA_UNLOCK(&server->serviceMutex); return res; } /* If the nodeContext == NULL, return all subscriptions in the server. * Otherwise only for the current session. */ -UA_StatusCode -readSubscriptionDiagnosticsArray(UA_Server *server, - const UA_NodeId *sessionId, void *sessionContext, - const UA_NodeId *nodeId, void *nodeContext, - UA_Boolean sourceTimestamp, - const UA_NumericRange *range, UA_DataValue *value) { +static UA_StatusCode +readSubscriptionDiagnosticsArrayLocked(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + UA_LOCK_ASSERT(&server->serviceMutex, 1); + /* Get the current session */ size_t sdSize = 0; UA_Session *session = NULL; @@ -23730,6 +23755,20 @@ return UA_STATUSCODE_GOOD; } +UA_StatusCode +readSubscriptionDiagnosticsArray(UA_Server *server, + const UA_NodeId *sessionId, void *sessionContext, + const UA_NodeId *nodeId, void *nodeContext, + UA_Boolean sourceTimestamp, + const UA_NumericRange *range, UA_DataValue *value) { + UA_LOCK(&server->serviceMutex); + UA_StatusCode res = readSubscriptionDiagnosticsArrayLocked( + server, sessionId, sessionContext, nodeId, nodeContext, + sourceTimestamp, range, value); + UA_UNLOCK(&server->serviceMutex); + return res; +} + void createSubscriptionObject(UA_Server *server, UA_Session *session, UA_Subscription *sub) { @@ -23890,16 +23929,22 @@ const UA_NodeId *nodeId, void *nodeContext, UA_Boolean sourceTimestamp, const UA_NumericRange *range, UA_DataValue *value) { + UA_LOCK(&server->serviceMutex); + /* Get the Session */ UA_Session *session = UA_Server_getSessionById(server, sessionId); - if(!session) + if(!session) { + UA_UNLOCK(&server->serviceMutex); return UA_STATUSCODE_BADINTERNALERROR; + } /* Read the BrowseName */ UA_QualifiedName bn; UA_StatusCode res = readWithReadValue(server, nodeId, UA_ATTRIBUTEID_BROWSENAME, &bn); - if(res != UA_STATUSCODE_GOOD) + if(res != UA_STATUSCODE_GOOD) { + UA_UNLOCK(&server->serviceMutex); return res; + } union { UA_SessionDiagnosticsDataType sddt; @@ -23918,9 +23963,9 @@ /* Reuse the datasource callback. Forward a non-null nodeContext to * indicate that we want to see only the subscriptions for the current * session. */ - res = readSubscriptionDiagnosticsArray(server, sessionId, sessionContext, - nodeId, (void*)0x01, - sourceTimestamp, range, value); + res = readSubscriptionDiagnosticsArrayLocked(server, sessionId, sessionContext, + nodeId, (void*)0x01, + sourceTimestamp, range, value); goto cleanup; } else if(equalBrowseName(&bn.name, "SessionDiagnostics")) { setSessionDiagnostics(session, &data.sddt); @@ -23961,7 +24006,7 @@ res = UA_Variant_setScalarCopy(&value->value, content, type); } else { size_t len = *(size_t*)content; - content = (void*)(((uintptr_t)content) + sizeof(size_t)); + content = *(void**)((uintptr_t)content + sizeof(size_t)); res = UA_Variant_setArrayCopy(&value->value, content, len, type); } if(UA_LIKELY(res == UA_STATUSCODE_GOOD)) @@ -23974,6 +24019,7 @@ cleanup: UA_QualifiedName_clear(&bn); + UA_UNLOCK(&server->serviceMutex); return res; } @@ -56777,20 +56823,20 @@ UA_QUALIFIEDNAME(ns[0], "Optional"), UA_NODEID_NUMERIC(ns[0], 77LU), (const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3190LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2367LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2366LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11567LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11551LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11570LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11571LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 3190LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11565LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11569LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2370LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11574LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11573LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11572LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11569LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11570LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2371LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11567LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11551LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2366LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11573LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 80LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11574LU), false); return retVal; } @@ -56847,25 +56893,25 @@ UA_QUALIFIEDNAME(ns[0], "Mandatory"), UA_NODEID_NUMERIC(ns[0], 77LU), (const UA_NodeAttributes*)&attr, &UA_TYPES[UA_TYPES_OBJECTATTRIBUTES],NULL, NULL); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2043LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2011LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7611LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12078LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11241LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2046LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12169LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2050LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2051LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2375LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2011LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2042LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2369LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2044LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2047LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2046LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2374LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 7611LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2050LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2042LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11461LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12078LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2035LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2375LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2045LU), false); -retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2369LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 12169LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2047LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2035LU), false); retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2377LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 2043LU), false); +retVal |= UA_Server_addReference(server, UA_NODEID_NUMERIC(ns[0], 78LU), UA_NODEID_NUMERIC(ns[0], 37LU), UA_EXPANDEDNODEID_NUMERIC(ns[0], 11461LU), false); return retVal; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/open62541.h new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/open62541.h --- old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/open62541.h 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/open62541.h 2024-10-02 16:26:19.000000000 +0200 @@ -1,6 +1,6 @@ /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES * visit http://open62541.org/ for information about this software - * Git-Revision: v1.3.9 + * Git-Revision: v1.3.11 */ /* @@ -30,10 +30,10 @@ * ----------------- */ #define UA_OPEN62541_VER_MAJOR 1 #define UA_OPEN62541_VER_MINOR 3 -#define UA_OPEN62541_VER_PATCH 9 +#define UA_OPEN62541_VER_PATCH 11 #define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */ -#define UA_OPEN62541_VER_COMMIT "v1.3.9" -#define UA_OPEN62541_VERSION "v1.3.9" +#define UA_OPEN62541_VER_COMMIT "v1.3.11" +#define UA_OPEN62541_VERSION "v1.3.11" /** * Feature Options @@ -772,10 +772,11 @@ * Float Endianness * ^^^^^^^^^^^^^^^^ * The definition ``UA_FLOAT_IEEE754`` is set to true when the floating point - * number representation of the target architecture is IEEE 754. The definition - * ``UA_FLOAT_LITTLE_ENDIAN`` is set to true when the floating point number - * representation is in little-endian encoding. */ - + * number representation of the target architecture is IEEE 754. This can be + * set from outside with ``-DUA_FLOAT_IEEE754=1``. + * The definition ``UA_FLOAT_LITTLE_ENDIAN`` is set to true when the floating + * point number representation is in little-endian encoding. */ +#ifndef UA_FLOAT_IEEE754 #if defined(_WIN32) # define UA_FLOAT_IEEE754 1 #elif defined(__i386__) || defined(__x86_64__) || defined(__amd64__) || \ @@ -784,9 +785,12 @@ # define UA_FLOAT_IEEE754 1 #elif defined(__STDC_IEC_559__) # define UA_FLOAT_IEEE754 1 +#elif defined(ESP_PLATFORM) +# define UA_FLOAT_IEEE754 1 #else # define UA_FLOAT_IEEE754 0 #endif +#endif /* Wikipedia says (https://en.wikipedia.org/wiki/Endianness): Although the * ubiquitous x86 processors of today use little-endian storage for all types of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/qt_attribution.json new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/qt_attribution.json --- old/qtopcua-everywhere-src-6.7.3/src/3rdparty/open62541/qt_attribution.json 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/3rdparty/open62541/qt_attribution.json 2024-10-02 16:26:19.000000000 +0200 @@ -5,7 +5,7 @@ "QtUsage": "Used in the Qt OPC UA module to build the backend. Pass -no-open62541 or -system-open62541 to avoid.", "Description": "Open62541 is an open source implementation of the OPC UA protocol.", "Homepage": "https://open62541.org/", - "Version": "1.3.9", + "Version": "1.3.11", "License": "Mozilla Public License 2.0 and Creative Commons Zero v1.0 Universal and Creative Commons Attribution Share Alike 4.0 International and BSD 3-Clause \"New\" or \"Revised\" License and Apache License 2.0 and MIT License", "LicenseId": "MPL-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND BSD-3-Clause AND Apache-2.0 AND MIT", "LicenseFiles": [ "mpl-2.0.815ca599c9df.txt", "LICENSE-CC0", "CC-BY-SA-4.0", "BSD-3-CLAUSE", "LICENSE-2.0.txt", "MIT" ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/src/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/src/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -11,17 +11,24 @@ # This is needed because we can't set properties on not yet existing targets. if(NOT TARGET WrapOpenSSL::WrapOpenSSL) find_package(WrapOpenSSL ${_qt_opcua_openssl_version}) + set(_qt_opcua_openssl_already_found "FALSE") + else() + set(_qt_opcua_openssl_already_found "TRUE") endif() # Then make sure not to promote the imported targets to global when we call qt_find_package, # if the targets were created in the root scope when looking for the Network package # in a static build. - foreach(_qt_ssl_target WrapOpenSSLHeaders::WrapOpenSSLHeaders - WrapOpenSSL::WrapOpenSSL) - if(TARGET ${_qt_ssl_target}) - qt_internal_disable_find_package_global_promotion(${_qt_ssl_target}) - endif() - endforeach() + # But if the imported targets don't exist, make sure we do promote the targets, to ensure + # SBOM generation can access the target in the project root directory scope. + if(_qt_opcua_openssl_already_found) + foreach(_qt_ssl_target WrapOpenSSLHeaders::WrapOpenSSLHeaders + WrapOpenSSL::WrapOpenSSL) + if(TARGET ${_qt_ssl_target}) + qt_internal_disable_find_package_global_promotion(${_qt_ssl_target}) + endif() + endforeach() + endif() # Finally call qt_find_package with PROVIDED_TARGETS to ensure the package dependency # is recorded for static builds. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/declarative_opcua/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/src/declarative_opcua/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/src/declarative_opcua/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/declarative_opcua/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -44,6 +44,7 @@ Qt::Gui Qt::OpcUa Qt::Quick + NO_GENERATE_CPP_EXPORTS ) # The file contains Q_OBJECT in a comment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/opcua/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/src/opcua/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/src/opcua/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/opcua/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -91,7 +91,6 @@ PRIVATE_MODULE_INTERFACE Qt::CorePrivate Qt::NetworkPrivate - GENERATE_CPP_EXPORTS ) ## Scopes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/opcua/doc/src/qtopcua.qdoc new/qtopcua-everywhere-src-6.8.0/src/opcua/doc/src/qtopcua.qdoc --- old/qtopcua-everywhere-src-6.7.3/src/opcua/doc/src/qtopcua.qdoc 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/opcua/doc/src/qtopcua.qdoc 2024-10-02 16:26:19.000000000 +0200 @@ -388,7 +388,7 @@ The Open62541 plugin is built by default from the included 3rd party sources and has no external dependencies. The open62541 library uses OpenSSL for security. If the OpenSSL library is detected during configuration, security is enabled for the tests and the open62541 backend. - The Open62541 source and header files bundled with Qt OPC UA have been generated from the open62541 v1.3.9 + The Open62541 source and header files bundled with Qt OPC UA have been generated from the open62541 v1.3.11 tag using the following commands: \code @@ -396,7 +396,7 @@ make \endcode - In case you want to build a custom version of the Open62541 plugin, Open62541 v1.3.9 built with the same options as above is required. + In case you want to build a custom version of the Open62541 plugin, Open62541 v1.3.11 built with the same options as above is required. The following options must be passed to cmake when building with open62541 installed to a custom location: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/opcua/doc/src/security.qdoc new/qtopcua-everywhere-src-6.8.0/src/opcua/doc/src/security.qdoc --- old/qtopcua-everywhere-src-6.7.3/src/opcua/doc/src/security.qdoc 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/opcua/doc/src/security.qdoc 2024-10-02 16:26:19.000000000 +0200 @@ -131,7 +131,8 @@ \snippet ../../examples/opcua/opcuaviewer/mainwindow.cpp Application Identity \li Configure PKI locations so that the SDK can find the certificate, private key, trust list etc. - See for instance the code from the \l{Qt OPC UA Viewer Example}: + See, for example, the code from the + \l {Qt OPC UA Viewer} {Qt OPC UA Viewer Example}: \snippet ../../examples/opcua/opcuaviewer/mainwindow.cpp PKI Configuration In the example, we extract pre-configured own and trusted certificates @@ -192,7 +193,7 @@ When connecting for the first time, the client needs to trust the server certificate. The client should display a certificate warning (with cert details) and offer the possibility to save the certificate in its trust list. - For an example, see \l{Qt OPC UA Viewer Example}. + For an example, see \l {Qt OPC UA Viewer} {Qt OPC UA Viewer Example}. When the client has accepted the server certificate, you can try to connect again. Now the server may reject the client's certificate. This is indicated by the generic error code \c BadSecurityChecksFailed. Server normally store rejected certificates in a special \c rejected folder. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/src/plugins/opcua/open62541/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/src/plugins/opcua/open62541/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/src/plugins/opcua/open62541/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/src/plugins/opcua/open62541/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -34,6 +34,8 @@ ../../../3rdparty/open62541/open62541.c INCLUDE_DIRECTORIES ../../../3rdparty/open62541 + ATTRIBUTION_FILE_DIR_PATHS + ../../../3rdparty/open62541 ) set_source_files_properties(QOpen62541Plugin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/tests/auto/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/tests/auto/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/tests/auto/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/tests/auto/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -3,6 +3,7 @@ if(NOT ANDROID) + add_subdirectory(cmake) add_subdirectory(qopcuaclient) add_subdirectory(connection) add_subdirectory(security) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtopcua-everywhere-src-6.7.3/tests/auto/cmake/CMakeLists.txt new/qtopcua-everywhere-src-6.8.0/tests/auto/cmake/CMakeLists.txt --- old/qtopcua-everywhere-src-6.7.3/tests/auto/cmake/CMakeLists.txt 2024-09-19 20:59:29.000000000 +0200 +++ new/qtopcua-everywhere-src-6.8.0/tests/auto/cmake/CMakeLists.txt 2024-10-02 16:26:19.000000000 +0200 @@ -3,14 +3,14 @@ cmake_minimum_required(VERSION 3.16) -project(qmake_cmake_files) +project(qtopcua_cmake_tests) enable_testing() -find_package(Qt5Core REQUIRED) +find_package(Qt6Core REQUIRED) -include("${_Qt5CTestMacros}") +include("${_Qt6CTestMacros}") -test_module_includes( +_qt_internal_test_module_includes( OpcUa QOpcUaProvider )