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 2025-06-05 20:33:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-opcua (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-opcua.new.19631 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-opcua"

Thu Jun  5 20:33:14 2025 rev:36 rq:1282568 version:6.9.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-opcua/qt6-opcua.changes      2025-04-07 
17:36:17.448004537 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-opcua.new.19631/qt6-opcua.changes   
2025-06-05 20:33:42.271709943 +0200
@@ -1,0 +2,6 @@
+Tue Jun  3 07:49:29 UTC 2025 - Christophe Marin <christo...@krop.fr>
+
+- Update to 6.9.1:
+  * https://www.qt.io/blog/qt-6.9.1-released
+
+-------------------------------------------------------------------

Old:
----
  qtopcua-everywhere-src-6.9.0.tar.xz

New:
----
  qtopcua-everywhere-src-6.9.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-opcua.spec ++++++
--- /var/tmp/diff_new_pack.B0TzCm/_old  2025-06-05 20:33:42.955738385 +0200
+++ /var/tmp/diff_new_pack.B0TzCm/_new  2025-06-05 20:33:42.955738385 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define real_version 6.9.0
+%define real_version 6.9.1
 %define short_version 6.9
 %define tar_name qtopcua-everywhere-src
 %define tar_suffix %{nil}
@@ -30,7 +30,7 @@
 %global __requires_exclude qt6qmlimport\\(OpcUaMachineBackend\\)
 #
 Name:           qt6-opcua%{?pkg_suffix}
-Version:        6.9.0
+Version:        6.9.1
 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.B0TzCm/_old  2025-06-05 20:33:42.991739881 +0200
+++ /var/tmp/diff_new_pack.B0TzCm/_new  2025-06-05 20:33:42.995740048 +0200
@@ -1,9 +1,9 @@
 <services>
   <service name="tar_scm" mode="disabled">
    <param name="changesgenerate">disable</param>
-   <param name="version">6.9.0</param>
+   <param name="version">6.9.1</param>
    <param name="url">git://code.qt.io/qt/qtopcua.git</param>
-   <param name="revision">v6.9.0</param>
+   <param name="revision">v6.9.1</param>
    <param name="scm">git</param>
    <param name="filename">qtopcua-everywhere-src</param>
   </service>

++++++ qtopcua-everywhere-src-6.9.0.tar.xz -> 
qtopcua-everywhere-src-6.9.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.9.0/.cmake.conf 
new/qtopcua-everywhere-src-6.9.1/.cmake.conf
--- old/qtopcua-everywhere-src-6.9.0/.cmake.conf        2025-03-29 
00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/.cmake.conf        2025-05-29 
02:20:20.000000000 +0200
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.9.0")
+set(QT_REPO_MODULE_VERSION "6.9.1")
 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.9.0/.gitreview 
new/qtopcua-everywhere-src-6.9.1/.gitreview
--- old/qtopcua-everywhere-src-6.9.0/.gitreview 1970-01-01 01:00:00.000000000 
+0100
+++ new/qtopcua-everywhere-src-6.9.1/.gitreview 2025-05-29 02:20:20.000000000 
+0200
@@ -0,0 +1,4 @@
+[gerrit]
+host=codereview.qt-project.org
+project=qt/qtopcua
+defaultbranch=dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.9.0/REUSE.toml 
new/qtopcua-everywhere-src-6.9.1/REUSE.toml
--- old/qtopcua-everywhere-src-6.9.0/REUSE.toml 2025-03-29 00:19:23.000000000 
+0100
+++ new/qtopcua-everywhere-src-6.9.1/REUSE.toml 2025-05-29 02:20:20.000000000 
+0200
@@ -29,7 +29,7 @@
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"
 
 [[annotations]]
-path = ["**.pro", "**.qrc", ".cmake.conf", "**.yaml",
+path = ["**.pro", "**.qrc", ".cmake.conf", "**.yaml", ".tag",
         "**.pri", "**BLACKLIST", "**ci_config_linux.json"]
 precedence = "closest"
 comment = "build system"
@@ -37,11 +37,11 @@
 SPDX-License-Identifier = "BSD-3-Clause"
 
 [[annotations]]
-path = [".tag", "**/.gitattributes", "**.gitignore"]
+path = ["**/.gitattributes", "**.gitignore", "**.gitreview"]
 precedence = "closest"
-comment = "version control system. Licensed as build system"
+comment = "version control system. Infrastructure"
 SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
-SPDX-License-Identifier = "BSD-3-Clause"
+SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
 
 [[annotations]]
 path = ["examples/**", "**/doc/snippets/**"]
@@ -59,10 +59,10 @@
 
 [[annotations]]
 path = ["**.toml", "licenseRule.json"]
-comment = "documentation"
+comment = "infrastructure"
 precedence = "override"
 SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
-SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"
+SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
 
 [[annotations]]
 path = ["**/qt_attribution.json"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.9.0/coin/module_config.yaml 
new/qtopcua-everywhere-src-6.9.1/coin/module_config.yaml
--- old/qtopcua-everywhere-src-6.9.0/coin/module_config.yaml    2025-03-29 
00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/coin/module_config.yaml    2025-05-29 
02:20:20.000000000 +0200
@@ -6,7 +6,6 @@
 
 instructions:
   Build:
-    # to be turned on when the module source SBOM pass the license check
     - type: EnvironmentVariable
       variableName: VERIFY_SOURCE_SBOM
       variableValue: "ON"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.9.0/dependencies.yaml 
new/qtopcua-everywhere-src-6.9.1/dependencies.yaml
--- old/qtopcua-everywhere-src-6.9.0/dependencies.yaml  2025-03-29 
00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/dependencies.yaml  2025-05-29 
02:20:20.000000000 +0200
@@ -1,7 +1,7 @@
 dependencies:
   ../qtbase:
-    ref: 25986746947798e1a22d0830d3bcb11a55fcd3ae
+    ref: 2ad23cd72d5f122f88ce95792a4323d639c27d25
     required: true
   ../qtdeclarative:
-    ref: 47ecb4fa226253c1ac85be8130ba905f95318f36
+    ref: 1e6adc3d5f1f4cbbb77b41911395782dff43cccd
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.9.0/licenseRule.json 
new/qtopcua-everywhere-src-6.9.1/licenseRule.json
--- old/qtopcua-everywhere-src-6.9.0/licenseRule.json   2025-03-29 
00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/licenseRule.json   2025-05-29 
02:20:20.000000000 +0200
@@ -1,6 +1,6 @@
 [
     {
-        "comment" : ["file_pattern_ending: strings matched against the end of 
a file name.",
+        "comment": ["file_pattern_ending: strings matched against the end of a 
file name.",
                      "location keys: regular expression matched against the 
beginning of",
                      "the file path (relative to the git submodule root).",
                      "spdx: list of SPDX-License-Expression's allowed in the 
matching files.",
@@ -9,93 +9,104 @@
                      "unless they are examples",
                      "Files with other endings can also be build system files"
                      ],
-        "file_pattern_ending" : ["CMakeLists.txt", ".cmake", ".pro", ".pri", 
".prf",
+        "file_pattern_ending": ["CMakeLists.txt", ".cmake", ".pro", ".pri", 
".prf",
                      "configure", "configure.bat", "cmake.in", "plist.in", 
"CMakeLists.txt.in",
-                     ".cmake.conf", ".gitattributes", ".gitignore", ".tag", 
"ci_config_linux.json",
+                     ".cmake.conf", ".tag", "ci_config_linux.json",
                      ".yaml", ".qrc", "BLACKLIST"],
-        "location" : {
-            "" : {
-                "comment" : "Default",
-                "file type" : "build system",
-                "spdx"      : ["BSD-3-Clause"]
-            },
-            "(.*)(examples/|snippets/)" : {
-                "comment" : "Example takes precedence",
-                "file type" : "examples and snippets",
-                "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+        "location": {
+            "": {
+                "comment": "Default",
+                "file type": "build system",
+                "spdx": ["BSD-3-Clause"]
+            },
+            "(.*)(examples/|snippets/)": {
+                "comment": "Example takes precedence",
+                "file type": "examples and snippets",
+                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
             }
         }
     },
     {
-        "comments" : ["Files with the following endings are Tool licensed,",
+        "comments": ["Files with the following endings are infrastructure 
licensed"],
+        "file_pattern_ending": [".gitattributes", ".gitignore", ".gitmodules", 
".gitreview",
+                                "_clang-format", "licenseRule.json", 
"REUSE.toml"],
+        "location":{
+            "": {
+                "comment": "Default",
+                "file type": "infrastructure",
+                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+            }
+        }
+    },
+    {
+        "comments": ["Files with the following endings are Tool licensed,",
                       "unless they are examples.",
                       "Files with other endings can also be tool files."],
-        "file_pattern_ending" : [".sh", ".py", ".pl", ".bat", ".ps1"],
-        "location" :{
-            "" : {
-                "comment" : "Default",
-                "file type" : "tools and utils",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR GPL-3.0-only WITH 
Qt-GPL-exception-1.0"]
-            },
-            "(.*)(examples/|snippets/)" : {
-                "comment" : "Example takes precedence",
-                "file type" : "examples and snippets",
-                "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+        "file_pattern_ending": [".sh", ".py", ".pl", ".bat", ".ps1"],
+        "location":{
+            "": {
+                "comment": "Default",
+                "file type": "tools and utils",
+                "spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only WITH 
Qt-GPL-exception-1.0"]
+            },
+            "(.*)(examples/|snippets/)": {
+                "comment": "Example takes precedence",
+                "file type": "examples and snippets",
+                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
             }
         }
     },
     {
-        "comment" : "Files with the following endings are Documentation 
licensed.",
-        "file_pattern_ending" : [".qdoc", ".qdocinc" , ".qdocconf", ".txt", 
"README", "qt_attribution.json",
-                                 "REUSE.toml", "licenseRule.json"],
-        "location" :{
-            "" : {
-                "comment" : "",
-                "file type" : "documentation",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
+        "comment": "Files with the following endings are Documentation 
licensed.",
+        "file_pattern_ending": [".qdoc", ".qdocinc" , ".qdocconf", ".txt", 
"README", "qt_attribution.json"],
+        "location": {
+            "": {
+                "comment": "",
+                "file type": "documentation",
+                "spdx": ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
             }
         }
     },
     {
-        "comment" : ["All other files",
+        "comment": ["All other files",
                      "The licensing is defined only by the file location in 
the Qt module repository.",
                      "NO <file_pattern_ending> key for this case!",
                      "This needs to be the last entry of the file."],
-        "location" : {
-            "" : {
-                "comment" : "Default",
-                "file type" : "module and plugin",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"]
-            },
-            "dist/" : {
-                "comment" : "Default",
-                "file type" : "documentation",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
-            },
-            "(examples|.*)(.*)/doc/images/" : {
-                "comment" : "Default",
-                "file type" : "documentation",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
-            },
-            "src/" : {
-                "comment" : "Default",
-                "file type" : "module and plugin",
-                "spdx"      : ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"]
-            },
-            "tests/" : {
-                "comment" : "Default",
-                "file type" : "test",
-                "spdx" : ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
-            },
-            "(.*)(examples/|snippets/)" : {
-                "comment" : "Default",
-                "file type" : "examples and snippets",
-                "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
-            },
-            "(examples/opcua/opcuaviewer|tests).*.pem" : {
-                "comment" : "Default",
-                "file type" : "keys",
-                "spdx" : ["CC0-1.0"]
+        "location": {
+            "": {
+                "comment": "Default",
+                "file type": "module and plugin",
+                "spdx": ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"]
+            },
+            "dist/": {
+                "comment": "Default",
+                "file type": "documentation",
+                "spdx": ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
+            },
+            "(examples|.*)(.*)/doc/images/": {
+                "comment": "Default",
+                "file type": "documentation",
+                "spdx": ["LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"]
+            },
+            "src/": {
+                "comment": "Default",
+                "file type": "module and plugin",
+                "spdx": ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"]
+            },
+            "tests/": {
+                "comment": "Default",
+                "file type": "test",
+                "spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
+            },
+            "(.*)(examples/|snippets/)": {
+                "comment": "Default",
+                "file type": "examples and snippets",
+                "spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+            },
+            "(examples/opcua/opcuaviewer|tests).*.pem": {
+                "comment": "Default",
+                "file type": "keys",
+                "spdx": ["CC0-1.0"]
             }
         }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/src/opcua/Qt6OpcUaMacros.cmake 
new/qtopcua-everywhere-src-6.9.1/src/opcua/Qt6OpcUaMacros.cmake
--- old/qtopcua-everywhere-src-6.9.0/src/opcua/Qt6OpcUaMacros.cmake     
2025-03-29 00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/src/opcua/Qt6OpcUaMacros.cmake     
2025-05-29 02:20:20.000000000 +0200
@@ -105,7 +105,6 @@
             ${GENERATED_NODEIDS_HEADER}
             ${GENERATED_DATATYPES_HEADERS}
             ${GENERATED_DATATYPES_SOURCES}
-        PRE_BUILD
         COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qopcuaxmldatatypes2cpp -b 
${INPUT_BSD_ARGS} ${DEPENDENCY_BSD_ARGS} ${INPUT_CSV_ARGS} -p ${GEN_OPT_PREFIX} 
-o ${GEN_OPT_OUTPUT_DIR}
         DEPENDS ${GEN_OPT_INPUT_BSD} ${GEN_OPT_DEPENDENCY_BSD} 
${INPUT_CSV_FILES}
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/src/plugins/opcua/open62541/qopen62541utils.cpp
 
new/qtopcua-everywhere-src-6.9.1/src/plugins/opcua/open62541/qopen62541utils.cpp
--- 
old/qtopcua-everywhere-src-6.9.0/src/plugins/opcua/open62541/qopen62541utils.cpp
    2025-03-29 00:19:23.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.9.1/src/plugins/opcua/open62541/qopen62541utils.cpp
    2025-05-29 02:20:20.000000000 +0200
@@ -67,7 +67,11 @@
     case 'b': {
         const QByteArray temp = 
QByteArray::fromBase64(identifierString.toLatin1());
         if (temp.size() > 0) {
-            return UA_NODEID_BYTESTRING_ALLOC(namespaceIndex, 
temp.constData());
+            UA_NodeId byteStringId = UA_NODEID_NULL;
+            byteStringId.namespaceIndex = namespaceIndex;
+            byteStringId.identifierType = UA_NODEIDTYPE_BYTESTRING;
+            QOpen62541ValueConverter::scalarFromQt<UA_ByteString, 
QByteArray>(temp, &byteStringId.identifier.byteString);
+            return byteStringId;
         }
         else
             qCWarning(QT_OPCUA_PLUGINS_OPEN62541) << name << "does not contain 
a valid byte string identifier";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/tests/auto/qopcuaclient/tst_client.cpp 
new/qtopcua-everywhere-src-6.9.1/tests/auto/qopcuaclient/tst_client.cpp
--- old/qtopcua-everywhere-src-6.9.0/tests/auto/qopcuaclient/tst_client.cpp     
2025-03-29 00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/tests/auto/qopcuaclient/tst_client.cpp     
2025-05-29 02:20:20.000000000 +0200
@@ -524,6 +524,8 @@
     void compareNodeIds();
     defineDataMethod(getNodeForIdTypes_data)
     void getNodeForIdTypes();
+    defineDataMethod(readNodeWithByteStringIdWithNullByte_data)
+    void readNodeWithByteStringIdWithNullByte();
     defineDataMethod(readNS0OmitNode_data)
     void readNS0OmitNode();
     defineDataMethod(readInvalidNode_data)
@@ -1235,6 +1237,17 @@
     QVERIFY(node == nullptr);
 }
 
+void Tst_QOpcUaClient::readNodeWithByteStringIdWithNullByte()
+{
+    QFETCH(QOpcUaClient*, opcuaClient);
+    OpcuaConnector connector(opcuaClient, m_endpoint);
+
+    QScopedPointer<QOpcUaNode> node(opcuaClient->node("ns=1;b=AAABAAIADoo="));
+    QVERIFY(node);
+
+    READ_MANDATORY_VARIABLE_NODE(node);
+}
+
 void Tst_QOpcUaClient::readNS0OmitNode()
 {
     QFETCH(QOpcUaClient*, opcuaClient);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/main.cpp 
new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/main.cpp
--- old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/main.cpp        
2025-03-29 00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/main.cpp        
2025-05-29 02:20:20.000000000 +0200
@@ -314,6 +314,7 @@
     server.addServerStatusTypeTestNodes(testFolder);
 
     server.addUnreadableVariableNode(testFolder);
+    server.addByteStringNodeIdWithNullIdVariableNode(testFolder);
 
     // Add test nodes for the generic type decoder
     auto result = server.addEncoderTestModel();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/testserver.cpp 
new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/testserver.cpp
--- old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/testserver.cpp  
2025-03-29 00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/testserver.cpp  
2025-05-29 02:20:20.000000000 +0200
@@ -1516,6 +1516,39 @@
     return result;
 }
 
+UA_StatusCode TestServer::addByteStringNodeIdWithNullIdVariableNode(const 
UA_NodeId &parent)
+{
+    UA_VariableAttributes attr = UA_VariableAttributes_default;
+    attr.value = QOpen62541ValueConverter::toOpen62541Variant(42, 
QOpcUa::Int32);
+    attr.displayName = UA_LOCALIZEDTEXT_ALLOC("en-US", 
"VariableWithByteStringWithNullByteId");
+    attr.dataType = attr.value.type->typeId;
+    attr.accessLevel = UA_ACCESSLEVELMASK_READ;
+
+    UA_QualifiedName variableName;
+    variableName.namespaceIndex = parent.namespaceIndex;
+    variableName.name = attr.displayName.text;
+
+    UA_NodeId nodeId = UA_NODEID_NULL;
+    nodeId.namespaceIndex = 1;
+    nodeId.identifierType = UA_NODEIDTYPE_BYTESTRING;
+    const auto bytes = 
QByteArray::fromBase64(QStringLiteral("AAABAAIADoo=").toLatin1());
+    UA_ByteString_allocBuffer(&nodeId.identifier.byteString, bytes.length());
+    memcpy(nodeId.identifier.byteString.data, bytes.constData(), 
bytes.length());
+
+    UA_StatusCode result = UA_Server_addVariableNode(m_server,
+                                                     nodeId,
+                                                     parent,
+                                                     UA_NODEID_NUMERIC(0, 
UA_NS0ID_ORGANIZES),
+                                                     variableName,
+                                                     UA_NODEID_NULL,
+                                                     attr,
+                                                     nullptr,
+                                                     nullptr);
+    UA_NodeId_clear(&nodeId);
+    UA_VariableAttributes_clear(&attr);
+    return result;
+}
+
 UA_StatusCode TestServer::addEventHistorian(const UA_NodeId &parent)
 {
     UA_ObjectAttributes attr = UA_ObjectAttributes_default;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/testserver.h 
new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/testserver.h
--- old/qtopcua-everywhere-src-6.9.0/tests/open62541-testserver/testserver.h    
2025-03-29 00:19:23.000000000 +0100
+++ new/qtopcua-everywhere-src-6.9.1/tests/open62541-testserver/testserver.h    
2025-05-29 02:20:20.000000000 +0200
@@ -92,6 +92,8 @@
 
     UA_StatusCode addUnreadableVariableNode(const UA_NodeId &parent);
 
+    UA_StatusCode addByteStringNodeIdWithNullIdVariableNode(const UA_NodeId 
&parent);
+
     static UA_StatusCode multiplyMethod(UA_Server *server, const UA_NodeId 
*sessionId, void *sessionHandle,
                                             const UA_NodeId *methodId, void 
*methodContext,
                                             const UA_NodeId *objectId, void 
*objectContext,

Reply via email to