On 2022/06/08 22:34, Alexander Bluhm wrote:
> Hi ports@
> 
> I would like to update misc/open62541 library.  That is not easy
> as it is not API compatible.  The depending port misc/p5-OPCUA-Open62541
> compiles, but fails in make test.
> 
> So I have to fix open62541 library bugs and add p5-OPCUA-Open62541
> compatiblity layer.  As the latter is my module and I doubt that
> anyone else uses it, I think it is acceptable that tests fail.
> Updating open62541 now would allow to work in tree.
> 
> I have removed all the patches in misc/open62541 that have been
> commited upstream.  New patches prevent fatal compiler warnings.
> 
> Upstream has moved include/aa_tree.h, include/ms_stdint.h,
> include/ziptree.h outside of the include/open62541/ directory.  This
> pollutes the namespace.  Fortunately two of them are only used
> internally and are not needed in the package.  I rmeoved them from
> PLIST.
> 
> But include/aa_tree.h is included in include/open62541/ header
> file.  What should I do?
> - ignore the namespace problem
> - move include/aa_tree.h to include/open62541/aa_tree.h
> - paste include/aa_tree.h content into the single header file
>   include/open62541/plugin/nodestore.h that needs it.
> - something else

I think ignore it. It's a third-party header which is presumably
why it has been moved, to distinguish it from open62541 itself.
If we run into a conflict with another port we can revisit later.

> ok?

yes


