aboutsummaryrefslogtreecommitdiffstats
path: root/src/server_register.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server_register.c')
-rw-r--r--src/server_register.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server_register.c b/src/server_register.c
index e1defd0..8b750fe 100644
--- a/src/server_register.c
+++ b/src/server_register.c
@@ -12,6 +12,7 @@
#include <open62541/client.h>
#include <open62541/client_config_default.h>
+#include <open62541/plugin/accesscontrol_default.h>
#include <open62541/plugin/log_stdout.h>
#include <open62541/server.h>
#include <open62541/server_config_default.h>
@@ -93,6 +94,19 @@ main (int argc, char **argv)
UA_ServerConfig *serverConfig = UA_Server_getConfig (server);
+ /* Disallow anonymous sessions.
+ UA_ServerConfig_setDefaultWithSecurityPolicies (called by
+ createSecureServer) resets access control, so this must come after server
+ creation. The static credential list is deep-copied. */
+ UA_UsernamePasswordLogin logins[]
+ = { { UA_STRING_STATIC ("user"), UA_STRING_STATIC ("password") } };
+ retval = UA_AccessControl_default (serverConfig, false, NULL, 1, logins);
+ if (retval != UA_STATUSCODE_GOOD)
+ {
+ UA_Server_delete (server);
+ return EXIT_FAILURE;
+ }
+
serverConfig->applicationDescription.applicationType
= UA_APPLICATIONTYPE_SERVER;
@@ -111,6 +125,8 @@ main (int argc, char **argv)
UA_Server_delete (server);
return EXIT_FAILURE;
}
+ UA_ClientConfig_setAuthenticationUsername (&clientConfig, "user",
+ "password");
UA_String discoveryUrl = UA_STRING_ALLOC (discoveryEndpoint);
retval = UA_Server_registerDiscovery (server, &clientConfig, discoveryUrl,
@@ -136,6 +152,8 @@ main (int argc, char **argv)
argv + 11, trustSize, securityMode, securityPolicyUri);
if (retval == UA_STATUSCODE_GOOD)
{
+ UA_ClientConfig_setAuthenticationUsername (&clientConfig, "user",
+ "password");
UA_String reregUrl = UA_STRING_ALLOC (discoveryEndpoint);
retval = UA_Server_registerDiscovery (server, &clientConfig,
reregUrl, UA_STRING_NULL);
@@ -155,6 +173,8 @@ main (int argc, char **argv)
trustSize, securityMode, securityPolicyUri);
if (retval == UA_STATUSCODE_GOOD)
{
+ UA_ClientConfig_setAuthenticationUsername (&clientConfig, "user",
+ "password");
UA_String deregUrl = UA_STRING_ALLOC (discoveryEndpoint);
retval = UA_Server_deregisterDiscovery (server, &clientConfig, deregUrl);
UA_String_clear (&deregUrl);