diff --git a/Dockerfile b/Dockerfile index baa9eacb2c1ebe7af6a6c9fb773f63270a82572c..cc163f91ef07b3c91443283476ab8b3be92b5a1a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,18 @@ -FROM ubuntu:20.04 +FROM debian:bullseye # Install build tools for sdptr and the C language OPC-UA lib RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common && \ - DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:open62541-team/ppa && \ apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y autoconf automake git make g++ build-essential pkg-config libboost-dev libboost-regex-dev libboost-system-dev libboost-program-options-dev libopen62541-1-dev libopen62541-1-tools zlib1g-dev && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y autoconf automake git cmake make g++ build-essential pkg-config libboost-dev libboost-regex-dev libboost-system-dev libboost-program-options-dev zlib1g-dev && \ apt-get clean +RUN git clone -b v1.3.4 https://github.com/open62541/open62541 +RUN cd open62541 && git submodule update --init --recursive && \ + mkdir build -p && cd build/ && cmake .. && make -j 4 && make install +# Remove source +RUN rm -rf open62541 + # Copy sdptr COPY . /sdptr @@ -18,11 +23,14 @@ RUN cd /sdptr && \ bash -c "make -j `nproc` install" # Remove source -RUN rm -rf /sdptr +# RUN rm -rf /sdptr # Remove build dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get purge -y autoconf automake git make g++ build-essential libboost-dev libboost-regex-dev libboost-system-dev libboost-program-options-dev +RUN DEBIAN_FRONTEND=noninteractive apt-get purge -y autoconf automake git cmake make g++ build-essential libboost-dev libboost-regex-dev libboost-system-dev libboost-program-options-dev RUN DEBIAN_FRONTEND=noninteractive apt-get autoremove -y RUN DEBIAN_FRONTEND=noninteractive apt-get clean + +WORKDIR /sdptr/src +CMD ["sdptr", "--ip_prefix=127.0.", "--nodaemon"] diff --git a/src/opcua/ua_server.cpp b/src/opcua/ua_server.cpp index 58bcb8e7f26d37bfeaba0ab27c67868ea2b191b1..c43737252587b89e2522b33985d46ccea34ada4f 100644 --- a/src/opcua/ua_server.cpp +++ b/src/opcua/ua_server.cpp @@ -983,14 +983,14 @@ static void ua_add_Variable_boolean(UA_Server *server, const string regname, con UA_Boolean *values = NULL; if (is_scalar) { - // LOG_F(INFO, "ua_add_variable_boolean scalar: regname=%s size=%u perm=%s", regname.c_str(), size, perm.c_str()); + LOG_F(INFO, "ua_add_variable_boolean scalar: regname=%s size=%u perm=%s", regname.c_str(), size, perm.c_str()); UA_Boolean value = UA_Boolean(false); UA_Variant_setScalar(&vattr.value, &value, &UA_TYPES[UA_TYPES_BOOLEAN]); vattr.valueRank = UA_VALUERANK_SCALAR; } else { - // LOG_F(INFO, "ua_add_variable_boolean array: regname=%s size=%u perm=%s", regname.c_str(), size, perm.c_str()); + LOG_F(INFO, "ua_add_variable_boolean array: regname=%s size=%u perm=%s", regname.c_str(), size, perm.c_str()); vattr.valueRank = UA_VALUERANK_ONE_DIMENSION; UA_UInt32 myArrayDimensions[1] = {(uint32_t)size}; @@ -1008,8 +1008,8 @@ static void ua_add_Variable_boolean(UA_Server *server, const string regname, con vattr.value.arrayDimensions = myArrayDimensions; vattr.value.arrayDimensionsSize = 1; - // LOG_F(INFO, "vattr.value: arrayDimensions=%u arrayDimensionsSize=%u arrayLength=%u", - // (uint32_t)vattr.value.arrayDimensions[0], (uint32_t)vattr.value.arrayDimensionsSize, (uint32_t)vattr.value.arrayLength); + LOG_F(INFO, "vattr.value: arrayDimensions=%u arrayDimensionsSize=%u arrayLength=%u", + (uint32_t)vattr.value.arrayDimensions[0], (uint32_t)vattr.value.arrayDimensionsSize, (uint32_t)vattr.value.arrayLength); } UA_DataSource DataSource; diff --git a/test/c/ua_client/client.c b/test/c/ua_client/client.c index bbf988f286cd187bf7f8b022d272f231c8445d40..cc6597cc0db621059a20b1bb95040ed4f8e06b2d 100644 --- a/test/c/ua_client/client.c +++ b/test/c/ua_client/client.c @@ -52,7 +52,7 @@ int main(int argc, char *argv[]) { /* Connect to a server */ /* anonymous connect would be: retval = UA_Client_connect(client, "opc.tcp://localhost:4840"); */ - retval = UA_Client_connect_username(client, "opc.tcp://localhost:4840", "user1", "password"); + retval = UA_Client_connectUsername(client, "opc.tcp://localhost:4840", "user1", "password"); if(retval != UA_STATUSCODE_GOOD) { UA_Client_delete(client); return EXIT_FAILURE;