> 
> bluhm
> 
> Index: Makefile
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/ports/misc/open62541/Makefile,v
> retrieving revision 1.14
> diff -u -p -u -p -r1.14 Makefile
> --- Makefile  11 Mar 2022 19:38:13 -0000      1.14
> +++ Makefile  8 Jun 2022 14:45:16 -0000
> @@ -1,11 +1,10 @@
>  COMMENT =    library implementation of OPC UA
>  
> -VERSION =    1.0.6
> -REVISION =   0
> +VERSION =    1.3.1
>  DISTNAME =   open62541-${VERSION}
>  PKGNAME =    open62541-${VERSION}
>  
> -SHARED_LIBS =        open62541       1.0
> +SHARED_LIBS =        open62541       2.0
>  
>  CATEGORIES = misc
>  
> @@ -21,7 +20,7 @@ WANTLIB =           c m mbedcrypto mbedtls mbedx5
>  MASTER_SITES =               https://github.com/open62541/open62541/
>  MASTER_SITES0 =              
> https://github.com/OPCFoundation/UA-Nodeset/archive/
>  DISTFILES =          open62541-{archive/refs/tags/v}${VERSION}.tar.gz \
> -                     UA-1.04.5-2020-03-06.tar.gz:0
> +                     UA-1.04.10-2021-09-15.tar.gz:0
>  
>  MODULES =            devel/cmake
>  
> @@ -53,8 +52,7 @@ FLAVORS =           ns0_full
>  FLAVOR ?=
>  
>  .if ${FLAVOR:Mns0_full}
> -CONFIGURE_ARGS +=    -DUA_NAMESPACE_ZERO=FULL \
> -                     -DUA_ENABLE_MICRO_EMB_DEV_PROFILE=ON
> +CONFIGURE_ARGS +=    -DUA_NAMESPACE_ZERO=FULL
>  .else
>  CONFIGURE_ARGS +=    -DUA_NAMESPACE_ZERO=REDUCED
>  .endif
> Index: distinfo
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/ports/misc/open62541/distinfo,v
> retrieving revision 1.5
> diff -u -p -u -p -r1.5 distinfo
> --- distinfo  9 Aug 2021 21:23:25 -0000       1.5
> +++ distinfo  8 Jun 2022 14:45:36 -0000
> @@ -1,4 +1,4 @@
> -SHA256 (UA-1.04.5-2020-03-06.tar.gz) = 
> KIty/GA+zomK1fXUBLBP7+EN5Puzx1apbXzINCtRgFM=
> -SHA256 (open62541-1.0.6.tar.gz) = 
> KZlAAlwUkpUzBkq+AETVgF6lDVKzLQWtm8DmmWVpwqY=
> -SIZE (UA-1.04.5-2020-03-06.tar.gz) = 4053334
> -SIZE (open62541-1.0.6.tar.gz) = 2691627
> +SHA256 (UA-1.04.10-2021-09-15.tar.gz) = 
> TaoMRz1MU01hSqnlSqhrcb7CREZnO550yF5a3SYkw5M=
> +SHA256 (open62541-1.3.1.tar.gz) = 
> 9U0QMl/Qj8FQWuo32D2qCFkSomlSHm0Bi/xBp0S6V6o=
> +SIZE (UA-1.04.10-2021-09-15.tar.gz) = 5720040
> +SIZE (open62541-1.3.1.tar.gz) = 3886706
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: 
> /data/mirror/openbsd/cvs/ports/misc/open62541/patches/patch-CMakeLists_txt,v
> retrieving revision 1.4
> diff -u -p -u -p -r1.4 patch-CMakeLists_txt
> --- patches/patch-CMakeLists_txt      11 Mar 2022 19:38:13 -0000      1.4
> +++ patches/patch-CMakeLists_txt      8 Jun 2022 15:01:01 -0000
> @@ -1,20 +1,9 @@
> -GCC 4.2.1 doesn't understand "-Wpedantic".
> -
>  Move examples to the right place.
>  
>  Index: CMakeLists.txt
>  --- CMakeLists.txt.orig
>  +++ CMakeLists.txt
> -@@ -389,7 +389,7 @@ include(CompilerFlags)
> - if(NOT UA_COMPILE_AS_CXX AND (CMAKE_COMPILER_IS_GNUCC OR 
> "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang"))
> -     # Compiler
> -     add_definitions(-std=c99 -pipe
> --                    -Wall -Wextra -Wpedantic
> -+                    -Wall -Wextra
> -                     -Wno-static-in-inline # clang doesn't like the use of 
> static inline methods inside static inline methods
> -                     -Wno-overlength-strings # may happen in the nodeset 
> compiler when complex values are directly encoded
> -                     -Wno-unused-parameter # some methods may require unused 
> arguments to cast to a method pointer
> -@@ -1239,7 +1239,7 @@ if (UA_PACK_DEBIAN)    
> +@@ -1695,7 +1695,7 @@ if(UA_PACK_DEBIAN)
>           "examples/nodeset"
>           "examples/pubsub")
>   
> Index: patches/patch-arch_network_tcp_c
> ===================================================================
> RCS file: patches/patch-arch_network_tcp_c
> diff -N patches/patch-arch_network_tcp_c
> --- patches/patch-arch_network_tcp_c  11 Mar 2022 19:38:13 -0000      1.4
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,247 +0,0 @@
> -https://github.com/open62541/open62541/commit/30ac5ddd892e6ce82bef4de7890f06854aca9736
> -
> -https://github.com/open62541/open62541/commit/1654d021012b93ff669c022499fd80c47a73e72e
> -
> -https://github.com/open62541/open62541/commit/f9ceec7be7940495cf2ee091bed1bb5acec74551
> -
> -Index: arch/network_tcp.c
> ---- arch/network_tcp.c.orig
> -+++ arch/network_tcp.c
> -@@ -339,11 +339,18 @@ addServerSocket(ServerNetworkLayerTCP *layer, struct a
> - 
> - static UA_StatusCode
> - ServerNetworkLayerTCP_start(UA_ServerNetworkLayer *nl, const UA_String 
> *customHostname) {
> --  UA_initialize_architecture_network();
> -+    UA_initialize_architecture_network();
> - 
> -     ServerNetworkLayerTCP *layer = (ServerNetworkLayerTCP *)nl->handle;
> - 
> -     /* Get addrinfo of the server and create server sockets */
> -+    char hostname[512];
> -+    if(customHostname->length) {
> -+        if(customHostname->length >= sizeof(hostname))
> -+            return UA_STATUSCODE_BADOUTOFMEMORY;
> -+        memcpy(hostname, customHostname->data, customHostname->length);
> -+        hostname[customHostname->length] = '\0';
> -+    }
> -     char portno[6];
> -     UA_snprintf(portno, 6, "%d", layer->port);
> -     struct addrinfo hints, *res;
> -@@ -352,7 +359,8 @@ ServerNetworkLayerTCP_start(UA_ServerNetworkLayer *nl,
> -     hints.ai_socktype = SOCK_STREAM;
> -     hints.ai_flags = AI_PASSIVE;
> -     hints.ai_protocol = IPPROTO_TCP;
> --    if(UA_getaddrinfo(NULL, portno, &hints, &res) != 0)
> -+    if(UA_getaddrinfo(customHostname->length ? hostname : NULL,
> -+        portno, &hints, &res) != 0)
> -         return UA_STATUSCODE_BADINTERNALERROR;
> - 
> -     /* There might be serveral addrinfos (for different network cards,
> -@@ -442,7 +450,7 @@ ServerNetworkLayerTCP_listen(UA_ServerNetworkLayer *nl
> - 
> -         struct sockaddr_storage remote;
> -         socklen_t remote_size = sizeof(remote);
> --        UA_SOCKET newsockfd = UA_accept((UA_SOCKET)layer->serverSockets[i],
> -+        UA_SOCKET newsockfd = UA_accept(layer->serverSockets[i],
> -                                   (struct sockaddr*)&remote, &remote_size);
> -         if(newsockfd == UA_INVALID_SOCKET)
> -             continue;
> -@@ -609,7 +617,6 @@ UA_StatusCode UA_ClientConnectionTCP_poll(UA_Client *c
> -                     (TCPClientConnection*) connection->handle;
> - 
> -     UA_DateTime connStart = UA_DateTime_nowMonotonic();
> --    UA_SOCKET clientsockfd = connection->sockfd;
> - 
> -     UA_ClientConfig *config = UA_Client_getConfig(client);
> - 
> -@@ -631,22 +638,22 @@ UA_StatusCode UA_ClientConnectionTCP_poll(UA_Client *c
> -     /* Thus use a loop and retry until timeout is reached */
> - 
> -     /* Get a socket */
> --    if(clientsockfd <= 0) {
> --        clientsockfd = UA_socket(tcpConnection->server->ai_family,
> -+    if(connection->sockfd == UA_INVALID_SOCKET) {
> -+        connection->sockfd = UA_socket(tcpConnection->server->ai_family,
> -                                  tcpConnection->server->ai_socktype,
> -                                  tcpConnection->server->ai_protocol);
> --        connection->sockfd = (UA_Int32)clientsockfd; /* cast for win32 */
> -+        if(connection->sockfd == UA_INVALID_SOCKET) {
> -+            UA_LOG_WARNING(&config->logger, UA_LOGCATEGORY_NETWORK,
> -+                    "Could not create client socket: %s", 
> strerror(UA_ERRNO));
> -+            ClientNetworkLayerTCP_close(connection);
> -+            return UA_STATUSCODE_BADDISCONNECT;
> -+        }
> -     }
> - 
> --    if(clientsockfd == UA_INVALID_SOCKET) {
> --        UA_LOG_WARNING(&config->logger, UA_LOGCATEGORY_NETWORK,
> --                       "Could not create client socket: %s", 
> strerror(UA_ERRNO));
> --        ClientNetworkLayerTCP_close(connection);
> --        return UA_STATUSCODE_BADDISCONNECT;
> --    }
> - 
> -+
> -     /* Non blocking connect to be able to timeout */
> --    if(UA_socket_set_nonblocking(clientsockfd) != UA_STATUSCODE_GOOD) {
> -+    if(UA_socket_set_nonblocking(connection->sockfd) != UA_STATUSCODE_GOOD) 
> {
> -         UA_LOG_WARNING(&config->logger, UA_LOGCATEGORY_NETWORK,
> -                        "Could not set the client socket to nonblocking");
> -         ClientNetworkLayerTCP_close(connection);
> -@@ -654,7 +661,7 @@ UA_StatusCode UA_ClientConnectionTCP_poll(UA_Client *c
> -     }
> - 
> -     /* Non blocking connect */
> --    int error = UA_connect(clientsockfd, tcpConnection->server->ai_addr,
> -+    int error = UA_connect(connection->sockfd, 
> tcpConnection->server->ai_addr,
> -                     tcpConnection->server->ai_addrlen);
> - 
> -     if ((error == -1) && (UA_ERRNO != UA_ERR_CONNECTION_PROGRESS)) {
> -@@ -686,7 +693,7 @@ UA_StatusCode UA_ClientConnectionTCP_poll(UA_Client *c
> -                 break;
> - 
> -             _os_sleep(&time,&sig);
> --            error = connect(clientsockfd, tcpConnection->server->ai_addr,
> -+            error = connect(connection->sockfd, 
> tcpConnection->server->ai_addr,
> -                         tcpConnection->server->ai_addrlen);
> -             if ((error == -1 && UA_ERRNO == EISCONN) || (error == 0))
> -                 resultsize = 1;
> -@@ -697,26 +704,25 @@ UA_StatusCode UA_ClientConnectionTCP_poll(UA_Client *c
> - #else
> -         fd_set fdset;
> -         FD_ZERO(&fdset);
> --        UA_fd_set(clientsockfd, &fdset);
> -+        UA_fd_set(connection->sockfd, &fdset);
> -         UA_UInt32 timeout_usec = (tcpConnection->timeout - timeSinceStart)
> -                         * 1000;
> -         struct timeval tmptv = { (long int) (timeout_usec / 1000000),
> -                         (int) (timeout_usec % 1000000) };
> - 
> --        int resultsize = UA_select((UA_Int32) (clientsockfd + 1), NULL, 
> &fdset,
> --        NULL, &tmptv);
> -+        int resultsize = UA_select((UA_Int32) (connection->sockfd + 1), 
> NULL,
> -+                               &fdset, NULL, &tmptv);
> - #endif
> -         if (resultsize == 1) {
> -             /* Windows does not have any getsockopt equivalent and it is 
> not needed there */
> - #ifdef _WIN32
> --            connection->sockfd = clientsockfd;
> -             connection->state = UA_CONNECTION_ESTABLISHED;
> -             return UA_STATUSCODE_GOOD;
> - #else
> -             OPTVAL_TYPE so_error;
> -             socklen_t len = sizeof so_error;
> - 
> --            int ret = UA_getsockopt(clientsockfd, SOL_SOCKET, SO_ERROR, 
> &so_error,
> -+            int ret = UA_getsockopt(connection->sockfd, SOL_SOCKET, 
> SO_ERROR, &so_error,
> -                             &len);
> - 
> -             if (ret != 0 || so_error != 0) {
> -@@ -765,6 +771,7 @@ UA_ClientConnectionTCP_init(UA_ConnectionConfig config
> - 
> -     connection.state = UA_CONNECTION_OPENING;
> -     connection.config = config;
> -+    connection.sockfd = UA_INVALID_SOCKET;
> -     connection.send = connection_write;
> -     connection.recv = connection_recv;
> -     connection.close = ClientNetworkLayerTCP_close;
> -@@ -775,6 +782,7 @@ UA_ClientConnectionTCP_init(UA_ConnectionConfig config
> - 
> -     TCPClientConnection *tcpClientConnection = (TCPClientConnection*) 
> UA_malloc(
> -                     sizeof(TCPClientConnection));
> -+    memset(tcpClientConnection, 0, sizeof(TCPClientConnection));
> -     connection.handle = (void*) tcpClientConnection;
> -     tcpClientConnection->timeout = timeout;
> -     UA_String hostnameString = UA_STRING_NULL;
> -@@ -826,6 +834,7 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -     memset(&connection, 0, sizeof(UA_Connection));
> -     connection.state = UA_CONNECTION_CLOSED;
> -     connection.config = config;
> -+    connection.sockfd = UA_INVALID_SOCKET;
> -     connection.send = connection_write;
> -     connection.recv = connection_recv;
> -     connection.close = ClientNetworkLayerTCP_close;
> -@@ -874,17 +883,16 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -     UA_Boolean connected = false;
> -     UA_DateTime dtTimeout = timeout * UA_DATETIME_MSEC;
> -     UA_DateTime connStart = UA_DateTime_nowMonotonic();
> --    UA_SOCKET clientsockfd;
> - 
> -     /* On linux connect may immediately return with ECONNREFUSED but we 
> still
> -      * want to try to connect. So use a loop and retry until timeout is
> -      * reached. */
> -     do {
> -         /* Get a socket */
> --        clientsockfd = UA_socket(server->ai_family,
> -+        connection.sockfd = UA_socket(server->ai_family,
> -                               server->ai_socktype,
> -                               server->ai_protocol);
> --        if(clientsockfd == UA_INVALID_SOCKET) {
> -+        if(connection.sockfd == UA_INVALID_SOCKET) {
> -             UA_LOG_SOCKET_ERRNO_WRAP(UA_LOG_WARNING(logger, 
> UA_LOGCATEGORY_NETWORK,
> -                                                     "Could not create 
> client socket: %s", errno_str));
> -             UA_freeaddrinfo(server);
> -@@ -894,10 +902,9 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -         connection.state = UA_CONNECTION_OPENING;
> - 
> -         /* Connect to the server */
> --        connection.sockfd = clientsockfd;
> - 
> -         /* Non blocking connect to be able to timeout */
> --        if (UA_socket_set_nonblocking(clientsockfd) != UA_STATUSCODE_GOOD) {
> -+        if (UA_socket_set_nonblocking(connection.sockfd) != 
> UA_STATUSCODE_GOOD) {
> -             UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK,
> -                            "Could not set the client socket to 
> nonblocking");
> -             ClientNetworkLayerTCP_close(&connection);
> -@@ -906,7 +913,8 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -         }
> - 
> -         /* Non blocking connect */
> --        error = UA_connect(clientsockfd, server->ai_addr, 
> (socklen_t)server->ai_addrlen);
> -+        error = UA_connect(connection.sockfd, server->ai_addr,
> -+            (socklen_t) server->ai_addrlen);
> - 
> -         if ((error == -1) && (UA_ERRNO != UA_ERR_CONNECTION_PROGRESS)) {
> -             ClientNetworkLayerTCP_close(&connection);
> -@@ -940,7 +948,7 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -                     break;
> - 
> -                 _os_sleep(&time,&sig);
> --                error = connect(clientsockfd, server->ai_addr, 
> server->ai_addrlen);
> -+                error = connect(connection.sockfd, server->ai_addr, 
> server->ai_addrlen);
> -                 if ((error == -1 && UA_ERRNO == EISCONN) || (error == 0))
> -                     resultsize = 1;
> -                 if (error == -1 && UA_ERRNO != EALREADY && UA_ERRNO != 
> EINPROGRESS)
> -@@ -950,12 +958,13 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> - #else
> -             fd_set fdset;
> -             FD_ZERO(&fdset);
> --            UA_fd_set(clientsockfd, &fdset);
> -+            UA_fd_set(connection.sockfd, &fdset);
> -             UA_DateTime timeout_usec = (dtTimeout - timeSinceStart) / 
> UA_DATETIME_USEC;
> -             struct timeval tmptv = {(long int) (timeout_usec / 1000000),
> -                                     (int) (timeout_usec % 1000000)};
> - 
> --            int resultsize = UA_select((UA_Int32)(clientsockfd + 1), NULL, 
> &fdset, NULL, &tmptv);
> -+            int resultsize = UA_select((UA_Int32)(connection.sockfd + 1), 
> NULL,
> -+                    &fdset, NULL, &tmptv);
> - #endif
> - 
> -             if(resultsize == 1) {
> -@@ -968,7 +977,7 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> -                 OPTVAL_TYPE so_error;
> -                 socklen_t len = sizeof so_error;
> - 
> --                int ret = UA_getsockopt(clientsockfd, SOL_SOCKET, SO_ERROR, 
> &so_error, &len);
> -+                int ret = UA_getsockopt(connection.sockfd, SOL_SOCKET, 
> SO_ERROR, &so_error, &len);
> - 
> -                 if (ret != 0 || so_error != 0) {
> -                     /* on connection refused we should still try to connect 
> */
> -@@ -1013,7 +1022,7 @@ UA_ClientConnectionTCP(UA_ConnectionConfig config, con
> - 
> - 
> -     /* We are connected. Reset socket to blocking */
> --    if(UA_socket_set_blocking(clientsockfd) != UA_STATUSCODE_GOOD) {
> -+    if(UA_socket_set_blocking(connection.sockfd) != UA_STATUSCODE_GOOD) {
> -         UA_LOG_WARNING(logger, UA_LOGCATEGORY_NETWORK,
> -                        "Could not set the client socket to blocking");
> -         ClientNetworkLayerTCP_close(&connection);
> Index: patches/patch-arch_posix_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-arch_posix_CMakeLists_txt
> diff -N patches/patch-arch_posix_CMakeLists_txt
> --- patches/patch-arch_posix_CMakeLists_txt   11 Mar 2022 19:38:13 -0000      
> 1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,15 +0,0 @@
> -This was needed for OpenBSD 5.8 with gcc version 4.8.4
> -https://open62541.org/doc/1.0/building.html?highlight=openbsd#building-on-openbsd
> -
> -Index: arch/posix/CMakeLists.txt
> ---- arch/posix/CMakeLists.txt.orig
> -+++ arch/posix/CMakeLists.txt
> -@@ -10,7 +10,7 @@ if (${_index} GREATER -1 OR "${UA_ARCHITECTURE}" STREQ
> - 
> - 
> -     if("${UA_ARCHITECTURE}" STREQUAL "posix")
> --        if(NOT CYGWIN AND NOT QNXNTO AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES 
> "OpenBSD"))
> -+        if(NOT CYGWIN AND NOT QNXNTO)
> -             ua_architecture_add_definitions(-Wshadow -Wconversion 
> -fvisibility=hidden -fPIC)
> -         endif()
> - 
> Index: patches/patch-include_open62541_server_h
> ===================================================================
> RCS file: patches/patch-include_open62541_server_h
> diff -N patches/patch-include_open62541_server_h
> --- patches/patch-include_open62541_server_h  11 Mar 2022 19:38:13 -0000      
> 1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -https://github.com/open62541/open62541/commit/7453262ccf8b26e622c4afa6ab5facfc42962663
> -
> -Index: include/open62541/server.h
> ---- include/open62541/server.h.orig
> -+++ include/open62541/server.h
> -@@ -713,7 +713,11 @@ typedef struct {
> -                                          const UA_NodeId 
> *targetParentNodeId,
> -                                          const UA_NodeId *referenceTypeId,
> -                                          UA_NodeId *targetNodeId);
> --    } UA_GlobalNodeLifecycle;
> -+} UA_GlobalNodeLifecycle;
> -+
> -+void UA_EXPORT
> -+UA_Server_setAdminSessionContext(UA_Server *server,
> -+                                 void *context);
> - 
> - typedef struct {
> -     /* Can be NULL. May replace the nodeContext */
> Index: patches/patch-plugins_ua_accesscontrol_default_c
> ===================================================================
> RCS file: patches/patch-plugins_ua_accesscontrol_default_c
> diff -N patches/patch-plugins_ua_accesscontrol_default_c
> --- patches/patch-plugins_ua_accesscontrol_default_c  11 Mar 2022 19:38:13 
> -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,13 +0,0 @@
> -https://github.com/open62541/open62541/commit/f05bafc25d332d4571b2e42fb42221c2ec3cc98c
> -
> -Index: plugins/ua_accesscontrol_default.c
> ---- plugins/ua_accesscontrol_default.c.orig
> -+++ plugins/ua_accesscontrol_default.c
> -@@ -210,6 +210,7 @@ static void deleteMembers_default(UA_AccessControl *ac
> -         if(context->usernamePasswordLoginSize > 0)
> -             UA_free(context->usernamePasswordLogin);
> -         UA_free(ac->context);
> -+        ac->context = NULL;
> -     }
> - }
> - 
> Index: patches/patch-src_client_ua_client_highlevel_c
> ===================================================================
> RCS file: patches/patch-src_client_ua_client_highlevel_c
> diff -N patches/patch-src_client_ua_client_highlevel_c
> --- patches/patch-src_client_ua_client_highlevel_c    11 Mar 2022 19:38:13 
> -0000      1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,63 +0,0 @@
> -The user callback should always be called, also in case of an error.
> -https://github.com/open62541/open62541/pull/3691
> -Although this pull request was not merged, the new callback semantics
> -has been implemented during refactoring in AttributeReadCallback().
> -https://github.com/open62541/open62541/commit/9e193c3a893765db085ccc75e9d3929b6f7b8f82
> -
> -https://github.com/open62541/open62541/commit/b172ae033adb5dd2aa6766b9cd6af8fc8c91453c
> -
> -Index: src/client/ua_client_highlevel.c
> ---- src/client/ua_client_highlevel.c.orig
> -+++ src/client/ua_client_highlevel.c
> -@@ -786,18 +786,21 @@ void ValueAttributeRead(UA_Client *client, void *userd
> -         }
> -     }
> - 
> --    /* Could not process, delete the callback anyway */
> --    if(!done)
> -+    /* Could not process, run the callback anyway */
> -+    if(!done) {
> -         UA_LOG_INFO(&client->config.logger, UA_LOGCATEGORY_CLIENT,
> -                     "Cannot process the response to the async read "
> -                     "request %u", requestId);
> -+        cc->callback(client, userdata, requestId, NULL);
> -+    }
> - 
> -     LIST_REMOVE(cc, pointers);
> -     UA_free(cc);
> - }
> - 
> - /*Read Attributes*/
> --UA_StatusCode __UA_Client_readAttribute_async(UA_Client *client,
> -+UA_StatusCode
> -+__UA_Client_readAttribute_async(UA_Client *client,
> -         const UA_NodeId *nodeId, UA_AttributeId attributeId,
> -         const UA_DataType *outDataType, UA_ClientAsyncServiceCallback 
> callback,
> -         void *userdata, UA_UInt32 *reqId) {
> -@@ -810,20 +813,21 @@ UA_StatusCode __UA_Client_readAttribute_async(UA_Clien
> -     request.nodesToRead = &item;
> -     request.nodesToReadSize = 1;
> - 
> --    __UA_Client_AsyncService(client, &request, 
> &UA_TYPES[UA_TYPES_READREQUEST],
> --                             ValueAttributeRead, 
> &UA_TYPES[UA_TYPES_READRESPONSE],
> --                             userdata, reqId);
> --
> -     CustomCallback *cc = (CustomCallback*) 
> UA_malloc(sizeof(CustomCallback));
> -     if (!cc)
> -         return UA_STATUSCODE_BADOUTOFMEMORY;
> -     cc->callback = callback;
> --    cc->callbackId = *reqId;
> - 
> -     cc->attributeId = attributeId;
> -     cc->outDataType = outDataType;
> - 
> -+    __UA_Client_AsyncService(client, &request, 
> &UA_TYPES[UA_TYPES_READREQUEST],
> -+                             ValueAttributeRead, 
> &UA_TYPES[UA_TYPES_READRESPONSE],
> -+                             userdata, &cc->callbackId);
> -+
> -     LIST_INSERT_HEAD(&client->customCallbacks, cc, pointers);
> -+    if (reqId != NULL)
> -+        *reqId = cc->callbackId;
> - 
> -     return UA_STATUSCODE_GOOD;
> - }
> Index: patches/patch-src_client_ua_client_subscriptions_c
> ===================================================================
> RCS file: patches/patch-src_client_ua_client_subscriptions_c
> diff -N patches/patch-src_client_ua_client_subscriptions_c
> --- patches/patch-src_client_ua_client_subscriptions_c        11 Mar 2022 
> 19:38:13 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,21 +0,0 @@
> -Newer versions added this check in __MonitoredItems_create_handler()
> -which is called ua_MonitoredItems_create() in master.  It prevents
> -a use after free in the monitored items delete callback.
> -https://github.com/open62541/open62541/commit/a89d04e1c7c70fbb9745d7875d8b94eb2a1aa53e
> -
> -Index: src/client/ua_client_subscriptions.c
> ---- src/client/ua_client_subscriptions.c.orig
> -+++ src/client/ua_client_subscriptions.c
> -@@ -252,6 +252,12 @@ __UA_Client_MonitoredItems_create(UA_Client *client,
> -     /* Call the service */
> -     __UA_Client_Service(client, request, 
> &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST],
> -                         response, 
> &UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE]);
> -+
> -+    /* __UA_Client_Service might free Subscription, check if it still 
> exists */
> -+    sub = findSubscription(client, request->subscriptionId);
> -+    if(!sub)
> -+        goto cleanup;
> -+
> -     if(response->responseHeader.serviceResult != UA_STATUSCODE_GOOD)
> -         goto cleanup;
> - 
> Index: patches/patch-src_server_ua_services_attribute_c
> ===================================================================
> RCS file: patches/patch-src_server_ua_services_attribute_c
> diff -N patches/patch-src_server_ua_services_attribute_c
> --- patches/patch-src_server_ua_services_attribute_c  11 Mar 2022 19:38:13 
> -0000      1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -https://github.com/open62541/open62541/commit/ba14327eac5489f95864d6208bc46516650db537
> -
> -Index: src/server/ua_services_attribute.c
> ---- src/server/ua_services_attribute.c.orig
> -+++ src/server/ua_services_attribute.c
> -@@ -681,6 +681,8 @@ compatibleValueRankValue(UA_Int32 valueRank, const UA_
> -         return true;
> -     case UA_VALUERANK_SCALAR: /* The value is a scalar */
> -         return (arrayDims == 0);
> -+    case UA_VALUERANK_ONE_OR_MORE_DIMENSIONS:
> -+        return (arrayDims >= 1);
> -     default:
> -         break;
> -     }
> Index: patches/patch-src_server_ua_services_nodemanagement_c
> ===================================================================
> RCS file: patches/patch-src_server_ua_services_nodemanagement_c
> diff -N patches/patch-src_server_ua_services_nodemanagement_c
> --- patches/patch-src_server_ua_services_nodemanagement_c     11 Mar 2022 
> 19:38:13 -0000      1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -https://github.com/open62541/open62541/commit/7453262ccf8b26e622c4afa6ab5facfc42962663
> -
> -Index: src/server/ua_services_nodemanagement.c
> ---- src/server/ua_services_nodemanagement.c.orig
> -+++ src/server/ua_services_nodemanagement.c
> -@@ -2178,6 +2178,12 @@ UA_Server_setMethodNode_callback(UA_Server *server,
> - /* Lifecycle Management */
> - /************************/
> - 
> -+void UA_EXPORT
> -+UA_Server_setAdminSessionContext(UA_Server *server,
> -+                                 void *context) {
> -+    server->adminSession.sessionHandle = context;
> -+}
> -+
> - static UA_StatusCode
> - setNodeTypeLifecycle(UA_Server *server, UA_Session *session,
> -                      UA_Node* node, UA_NodeTypeLifecycle *lifecycle) {
> Index: patches/patch-src_ua_types_encoding_binary_c
> ===================================================================
> RCS file: patches/patch-src_ua_types_encoding_binary_c
> diff -N patches/patch-src_ua_types_encoding_binary_c
> --- patches/patch-src_ua_types_encoding_binary_c      11 Mar 2022 19:38:13 
> -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -https://github.com/open62541/open62541/commit/a174f9b8cae64b1f38fa84fc6153d1fa8d9b05bf
> -
> -Index: src/ua_types_encoding_binary.c
> ---- src/ua_types_encoding_binary.c.orig
> -+++ src/ua_types_encoding_binary.c
> -@@ -732,6 +732,8 @@ DECODE_BINARY(ExpandedNodeId) {
> - /* QualifiedName */
> - ENCODE_BINARY(QualifiedName) {
> -     status ret = ENCODE_DIRECT(&src->namespaceIndex, UInt16);
> -+    if(ret != UA_STATUSCODE_GOOD)
> -+        return ret;
> -     ret |= ENCODE_DIRECT(&src->name, String);
> -     return ret;
> - }
> Index: patches/patch-tests_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-tests_CMakeLists_txt
> diff -N patches/patch-tests_CMakeLists_txt
> --- patches/patch-tests_CMakeLists_txt        11 Mar 2022 19:38:13 -0000      
> 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,39 +0,0 @@
> -https://github.com/open62541/open62541/commit/71738ec1ed9f1ba32bdb52650a103d72cb8f6d1d
> -
> -Index: tests/CMakeLists.txt
> ---- tests/CMakeLists.txt.orig
> -+++ tests/CMakeLists.txt
> -@@ -1,7 +1,7 @@
> - # Load CMake Packages
> - find_package(Check REQUIRED)
> - set(LIBS ${CHECK_LIBRARIES} ${open62541_LIBRARIES})
> --if(NOT WIN32 AND NOT APPLE)
> -+if(NOT WIN32 AND NOT APPLE AND NOT (CMAKE_HOST_SYSTEM_NAME MATCHES 
> "OpenBSD"))
> -   list(APPEND LIBS subunit)
> - endif()
> - 
> -@@ -11,11 +11,6 @@ if(NOT MSVC AND UA_ENABLE_UNIT_TESTS_MEMCHECK)
> -     find_package(Valgrind REQUIRED)
> - endif()
> - 
> --if(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
> --    link_directories(/usr/local/lib)
> --    add_definitions(-Wno-gnu-zero-variadic-macro-arguments)
> --endif()
> --
> - if(APPLE)
> -     # CLang on Apple complains about many cases like this:
> -     # 
> /Users/travis/build/open62541/open62541/tests/check_chunking.c:148:22: 
> warning: implicit conversion changes signedness: 'size_t' (aka 'unsigned 
> long') to 'intmax_t' (aka 'long') [-Wsign-conversion]
> -@@ -36,6 +31,12 @@ include_directories("${PROJECT_BINARY_DIR}")
> - if(UA_ENABLE_ENCRYPTION)
> -     # mbedtls includes
> -     include_directories(${MBEDTLS_INCLUDE_DIRS})
> -+endif()
> -+
> -+if(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
> -+    include_directories(AFTER /usr/local/include)
> -+    link_directories(AFTER /usr/local/lib)
> -+    add_definitions(-Wno-gnu-zero-variadic-macro-arguments)
> - endif()
> - 
> - add_definitions(-DUA_sleep_ms=UA_comboSleep)
> Index: patches/patch-tests_check_securechannel_c
> ===================================================================
> RCS file: patches/patch-tests_check_securechannel_c
> diff -N patches/patch-tests_check_securechannel_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_check_securechannel_c 8 Jun 2022 15:03:09 -0000
> @@ -0,0 +1,15 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/check_securechannel.c
> +--- tests/check_securechannel.c.orig
> ++++ tests/check_securechannel.c
> +@@ -365,7 +365,7 @@ START_TEST(Securechannel_sendAsymmetricOPNMessage_extr
> +     if(extraPadding) {
> +         extraPaddingByte = paddingByte;
> +         paddingByte = sentData.data[sentData.length - 
> keySizes.asym_lcl_sig_size - 2];
> +-        paddingSize = (extraPaddingByte << 8u) + paddingByte;
> ++        paddingSize = ((size_t)extraPaddingByte << 8u) + paddingByte;
> +         paddingSize += 1;
> +     }
> + 
> Index: patches/patch-tests_check_types_builtin_c
> ===================================================================
> RCS file: patches/patch-tests_check_types_builtin_c
> diff -N patches/patch-tests_check_types_builtin_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_check_types_builtin_c 8 Jun 2022 15:06:05 -0000
> @@ -0,0 +1,15 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/check_types_builtin.c
> +--- tests/check_types_builtin.c.orig
> ++++ tests/check_types_builtin.c
> +@@ -195,7 +195,7 @@ END_TEST
> + START_TEST(UA_Int64_decodeShallRespectSign) {
> +     // given
> +     UA_ByteString rawMessage;
> +-    UA_UInt64 expectedVal = ((UA_UInt64)0xFF) << 56;
> ++    UA_Int64 expectedVal = ((UA_Int64)0xFF) << 56;
> +     UA_Byte  mem[8]      = { 00, 00, 00, 00, 0x00, 0x00, 0x00, 0xFF };
> +     rawMessage.data   = mem;
> +     rawMessage.length = 8;
> Index: patches/patch-tests_client_check_client_encryption_c
> ===================================================================
> RCS file: patches/patch-tests_client_check_client_encryption_c
> diff -N patches/patch-tests_client_check_client_encryption_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_client_check_client_encryption_c      8 Jun 2022 
> 15:09:05 -0000
> @@ -0,0 +1,21 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/1d727e5b40681a1b287749e9acde5269607dc4db
> +
> +Index: tests/client/check_client_encryption.c
> +--- tests/client/check_client_encryption.c.orig
> ++++ tests/client/check_client_encryption.c
> +@@ -90,12 +90,12 @@ START_TEST(encryption_reconnect_session) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_DER_LENGTH;
> +     certificate.data = CERT_DER_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_DER_LENGTH;
> +     privateKey.data = KEY_DER_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* Secure client initialization */
> +     client = UA_Client_new();
> Index: patches/patch-tests_encryption_check_encryption_aes128sha256rsaoaep_c
> ===================================================================
> RCS file: 
> patches/patch-tests_encryption_check_encryption_aes128sha256rsaoaep_c
> diff -N patches/patch-tests_encryption_check_encryption_aes128sha256rsaoaep_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_encryption_check_encryption_aes128sha256rsaoaep_c     
> 8 Jun 2022 15:06:33 -0000
> @@ -0,0 +1,36 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/encryption/check_encryption_aes128sha256rsaoaep.c
> +--- tests/encryption/check_encryption_aes128sha256rsaoaep.c.orig
> ++++ tests/encryption/check_encryption_aes128sha256rsaoaep.c
> +@@ -107,12 +107,12 @@ START_TEST(encryption_connect) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_DER_LENGTH;
> +     certificate.data = CERT_DER_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_DER_LENGTH;
> +     privateKey.data = KEY_DER_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> +@@ -188,12 +188,12 @@ START_TEST(encryption_connect_pem) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_PEM_LENGTH;
> +     certificate.data = CERT_PEM_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_PEM_LENGTH;
> +     privateKey.data = KEY_PEM_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> Index: patches/patch-tests_encryption_check_encryption_basic128rsa15_c
> ===================================================================
> RCS file: patches/patch-tests_encryption_check_encryption_basic128rsa15_c
> diff -N patches/patch-tests_encryption_check_encryption_basic128rsa15_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_encryption_check_encryption_basic128rsa15_c   8 Jun 
> 2022 15:06:56 -0000
> @@ -0,0 +1,36 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/encryption/check_encryption_basic128rsa15.c
> +--- tests/encryption/check_encryption_basic128rsa15.c.orig
> ++++ tests/encryption/check_encryption_basic128rsa15.c
> +@@ -104,12 +104,12 @@ START_TEST(encryption_connect) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_DER_LENGTH;
> +     certificate.data = CERT_DER_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_DER_LENGTH;
> +     privateKey.data = KEY_DER_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> +@@ -185,12 +185,12 @@ START_TEST(encryption_connect_pem) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_PEM_LENGTH;
> +     certificate.data = CERT_PEM_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_PEM_LENGTH;
> +     privateKey.data = KEY_PEM_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> Index: patches/patch-tests_encryption_check_encryption_basic256_c
> ===================================================================
> RCS file: patches/patch-tests_encryption_check_encryption_basic256_c
> diff -N patches/patch-tests_encryption_check_encryption_basic256_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_encryption_check_encryption_basic256_c        8 Jun 
> 2022 15:07:18 -0000
> @@ -0,0 +1,36 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/encryption/check_encryption_basic256.c
> +--- tests/encryption/check_encryption_basic256.c.orig
> ++++ tests/encryption/check_encryption_basic256.c
> +@@ -107,12 +107,12 @@ START_TEST(encryption_connect) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_DER_LENGTH;
> +     certificate.data = CERT_DER_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_DER_LENGTH;
> +     privateKey.data = KEY_DER_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> +@@ -188,12 +188,12 @@ START_TEST(encryption_connect_pem) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_PEM_LENGTH;
> +     certificate.data = CERT_PEM_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_PEM_LENGTH;
> +     privateKey.data = KEY_PEM_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> Index: patches/patch-tests_encryption_check_encryption_basic256sha256_c
> ===================================================================
> RCS file: patches/patch-tests_encryption_check_encryption_basic256sha256_c
> diff -N patches/patch-tests_encryption_check_encryption_basic256sha256_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_encryption_check_encryption_basic256sha256_c  8 Jun 
> 2022 15:07:25 -0000
> @@ -0,0 +1,36 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/encryption/check_encryption_basic256sha256.c
> +--- tests/encryption/check_encryption_basic256sha256.c.orig
> ++++ tests/encryption/check_encryption_basic256sha256.c
> +@@ -107,12 +107,12 @@ START_TEST(encryption_connect) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_DER_LENGTH;
> +     certificate.data = CERT_DER_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_DER_LENGTH;
> +     privateKey.data = KEY_DER_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> +@@ -188,12 +188,12 @@ START_TEST(encryption_connect_pem) {
> +     UA_ByteString certificate;
> +     certificate.length = CERT_PEM_LENGTH;
> +     certificate.data = CERT_PEM_DATA;
> +-    ck_assert_int_ne(certificate.length, 0);
> ++    ck_assert_uint_ne(certificate.length, 0);
> + 
> +     UA_ByteString privateKey;
> +     privateKey.length = KEY_PEM_LENGTH;
> +     privateKey.data = KEY_PEM_DATA;
> +-    ck_assert_int_ne(privateKey.length, 0);
> ++    ck_assert_uint_ne(privateKey.length, 0);
> + 
> +     /* The Get endpoint (discovery service) is done with
> +      * security mode as none to see the server's capability
> Index: 
> patches/patch-tests_nodeset-compiler_check_nodeset_compiler_testnodeset_c
> ===================================================================
> RCS file: 
> patches/patch-tests_nodeset-compiler_check_nodeset_compiler_testnodeset_c
> diff -N 
> patches/patch-tests_nodeset-compiler_check_nodeset_compiler_testnodeset_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_nodeset-compiler_check_nodeset_compiler_testnodeset_c 
> 8 Jun 2022 15:07:59 -0000
> @@ -0,0 +1,37 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/ec42e5c65f9211eba13a5346822ab017b617bfff
> +
> +Index: tests/nodeset-compiler/check_nodeset_compiler_testnodeset.c
> +--- tests/nodeset-compiler/check_nodeset_compiler_testnodeset.c.orig
> ++++ tests/nodeset-compiler/check_nodeset_compiler_testnodeset.c
> +@@ -112,26 +112,26 @@ START_TEST(readValueRank) {
> +     ck_assert_int_eq(rank, -2);
> +     UA_Variant_init(&dims);
> +     UA_Server_readArrayDimensions(server, 
> UA_NODEID_NUMERIC(testNamespaceIndex, 10002), &dims);
> +-    ck_assert_int_eq(dims.arrayLength, 0);
> ++    ck_assert_uint_eq(dims.arrayLength, 0);
> +     UA_Variant_clear(&dims);
> +     // 1-dim
> +     UA_Server_readValueRank(server, UA_NODEID_NUMERIC(testNamespaceIndex, 
> 10007), &rank);
> +     ck_assert_int_eq(rank, 1);
> +     UA_Server_readArrayDimensions(server, 
> UA_NODEID_NUMERIC(testNamespaceIndex, 10007), &dims);
> +-    ck_assert_int_eq(dims.arrayLength, 1);
> ++    ck_assert_uint_eq(dims.arrayLength, 1);
> +     ck_assert_int_eq(*((UA_UInt32 *)dims.data), 0);
> +     UA_Variant_clear(&dims);
> +     UA_Server_readValueRank(server, UA_NODEID_NUMERIC(testNamespaceIndex, 
> 10004), &rank);
> +     ck_assert_int_eq(rank, 1);
> +     UA_Server_readArrayDimensions(server, 
> UA_NODEID_NUMERIC(testNamespaceIndex, 10004), &dims);
> +-    ck_assert_int_eq(dims.arrayLength, 1);
> ++    ck_assert_uint_eq(dims.arrayLength, 1);
> +     ck_assert_int_eq(*((UA_UInt32 *)dims.data), 4);
> +     UA_Variant_clear(&dims);
> +     // 2-dim
> +     UA_Server_readValueRank(server, UA_NODEID_NUMERIC(testNamespaceIndex, 
> 10006), &rank);
> +     ck_assert_int_eq(rank, 2);
> +     UA_Server_readArrayDimensions(server, 
> UA_NODEID_NUMERIC(testNamespaceIndex, 10006), &dims);
> +-    ck_assert_int_eq(dims.arrayLength, 2);
> ++    ck_assert_uint_eq(dims.arrayLength, 2);
> +     UA_UInt32 *dimensions = (UA_UInt32 *)dims.data;
> +     ck_assert_int_eq(dimensions[0], 2);
> +     ck_assert_int_eq(dimensions[1], 2);
> Index: patches/patch-tests_server_check_interfaces_c
> ===================================================================
> RCS file: patches/patch-tests_server_check_interfaces_c
> diff -N patches/patch-tests_server_check_interfaces_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_server_check_interfaces_c     8 Jun 2022 15:08:21 
> -0000
> @@ -0,0 +1,42 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/ec42e5c65f9211eba13a5346822ab017b617bfff
> +
> +Index: tests/server/check_interfaces.c
> +--- tests/server/check_interfaces.c.orig
> ++++ tests/server/check_interfaces.c
> +@@ -56,7 +56,7 @@ START_TEST(check_interface_instantiation) {
> + 
> +     UA_BrowsePathResult bpr = 
> UA_Server_translateBrowsePathToNodeIds(server, &bp);
> +     ck_assert_int_eq(bpr.statusCode, UA_STATUSCODE_GOOD);
> +-    ck_assert_int_eq(bpr.targetsSize, 1);
> ++    ck_assert_uint_eq(bpr.targetsSize, 1);
> + 
> +     const UA_NodeId objectWithInterfacesId = bpr.targets->targetId.nodeId;
> +     UA_BrowsePathResult_clear(&bpr);
> +@@ -73,7 +73,7 @@ START_TEST(check_interface_instantiation) {
> + 
> +     UA_BrowseResult br = UA_Server_browse(server, 1000, &bd);
> +     ck_assert_int_eq(br.statusCode, UA_STATUSCODE_GOOD);
> +-    ck_assert_int_gt(br.referencesSize, 0);
> ++    ck_assert_uint_gt(br.referencesSize, 0);
> + 
> +     bool found = false;
> +     for (size_t i = 0; i < br.referencesSize; ++i) {
> +@@ -150,7 +150,7 @@ START_TEST(check_interface_instantiation) {
> + 
> +     bpr = UA_Server_translateBrowsePathToNodeIds(server, &bp);
> +     ck_assert_int_eq(bpr.statusCode, UA_STATUSCODE_GOOD);
> +-    ck_assert_int_eq(bpr.targetsSize, 1);
> ++    ck_assert_uint_eq(bpr.targetsSize, 1);
> + 
> +     const UA_NodeId baseObjectWithInterfaceId = 
> bpr.targets->targetId.nodeId;
> +     UA_BrowsePathResult_clear(&bpr);
> +@@ -164,7 +164,7 @@ START_TEST(check_interface_instantiation) {
> + 
> +     br = UA_Server_browse(server, 1000, &bd);
> +     ck_assert_int_eq(br.statusCode, UA_STATUSCODE_GOOD);
> +-    ck_assert_int_gt(br.referencesSize, 0);
> ++    ck_assert_uint_gt(br.referencesSize, 0);
> + 
> +     found = false;
> +     for (size_t i = 0; i < br.referencesSize; ++i) {
> Index: patches/patch-tests_server_check_server_userspace_c
> ===================================================================
> RCS file: patches/patch-tests_server_check_server_userspace_c
> diff -N patches/patch-tests_server_check_server_userspace_c
> --- patches/patch-tests_server_check_server_userspace_c       11 Mar 2022 
> 19:38:13 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -https://github.com/open62541/open62541/commit/30ac5ddd892e6ce82bef4de7890f06854aca9736
> -
> -Index: tests/server/check_server_userspace.c
> ---- tests/server/check_server_userspace.c.orig
> -+++ tests/server/check_server_userspace.c
> -@@ -133,7 +133,7 @@ START_TEST(Server_forEachChildNodeCall) {
> - 
> - 
> - START_TEST(Server_set_customHostname) {
> --    UA_String customHost = UA_STRING("fancy-host");
> -+    UA_String customHost = UA_STRING("localhost");
> -     UA_UInt16 port = 10042;
> - 
> -     UA_Server *server = UA_Server_new();
> Index: patches/patch-tests_server_check_services_attributes_c
> ===================================================================
> RCS file: patches/patch-tests_server_check_services_attributes_c
> diff -N patches/patch-tests_server_check_services_attributes_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-tests_server_check_services_attributes_c    8 Jun 2022 
> 15:08:39 -0000
> @@ -0,0 +1,24 @@
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
> +
> +Index: tests/server/check_services_attributes.c
> +--- tests/server/check_services_attributes.c.orig
> ++++ tests/server/check_services_attributes.c
> +@@ -199,7 +199,7 @@ START_TEST(ReadSingleServerAttribute) {
> +     UA_DataValue resp = UA_Server_read(server, &rvi, 
> UA_TIMESTAMPSTORETURN_BOTH);
> + 
> +     ck_assert_int_eq(resp.status, UA_STATUSCODE_GOOD);
> +-    ck_assert_int_eq(0, resp.value.arrayLength);
> ++    ck_assert_uint_eq(0, resp.value.arrayLength);
> +     ck_assert_int_eq(resp.serverTimestamp, UA_DateTime_now());
> +     ck_assert_int_eq(resp.sourceTimestamp, UA_DateTime_now());
> +     UA_DataValue_clear(&resp);
> +@@ -825,7 +825,7 @@ START_TEST(WriteSingleAttributeValueWithServerTimestam
> +     ck_assert(resp.hasValue);
> +     ck_assert_int_eq(20, *(UA_Int32*)resp.value.data);
> +     ck_assert(resp.hasServerTimestamp);
> +-    ck_assert_uint_eq(resp.serverTimestamp, UA_DateTime_now());
> ++    ck_assert_int_eq(resp.serverTimestamp, UA_DateTime_now());
> +     UA_DataValue_clear(&resp);
> + } END_TEST
> + 
> Index: patches/patch-tests_server_check_services_nodemanagement_c
> ===================================================================
> RCS file: 
> /data/mirror/openbsd/cvs/ports/misc/open62541/patches/patch-tests_server_check_services_nodemanagement_c,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 patch-tests_server_check_services_nodemanagement_c
> --- patches/patch-tests_server_check_services_nodemanagement_c        11 Mar 
> 2022 19:38:13 -0000      1.2
> +++ patches/patch-tests_server_check_services_nodemanagement_c        8 Jun 
> 2022 15:08:55 -0000
> @@ -1,83 +1,15 @@
> -https://github.com/open62541/open62541/commit/7453262ccf8b26e622c4afa6ab5facfc42962663
> -
> -https://github.com/open62541/open62541/commit/ba14327eac5489f95864d6208bc46516650db537
> +Fix -Wsign-conversion compiler error.
> +https://github.com/open62541/open62541/commit/4a0f9795165aa08aa4cad473bf5e066ab33d31fd
>  
>  Index: tests/server/check_services_nodemanagement.c
>  --- tests/server/check_services_nodemanagement.c.orig
>  +++ tests/server/check_services_nodemanagement.c
> -@@ -13,12 +13,16 @@
> - #include <time.h>
> +@@ -596,7 +596,7 @@ START_TEST(ObjectWithDynamicVariableChild) {
>   
> - static UA_Server *server = NULL;
> -+static void *sessionCalled = (void *)1;
> -+static void *nodeCalled = (void *)2;
> - static UA_Int32 handleCalled = 0;
> +     UA_BrowsePathResult bpr = 
> UA_Server_translateBrowsePathToNodeIds(server, &bp);
>   
> - static UA_StatusCode
> - globalInstantiationMethod(UA_Server *server_,
> -                           const UA_NodeId *sessionId, void *sessionContext,
> -                           const UA_NodeId *nodeId, void **nodeContext) {
> -+    sessionCalled = sessionContext;
> -+    nodeCalled = *nodeContext;
> -     handleCalled++;
> -     return UA_STATUSCODE_GOOD;
> - }
> -@@ -34,6 +38,7 @@ static void setup(void) {
> -     lifecycle.createOptionalChild = NULL;
> -     lifecycle.generateChildNodeId = NULL;
> -     config->nodeLifecycle = lifecycle;
> -+    UA_Server_setAdminSessionContext(server, (void *)0x3);
> - }
> +-    ck_assert_int_eq(bpr.targetsSize, 1);
> ++    ck_assert_uint_eq(bpr.targetsSize, 1);
>   
> - static void teardown(void) {
> -@@ -51,10 +56,42 @@ START_TEST(AddVariableNode) {
> -     UA_QualifiedName myIntegerName = UA_QUALIFIEDNAME(1, "the answer");
> -     UA_NodeId parentNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_OBJECTSFOLDER);
> -     UA_NodeId parentReferenceNodeId = UA_NODEID_NUMERIC(0, 
> UA_NS0ID_ORGANIZES);
> -+    ck_assert_ptr_eq(sessionCalled, (void *)1);
> -+    ck_assert_ptr_eq(nodeCalled, (void *)2);
> -     UA_StatusCode res =
> -         UA_Server_addVariableNode(server, myIntegerNodeId, parentNodeId,
> -                                   parentReferenceNodeId, myIntegerName,
> -                                   UA_NODEID_NUMERIC(0, 
> UA_NS0ID_BASEDATAVARIABLETYPE),
> -+                                  attr, (void *)4, NULL);
> -+    ck_assert_int_eq(UA_STATUSCODE_GOOD, res);
> -+    ck_assert_ptr_eq(sessionCalled, (void *)3);
> -+    ck_assert_ptr_eq(nodeCalled, (void *)4);
> -+} END_TEST
> -+
> -+START_TEST(AddVariableNode_ValueRankZero) {
> -+    UA_VariableAttributes attr = UA_VariableAttributes_default;
> -+    attr.displayName = UA_LOCALIZEDTEXT("en-US", "Array ValueRank 0");
> -+    attr.accessLevel = UA_ACCESSLEVELMASK_READ | UA_ACCESSLEVELMASK_WRITE;
> -+
> -+    /* Set the variable value constraints */
> -+    attr.dataType = UA_TYPES[UA_TYPES_DOUBLE].typeId;
> -+    attr.valueRank = UA_VALUERANK_ONE_OR_MORE_DIMENSIONS;
> -+
> -+    /* Set the value */
> -+    UA_UInt32 arrayDims[1] = {2};
> -+    UA_Double zero[2] = {0.0, 0.0};
> -+    UA_Variant_setArray(&attr.value, zero, 2, &UA_TYPES[UA_TYPES_DOUBLE]);
> -+    attr.value.arrayDimensions = arrayDims;
> -+    attr.value.arrayDimensionsSize = 1;
> -+
> -+    UA_NodeId myNodeId = UA_NODEID_STRING(1, "array0");
> -+    UA_QualifiedName myName = UA_QUALIFIEDNAME(1, "array0");
> -+    UA_NodeId parentNodeId = UA_NODEID_NUMERIC(0, UA_NS0ID_OBJECTSFOLDER);
> -+    UA_NodeId parentReferenceNodeId = UA_NODEID_NUMERIC(0, 
> UA_NS0ID_ORGANIZES);
> -+    UA_StatusCode res =
> -+        UA_Server_addVariableNode(server, myNodeId, parentNodeId,
> -+                                  parentReferenceNodeId, myName,
> -+                                  UA_NODEID_NUMERIC(0, 
> UA_NS0ID_BASEDATAVARIABLETYPE),
> -                                   attr, NULL, NULL);
> -     ck_assert_int_eq(UA_STATUSCODE_GOOD, res);
> - } END_TEST
> -@@ -593,6 +630,7 @@ int main(void) {
> -     TCase *tc_addnodes = tcase_create("addnodes");
> -     tcase_add_checked_fixture(tc_addnodes, setup, teardown);
> -     tcase_add_test(tc_addnodes, AddVariableNode);
> -+    tcase_add_test(tc_addnodes, AddVariableNode_ValueRankZero);
> -     tcase_add_test(tc_addnodes, AddVariableNode_ExtensionObject);
> -     tcase_add_test(tc_addnodes, InstantiateVariableTypeNode);
> -     tcase_add_test(tc_addnodes, InstantiateVariableTypeNodeWrongDims);
> +     UA_WriteValue wv;
> +     UA_WriteValue_init(&wv);
> Index: patches/patch-tests_testing-plugins_testing_networklayers_c
> ===================================================================
> RCS file: patches/patch-tests_testing-plugins_testing_networklayers_c
> diff -N patches/patch-tests_testing-plugins_testing_networklayers_c
> --- patches/patch-tests_testing-plugins_testing_networklayers_c       11 Mar 
> 2022 19:38:13 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,14 +0,0 @@
> -https://github.com/open62541/open62541/commit/1654d021012b93ff669c022499fd80c47a73e72e
> -
> -Index: tests/testing-plugins/testing_networklayers.c
> ---- tests/testing-plugins/testing_networklayers.c.orig
> -+++ tests/testing-plugins/testing_networklayers.c
> -@@ -61,7 +61,7 @@ UA_Connection createDummyConnection(size_t sendBufferS
> -     c.state = UA_CONNECTION_ESTABLISHED;
> -     c.config = UA_ConnectionConfig_default;
> -     c.channel = NULL;
> --    c.sockfd = 0;
> -+    c.sockfd = UA_INVALID_SOCKET;
> -     c.handle = NULL;
> -     c.incompleteChunk = UA_BYTESTRING_NULL;
> -     c.getSendBuffer = dummyGetSendBuffer;
> Index: pkg/PFRAG.ns0_full
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/ports/misc/open62541/pkg/PFRAG.ns0_full,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 PFRAG.ns0_full
> --- pkg/PFRAG.ns0_full        11 Mar 2022 19:38:13 -0000      1.2
> +++ pkg/PFRAG.ns0_full        8 Jun 2022 14:44:21 -0000
> @@ -85,8 +85,6 @@ share/open62541/tools/ua-nodeset/FDI/Opc
>  share/open62541/tools/ua-nodeset/FDI/OpcUaFdiPart7Model.csv
>  share/open62541/tools/ua-nodeset/FDI/OpcUaFdiPart7Model.xml
>  share/open62541/tools/ua-nodeset/FDT/
> -share/open62541/tools/ua-nodeset/FDT/NodeIds.csv
> -share/open62541/tools/ua-nodeset/FDT/Opc.Ua.FDT.NodeSet2.xml
>  share/open62541/tools/ua-nodeset/GDS/
>  share/open62541/tools/ua-nodeset/GDS/Opc.Ua.Gds.Classes.cs
>  share/open62541/tools/ua-nodeset/GDS/Opc.Ua.Gds.Constants.cs
> @@ -140,16 +138,6 @@ share/open62541/tools/ua-nodeset/Machine
>  share/open62541/tools/ua-nodeset/MachineVision/NodeIds.csv
>  
> share/open62541/tools/ua-nodeset/MachineVision/Opc.Ua.MachineVision.NodeSet2.xml
>  share/open62541/tools/ua-nodeset/PLCopen/
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.Classes.cs
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.Constants.cs
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.DataTypes.cs
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.NodeSet2.xml
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.PredefinedNodes.uanodes
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.PredefinedNodes.xml
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.Types.bsd
> -share/open62541/tools/ua-nodeset/PLCopen/Opc.Ua.Plc.Types.xsd
> -share/open62541/tools/ua-nodeset/PLCopen/OpcUaPLCopenModel.csv
> -share/open62541/tools/ua-nodeset/PLCopen/OpcUaPLCopenModel.xml
>  share/open62541/tools/ua-nodeset/POWERLINK/
>  share/open62541/tools/ua-nodeset/POWERLINK/Opc.Ua.POWERLINK.NodeIds.csv
>  share/open62541/tools/ua-nodeset/POWERLINK/Opc.Ua.POWERLINK.NodeSet2.xml
> Index: pkg/PLIST
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/ports/misc/open62541/pkg/PLIST,v
> retrieving revision 1.3
> diff -u -p -u -p -r1.3 PLIST
> --- pkg/PLIST 11 Mar 2022 19:38:13 -0000      1.3
> +++ pkg/PLIST 8 Jun 2022 14:44:21 -0000
> @@ -1,35 +1,35 @@
> +include/aa_tree.h
> +@comment include/ms_stdint.h
>  include/open62541/
> -include/open62541/architecture_base.h
>  include/open62541/architecture_definitions.h
>  include/open62541/architecture_functions.h
>  include/open62541/client.h
> -include/open62541/client_config.h
>  include/open62541/client_config_default.h
>  include/open62541/client_highlevel.h
>  include/open62541/client_highlevel_async.h
>  include/open62541/client_subscriptions.h
> +include/open62541/common.h
>  include/open62541/config.h
> -include/open62541/constants.h
> -include/open62541/ms_stdint.h
>  include/open62541/network_tcp.h
>  include/open62541/nodeids.h
>  include/open62541/plugin/
>  include/open62541/plugin/accesscontrol.h
>  include/open62541/plugin/accesscontrol_default.h
> +include/open62541/plugin/create_certificate.h
>  include/open62541/plugin/log.h
>  include/open62541/plugin/log_stdout.h
> +include/open62541/plugin/log_syslog.h
>  include/open62541/plugin/network.h
>  include/open62541/plugin/nodestore.h
> +include/open62541/plugin/nodestore_default.h
>  include/open62541/plugin/pki.h
>  include/open62541/plugin/pki_default.h
>  include/open62541/plugin/pubsub.h
>  include/open62541/plugin/securitypolicy.h
>  include/open62541/plugin/securitypolicy_default.h
> -include/open62541/plugin/securitypolicy_mbedtls_common.h
>  include/open62541/posix/
>  include/open62541/posix/ua_architecture.h
>  include/open62541/server.h
> -include/open62541/server_config.h
>  include/open62541/server_config_default.h
>  include/open62541/server_pubsub.h
>  include/open62541/statuscodes.h
> @@ -37,9 +37,10 @@ include/open62541/types.h
>  include/open62541/types_generated.h
>  include/open62541/types_generated_handling.h
>  include/open62541/util.h
> -include/open62541/ziptree.h
> +@comment include/ziptree.h
>  lib/cmake/
>  lib/cmake/open62541/
> +lib/cmake/open62541/FindMbedTLS.cmake
>  lib/cmake/open62541/open62541Config.cmake
>  lib/cmake/open62541/open62541ConfigVersion.cmake
>  lib/cmake/open62541/open62541Macros.cmake
> @@ -63,6 +64,7 @@ share/examples/open62541/client_connect.
>  share/examples/open62541/client_connect_loop.c
>  share/examples/open62541/client_connectivitycheck_loop.c
>  share/examples/open62541/client_historical.c
> +share/examples/open62541/client_method_async.c
>  share/examples/open62541/client_subscription_loop.c
>  share/examples/open62541/common.h
>  share/examples/open62541/custom_datatype/
> @@ -75,8 +77,14 @@ share/examples/open62541/discovery/serve
>  share/examples/open62541/discovery/server_multicast.c
>  share/examples/open62541/discovery/server_register.c
>  share/examples/open62541/encryption/
> +share/examples/open62541/encryption/README_client_server_tpm_keystore.txt
>  share/examples/open62541/encryption/client_encryption.c
> +share/examples/open62541/encryption/client_encryption_tpm_keystore.c
>  share/examples/open62541/encryption/server_encryption.c
> +share/examples/open62541/encryption/server_encryption_tpm_keystore.c
> +share/examples/open62541/events/
> +share/examples/open62541/events/client_eventfilter.c
> +share/examples/open62541/events/server_random_events.c
>  share/examples/open62541/nodeset/
>  share/examples/open62541/nodeset/CMakeLists.txt
>  share/examples/open62541/nodeset/Opc.Ua.POWERLINK.NodeSet2.bsd
> @@ -90,31 +98,71 @@ share/examples/open62541/nodeset/testnod
>  share/examples/open62541/nodeset/testnodeset.xml
>  share/examples/open62541/nodeset/testtypes.bsd
>  share/examples/open62541/pubsub/
> +share/examples/open62541/pubsub/README_pubsub_tpm2_pkcs11.txt
> +share/examples/open62541/pubsub/README_pubsub_tpm_keystore.txt
> +share/examples/open62541/pubsub/example_publisher.bin
> +share/examples/open62541/pubsub/monitoring/
> +share/examples/open62541/pubsub/monitoring/server_pubsub_subscribe_custom_monitoring.c
> +share/examples/open62541/pubsub/pubsub_publish_encrypted.c
> +share/examples/open62541/pubsub/pubsub_publish_encrypted_tpm.c
> +share/examples/open62541/pubsub/pubsub_publish_encrypted_tpm_keystore.c
> +share/examples/open62541/pubsub/pubsub_subscribe_encrypted.c
> +share/examples/open62541/pubsub/pubsub_subscribe_encrypted_tpm.c
> +share/examples/open62541/pubsub/pubsub_subscribe_encrypted_tpm_keystore.c
>  share/examples/open62541/pubsub/pubsub_subscribe_standalone.c
> +share/examples/open62541/pubsub/server_pubsub_file_configuration.c
> +share/examples/open62541/pubsub/server_pubsub_publisher_iop.c
> +share/examples/open62541/pubsub/server_pubsub_publisher_rt_level.c
> +share/examples/open62541/pubsub/server_pubsub_publisher_rt_level_raw.c
> +share/examples/open62541/pubsub/server_pubsub_rt_field_information_model.c
> +share/examples/open62541/pubsub/server_pubsub_subscriber_rt_level.c
>  share/examples/open62541/pubsub/tutorial_pubsub_connection.c
> +share/examples/open62541/pubsub/tutorial_pubsub_mqtt_publish.c
>  share/examples/open62541/pubsub/tutorial_pubsub_publish.c
> +share/examples/open62541/pubsub/tutorial_pubsub_publish_raw.c
>  share/examples/open62541/pubsub/tutorial_pubsub_subscribe.c
> +share/examples/open62541/pubsub/tutorial_pubsub_subscribe_raw.c
>  share/examples/open62541/pubsub_realtime/
>  share/examples/open62541/pubsub_realtime/README.md
> -share/examples/open62541/pubsub_realtime/bufmalloc.c
> -share/examples/open62541/pubsub_realtime/bufmalloc.h
> +share/examples/open62541/pubsub_realtime/README_pubsub_TSN.txt
> +share/examples/open62541/pubsub_realtime/Readme_PubSub.txt
>  share/examples/open62541/pubsub_realtime/etfa18-pfrommer-tsn-pubsub.pdf
> +share/examples/open62541/pubsub_realtime/nodeset/
> +share/examples/open62541/pubsub_realtime/nodeset/CMakeLists.txt
> +share/examples/open62541/pubsub_realtime/nodeset/pubDataModel.csv
> +share/examples/open62541/pubsub_realtime/nodeset/pubDataModel.xml
> +share/examples/open62541/pubsub_realtime/nodeset/pubsub_nodeset_rt_publisher.c
> +share/examples/open62541/pubsub_realtime/nodeset/pubsub_nodeset_rt_subscriber.c
> +share/examples/open62541/pubsub_realtime/nodeset/subDataModel.csv
> +share/examples/open62541/pubsub_realtime/nodeset/subDataModel.xml
> +share/examples/open62541/pubsub_realtime/opc-ua-tsn-wrs.pdf
> +share/examples/open62541/pubsub_realtime/pubsub_TSN_loopback.c
> +share/examples/open62541/pubsub_realtime/pubsub_TSN_loopback_single_thread.c
> +share/examples/open62541/pubsub_realtime/pubsub_TSN_publisher.c
> +share/examples/open62541/pubsub_realtime/pubsub_TSN_publisher_multiple_thread.c
>  share/examples/open62541/pubsub_realtime/pubsub_interrupt_publish.c
>  share/examples/open62541/pubsub_realtime/start_rt_publish.sh
> +share/examples/open62541/pubsub_realtime/vxworks/
> +share/examples/open62541/pubsub_realtime/vxworks/README.md
> +share/examples/open62541/pubsub_realtime/vxworks/pubsub_interrupt_publish_tsn.c
>  share/examples/open62541/server.cpp
>  share/examples/open62541/server_ctt.c
>  share/examples/open62541/server_inheritance.c
>  share/examples/open62541/server_instantiation.c
> +share/examples/open62541/server_loglevel.c
>  share/examples/open62541/server_mainloop.c
>  share/examples/open62541/server_repeated_job.c
> +share/examples/open62541/server_settimestamp.c
>  share/examples/open62541/tutorial_client_events.c
>  share/examples/open62541/tutorial_client_firststeps.c
>  share/examples/open62541/tutorial_datatypes.c
> +share/examples/open62541/tutorial_server_alarms_conditions.c
>  share/examples/open62541/tutorial_server_datasource.c
>  share/examples/open62541/tutorial_server_events.c
>  share/examples/open62541/tutorial_server_firststeps.c
>  share/examples/open62541/tutorial_server_historicaldata.c
>  share/examples/open62541/tutorial_server_method.c
> +share/examples/open62541/tutorial_server_method_async.c
>  share/examples/open62541/tutorial_server_monitoreditems.c
>  share/examples/open62541/tutorial_server_object.c
>  share/examples/open62541/tutorial_server_variable.c
> @@ -136,22 +184,27 @@ share/open62541/tools/nodeset_compiler/b
>  share/open62541/tools/nodeset_compiler/backend_open62541.py
>  share/open62541/tools/nodeset_compiler/backend_open62541_datatypes.py
>  share/open62541/tools/nodeset_compiler/backend_open62541_nodes.py
> +share/open62541/tools/nodeset_compiler/backend_open62541_typedefinitions.py
>  share/open62541/tools/nodeset_compiler/datatypes.py
>  share/open62541/tools/nodeset_compiler/nodes.py
>  share/open62541/tools/nodeset_compiler/nodeset.py
>  share/open62541/tools/nodeset_compiler/nodeset_compiler.py
>  share/open62541/tools/nodeset_compiler/nodeset_testing.py
>  share/open62541/tools/nodeset_compiler/opaque_type_mapping.py
> +share/open62541/tools/nodeset_compiler/type_parser.py
>  share/open62541/tools/schema/
>  share/open62541/tools/schema/Custom.Opc.Ua.Transport.bsd
>  share/open62541/tools/schema/NodeIds.csv
> +share/open62541/tools/schema/Opc.Ua.NodeSet2.DiagnosticsMinimal.xml
>  share/open62541/tools/schema/Opc.Ua.NodeSet2.EventsMinimal.xml
>  share/open62541/tools/schema/Opc.Ua.NodeSet2.HistorizingMinimal.xml
> -share/open62541/tools/schema/Opc.Ua.NodeSet2.Minimal.xml
> +share/open62541/tools/schema/Opc.Ua.NodeSet2.Part8_Subset.xml
>  share/open62541/tools/schema/Opc.Ua.NodeSet2.PubSubMinimal.xml
> +share/open62541/tools/schema/Opc.Ua.NodeSet2.Reduced.xml
>  share/open62541/tools/schema/Opc.Ua.Types.bsd
>  share/open62541/tools/schema/StatusCode.csv
>  share/open62541/tools/schema/datatypes_dataaccess.txt
> +share/open62541/tools/schema/datatypes_diagnostics.txt
>  share/open62541/tools/schema/datatypes_discovery.txt
>  share/open62541/tools/schema/datatypes_events.txt
>  share/open62541/tools/schema/datatypes_historizing.txt
> @@ -161,5 +214,6 @@ share/open62541/tools/schema/datatypes_p
>  share/open62541/tools/schema/datatypes_query.txt
>  share/open62541/tools/schema/datatypes_subscriptions.txt
>  share/open62541/tools/schema/datatypes_transport.txt
> +share/open62541/tools/schema/datatypes_typedescription.txt
>  share/open62541/tools/ua-nodeset/
>  %%ns0_full%%
> 

Reply via email to