Server API should not allow to configure several times the same Security configuration
The Security policy configuration is accepted by the server and may lead to inconsistent configuration if 2 distinct SOPC_SecurityPolicy are added with the same policy. (UAExpert cannot parse the second element and fails to connect in the second security policy below). The same policies should always be in the same SOPC_SecurityPolicy object
SOPC_SecurityPolicy* sp;
g_epConfig = SOPC_ServerConfigHelper_CreateEndpoint(url, true);
/* Security policy #1 : None / Anonymous */
sp = SOPC_EndpointConfig_AddSecurityConfig(g_epConfig, SOPC_SecurityPolicy_None);
status = SOPC_SecurityConfig_SetSecurityModes(sp, SOPC_SECURITY_MODE_NONE_MASK);
status = SOPC_SecurityConfig_AddUserTokenPolicy(sp, &SOPC_UserTokenPolicy_Anonymous);
/* Security policy #2 : None / User */
sp = SOPC_EndpointConfig_AddSecurityConfig(g_epConfig, SOPC_SecurityPolicy_None);
status = SOPC_SecurityConfig_SetSecurityModes(sp, SOPC_SECURITY_MODE_NONE_MASK);
status = SOPC_SecurityConfig_AddUserTokenPolicy(sp, &SOPC_UserTokenPolicy_UserName_NoneSecurityPolicy);
This configuration should be rejected
Edited by Jérémie Chabod