|
@@ -834,9 +834,9 @@ Service_AddNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *
|
|
return retval;
|
|
return retval;
|
|
}
|
|
}
|
|
|
|
|
|
- /* Type check node */
|
|
|
|
if(node->nodeClass == UA_NODECLASS_VARIABLE ||
|
|
if(node->nodeClass == UA_NODECLASS_VARIABLE ||
|
|
node->nodeClass == UA_NODECLASS_VARIABLETYPE) {
|
|
node->nodeClass == UA_NODECLASS_VARIABLETYPE) {
|
|
|
|
+ /* Type check node */
|
|
retval = typeCheckVariableNode(server, session, (const UA_VariableNode*)node, typeDefinition);
|
|
retval = typeCheckVariableNode(server, session, (const UA_VariableNode*)node, typeDefinition);
|
|
if(retval != UA_STATUSCODE_GOOD) {
|
|
if(retval != UA_STATUSCODE_GOOD) {
|
|
UA_LOG_INFO_SESSION(server->config.logger, session,
|
|
UA_LOG_INFO_SESSION(server->config.logger, session,
|
|
@@ -845,6 +845,15 @@ Service_AddNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *
|
|
deleteNode(server, &adminSession, nodeId, true);
|
|
deleteNode(server, &adminSession, nodeId, true);
|
|
return retval;
|
|
return retval;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /* Set AccessLevel to readable */
|
|
|
|
+ const UA_VariableNode *vn = (const UA_VariableNode*)node;
|
|
|
|
+ if(!(vn->accessLevel & (UA_ACCESSLEVELMASK_READ))) {
|
|
|
|
+ UA_LOG_INFO_SESSION(server->config.logger, session,
|
|
|
|
+ "AddNodes: Set the AccessLevel to readable by default");
|
|
|
|
+ UA_Byte readable = vn->accessLevel | (UA_ACCESSLEVELMASK_READ);
|
|
|
|
+ UA_Server_writeAccessLevel(server, vn->nodeId, readable);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/* Add parent reference */
|
|
/* Add parent reference */
|