diff options
Diffstat (limited to 'src/common.c')
| -rw-r--r-- | src/common.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/common.c b/src/common.c index 39a2a68..f8b08a1 100644 --- a/src/common.c +++ b/src/common.c @@ -356,10 +356,20 @@ createServer (UA_UInt16 port, const char *applicationUri, const char *certPath, for (size_t i = 0; i < trustSize; i++) trustList[i] = loadFile (trustPaths[i]); - *retval = UA_ServerConfig_setDefaultWithSecurityPolicies ( + *retval = UA_ServerConfig_setDefaultWithSecureSecurityPolicies ( config, port, &certificate, &privateKey, trustList, trustSize, NULL, 0, NULL, 0); + /* Also offer SecurityPolicy#None, but restricted to discovery + services (FindServers, GetEndpoints) so that unencrypted clients + can still discover the server without being able to open a + full session. */ + if (*retval == UA_STATUSCODE_GOOD) + { + UA_ServerConfig_addSecurityPolicyNone (config, &certificate); + config->securityPolicyNoneDiscoveryOnly = true; + } + UA_ByteString_clear (&certificate); UA_ByteString_clear (&privateKey); for (size_t i = 0; i < trustSize; i++) |
