|
@@ -324,6 +324,7 @@ void Service_Browse(UA_Server *server, UA_Session *session,
|
|
const UA_BrowseRequest *request, UA_BrowseResponse *response) {
|
|
const UA_BrowseRequest *request, UA_BrowseResponse *response) {
|
|
UA_LOG_DEBUG_SESSION(&server->config.logger, session, "Processing BrowseRequest");
|
|
UA_LOG_DEBUG_SESSION(&server->config.logger, session, "Processing BrowseRequest");
|
|
|
|
|
|
|
|
+ /* Test the number of operations in the request */
|
|
if(server->config.maxNodesPerBrowse != 0 &&
|
|
if(server->config.maxNodesPerBrowse != 0 &&
|
|
request->nodesToBrowseSize > server->config.maxNodesPerBrowse) {
|
|
request->nodesToBrowseSize > server->config.maxNodesPerBrowse) {
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
@@ -345,10 +346,11 @@ void Service_Browse(UA_Server *server, UA_Session *session,
|
|
}
|
|
}
|
|
|
|
|
|
UA_BrowseResult
|
|
UA_BrowseResult
|
|
-UA_Server_browse(UA_Server *server, UA_UInt32 maxrefs, const UA_BrowseDescription *descr) {
|
|
|
|
|
|
+UA_Server_browse(UA_Server *server, UA_UInt32 maxReferences,
|
|
|
|
+ const UA_BrowseDescription *bd) {
|
|
UA_BrowseResult result;
|
|
UA_BrowseResult result;
|
|
UA_BrowseResult_init(&result);
|
|
UA_BrowseResult_init(&result);
|
|
- Operation_Browse(server, &server->adminSession, &maxrefs, descr, &result);
|
|
|
|
|
|
+ Operation_Browse(server, &server->adminSession, &maxReferences, bd, &result);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -732,6 +734,7 @@ Service_TranslateBrowsePathsToNodeIds(UA_Server *server, UA_Session *session,
|
|
UA_LOG_DEBUG_SESSION(&server->config.logger, session,
|
|
UA_LOG_DEBUG_SESSION(&server->config.logger, session,
|
|
"Processing TranslateBrowsePathsToNodeIdsRequest");
|
|
"Processing TranslateBrowsePathsToNodeIdsRequest");
|
|
|
|
|
|
|
|
+ /* Test the number of operations in the request */
|
|
if(server->config.maxNodesPerTranslateBrowsePathsToNodeIds != 0 &&
|
|
if(server->config.maxNodesPerTranslateBrowsePathsToNodeIds != 0 &&
|
|
request->browsePathsSize > server->config.maxNodesPerTranslateBrowsePathsToNodeIds) {
|
|
request->browsePathsSize > server->config.maxNodesPerTranslateBrowsePathsToNodeIds) {
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
@@ -788,6 +791,7 @@ void Service_RegisterNodes(UA_Server *server, UA_Session *session,
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /* Test the number of operations in the request */
|
|
if(server->config.maxNodesPerRegisterNodes != 0 &&
|
|
if(server->config.maxNodesPerRegisterNodes != 0 &&
|
|
request->nodesToRegisterSize > server->config.maxNodesPerRegisterNodes) {
|
|
request->nodesToRegisterSize > server->config.maxNodesPerRegisterNodes) {
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
@@ -811,6 +815,7 @@ void Service_UnregisterNodes(UA_Server *server, UA_Session *session,
|
|
if(request->nodesToUnregisterSize == 0)
|
|
if(request->nodesToUnregisterSize == 0)
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO;
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADNOTHINGTODO;
|
|
|
|
|
|
|
|
+ /* Test the number of operations in the request */
|
|
if(server->config.maxNodesPerRegisterNodes != 0 &&
|
|
if(server->config.maxNodesPerRegisterNodes != 0 &&
|
|
request->nodesToUnregisterSize > server->config.maxNodesPerRegisterNodes) {
|
|
request->nodesToUnregisterSize > server->config.maxNodesPerRegisterNodes) {
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|
|
response->responseHeader.serviceResult = UA_STATUSCODE_BADTOOMANYOPERATIONS;
|