Browse Source

remove experimental stateless extension

Julius Pfrommer 6 years ago
parent
commit
c0956fd34e

+ 0 - 6
CMakeLists.txt

@@ -98,14 +98,8 @@ mark_as_advanced(UA_DATATYPES_FILE)
 option(UA_ENABLE_VALGRIND_UNIT_TESTS "Use Valgrind to detect memory leaks when running the unit tests" OFF)
 mark_as_advanced(UA_ENABLE_VALGRIND_UNIT_TESTS)
 
-option(UA_ENABLE_NONSTANDARD_STATELESS "Enable stateless extension (non-standard)" OFF)
-mark_as_advanced(UA_ENABLE_NONSTANDARD_STATELESS)
-
 option(UA_ENABLE_NONSTANDARD_UDP "Enable udp extension (non-standard)" OFF)
 mark_as_advanced(UA_ENABLE_NONSTANDARD_UDP)
-if(UA_ENABLE_NONSTANDARD_UDP)
-  set(UA_ENABLE_NONSTANDARD_STATELESS ON)
-endif()
 
 # Build Targets
 option(UA_BUILD_EXAMPLES "Build example servers and clients" OFF)

+ 0 - 2
doc/building.rst

@@ -198,8 +198,6 @@ be visible in the cmake GUIs.
    ``UA_GENERATE_NAMESPACE0_FILE`` is used to specify the file for NS0 generation from namespace0 folder. Default value is ``Opc.Ua.NodeSet2.xml``
 **UA_ENABLE_EMBEDDED_LIBC**
    Use a custom implementation of some libc functions that might be missing on embedded targets (e.g. string handling).
-**UA_ENABLE_NONSTANDARD_STATELESS**
-   Enable stateless extension
 **UA_ENABLE_NONSTANDARD_UDP**
    Enable udp extension
 

+ 0 - 1
include/ua_config.h.in

@@ -35,7 +35,6 @@ extern "C" {
 #cmakedefine UA_ENABLE_EMBEDDED_LIBC
 #cmakedefine UA_ENABLE_DETERMINISTIC_RNG
 #cmakedefine UA_ENABLE_GENERATE_NAMESPACE0
-#cmakedefine UA_ENABLE_NONSTANDARD_STATELESS
 #cmakedefine UA_ENABLE_NONSTANDARD_UDP
 #cmakedefine UA_ENABLE_DISCOVERY
 #cmakedefine UA_ENABLE_DISCOVERY_MULTICAST

+ 0 - 5
src/server/ua_server_binary.c

@@ -442,11 +442,6 @@ processMSG(UA_Server *server, UA_SecureChannel *channel,
     }
     UA_assert(responseType);
 
-#ifdef UA_ENABLE_NONSTANDARD_STATELESS
-    /* Stateless extension: Sessions are optional */
-    sessionRequired = false;
-#endif
-
     /* Decode the request */
     void *request = UA_alloca(requestType->memSize);
     UA_RequestHeader *requestHeader = (UA_RequestHeader*)request;

+ 1 - 45
src/server/ua_services_attribute.c

@@ -4,12 +4,9 @@
 
 #include "ua_server_internal.h"
 #include "ua_services.h"
-#ifdef UA_ENABLE_NONSTANDARD_STATELESS
-#include "ua_types_encoding_binary.h"
-#endif
 
 /* Force cast from const data for zero-copy reading. The storage type is set to
-   nodelete. So the value is not deleted. Use with care! */
+ * nodelete. So the value is not deleted. Use with care! */
 static void
 forceVariantSetScalar(UA_Variant *v, const void *p, const UA_DataType *t) {
     UA_Variant_init(v);
@@ -948,47 +945,6 @@ void Service_Read(UA_Server *server, UA_Session *session,
                   (UA_ServiceOperation)Operation_Read,
                   &request->nodesToReadSize, &UA_TYPES[UA_TYPES_READVALUEID],
                   &response->resultsSize, &UA_TYPES[UA_TYPES_DATAVALUE]);
-
-#ifdef UA_ENABLE_NONSTANDARD_STATELESS
-    /* Add an expiry header for caching */
-    if(session->sessionId.namespaceIndex == 0 &&
-       session->sessionId.identifierType == UA_NODEIDTYPE_NUMERIC &&
-       session->sessionId.identifier.numeric == 0) {
-        UA_ExtensionObject additionalHeader;
-        UA_ExtensionObject_init(&additionalHeader);
-        additionalHeader.encoding = UA_EXTENSIONOBJECT_ENCODED_BYTESTRING;
-        additionalHeader.content.encoded.typeId =UA_TYPES[UA_TYPES_VARIANT].typeId;
-
-        UA_Variant variant;
-        UA_Variant_init(&variant);
-
-        UA_DateTime* expireArray = NULL;
-        expireArray = UA_Array_new(request->nodesToReadSize,
-                                   &UA_TYPES[UA_TYPES_DATETIME]);
-        variant.data = expireArray;
-
-        /* expires in 20 seconds */
-        for(UA_UInt32 i = 0;i < response->resultsSize;++i) {
-            expireArray[i] = UA_DateTime_now() + 20 * 100 * 1000 * 1000;
-        }
-        UA_Variant_setArray(&variant, expireArray, request->nodesToReadSize,
-                            &UA_TYPES[UA_TYPES_DATETIME]);
-
-        size_t offset = 0;
-        UA_ByteString str;
-        size_t strlength = UA_calcSizeBinary(&variant, &UA_TYPES[UA_TYPES_VARIANT]);
-        UA_ByteString_allocBuffer(&str, strlength);
-        /* No chunking callback for the encoding */
-        UA_StatusCode retval = UA_encodeBinary(&variant, &UA_TYPES[UA_TYPES_VARIANT],
-                                               NULL, NULL, &str, &offset);
-        UA_Array_delete(expireArray, request->nodesToReadSize, &UA_TYPES[UA_TYPES_DATETIME]);
-        if(retval == UA_STATUSCODE_GOOD){
-            additionalHeader.content.encoded.body.data = str.data;
-            additionalHeader.content.encoded.body.length = offset;
-            response->responseHeader.additionalHeader = additionalHeader;
-        }
-    }
-#endif
 }
 
 UA_DataValue

+ 0 - 1
src/server/ua_services_nodemanagement.c

@@ -948,7 +948,6 @@ UA_Server_deleteNode(UA_Server *server, const UA_NodeId nodeId,
     return retval;
 }
 
-
 /******************/
 /* Add References */
 /******************/