aboutsummaryrefslogtreecommitdiffstats
path: root/src/server_lds.c
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-18 22:45:06 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-18 22:45:06 +0100
commit74f18c6264618187386a5dc8b1152faa8727bf53 (patch)
treef3e233f6d79f6f0b8a9758aefb91ff3731793dee /src/server_lds.c
parent5f5e172cd2392952162398c85b07e6f6b7e69398 (diff)
downloadBobinkCOpcUa-74f18c6264618187386a5dc8b1152faa8727bf53.tar.gz
BobinkCOpcUa-74f18c6264618187386a5dc8b1152faa8727bf53.zip
Extract configureAccessControl() into common
The access-control switch block was duplicated in server_lds.c and server_register.c. Move it to a shared helper in common.c with a Doxygen block that consolidates the rationale from both call sites.
Diffstat (limited to 'src/server_lds.c')
-rw-r--r--src/server_lds.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/src/server_lds.c b/src/server_lds.c
index 311be4b..8d34acc 100644
--- a/src/server_lds.c
+++ b/src/server_lds.c
@@ -13,7 +13,6 @@
#include "common.h"
#include "config.h"
-#include <open62541/plugin/accesscontrol_default.h>
#include <open62541/plugin/log_stdout.h>
#include <open62541/server.h>
@@ -111,27 +110,7 @@ main (int argc, char *argv[])
Downgrade to a warning so third-party servers can still register. */
serverConfig->verifyRequestTimestamp = UA_RULEHANDLING_WARN;
- /* Configure access control. UA_ServerConfig_setDefaultWithSecure-
- SecurityPolicies sets certificate-only auth by default, so we must
- always call UA_AccessControl_default to get the desired policy. */
- switch (auth.mode)
- {
- case AUTH_ANONYMOUS:
- retval = UA_AccessControl_default (serverConfig, true, NULL, 0, NULL);
- break;
- case AUTH_USER:
- {
- UA_UsernamePasswordLogin logins[1];
- logins[0].username = UA_STRING ((char *)auth.user.username);
- logins[0].password = UA_STRING ((char *)auth.user.password);
- retval
- = UA_AccessControl_default (serverConfig, false, NULL, 1, logins);
- break;
- }
- case AUTH_CERT:
- retval = UA_AccessControl_default (serverConfig, false, NULL, 0, NULL);
- break;
- }
+ retval = configureAccessControl (serverConfig, &auth);
if (retval != UA_STATUSCODE_GOOD)
{
UA_Server_delete (server);