aboutsummaryrefslogtreecommitdiffstats
path: root/src/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.c')
-rw-r--r--src/common.c237
1 files changed, 121 insertions, 116 deletions
diff --git a/src/common.c b/src/common.c
index 9401392..234f925 100644
--- a/src/common.c
+++ b/src/common.c
@@ -21,40 +21,40 @@
* ======================================================================== */
UA_ByteString
-loadFile (const char *const path)
+load_file (const char *const path)
{
- UA_ByteString fileContents = UA_STRING_NULL;
+ UA_ByteString file_contents = UA_STRING_NULL;
FILE *fp = fopen (path, "rb");
if (!fp)
{
- /* fopen sets errno on failure. Callers like createServer use
- loadFile for optional trustlist entries where a missing file is not
+ /* fopen sets errno on failure. Callers like create_server use
+ load_file for optional trustlist entries where a missing file is not
an error. Clear errno so open62541's logging does not pick up
a stale value and emit misleading error messages. */
errno = 0;
- return fileContents;
+ return file_contents;
}
fseek (fp, 0, SEEK_END);
- fileContents.length = (size_t)ftell (fp);
- fileContents.data
- = (UA_Byte *)UA_malloc (fileContents.length * sizeof (UA_Byte));
- if (fileContents.data)
+ file_contents.length = (size_t)ftell (fp);
+ file_contents.data
+ = (UA_Byte *)UA_malloc (file_contents.length * sizeof (UA_Byte));
+ if (file_contents.data)
{
fseek (fp, 0, SEEK_SET);
- size_t read = fread (fileContents.data, sizeof (UA_Byte),
- fileContents.length, fp);
- if (read != fileContents.length)
- UA_ByteString_clear (&fileContents);
+ size_t read = fread (file_contents.data, sizeof (UA_Byte),
+ file_contents.length, fp);
+ if (read != file_contents.length)
+ UA_ByteString_clear (&file_contents);
}
else
{
- fileContents.length = 0;
+ file_contents.length = 0;
}
fclose (fp);
- return fileContents;
+ return file_contents;
}
/* ========================================================================
@@ -62,16 +62,16 @@ loadFile (const char *const path)
* ======================================================================== */
int
-loadTrustStore (const char *dirPath, char ***outPaths, size_t *outSize)
+load_trust_store (const char *dir_path, char ***out_paths, size_t *out_size)
{
- *outPaths = NULL;
- *outSize = 0;
+ *out_paths = NULL;
+ *out_size = 0;
- DIR *dir = opendir (dirPath);
+ DIR *dir = opendir (dir_path);
if (!dir)
{
UA_LOG_ERROR (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "Cannot open trust store directory '%s'", dirPath);
+ "Cannot open trust store directory '%s'", dir_path);
return -1;
}
@@ -82,7 +82,7 @@ loadTrustStore (const char *dirPath, char ***outPaths, size_t *outSize)
if (!paths)
{
UA_LOG_ERROR (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "loadTrustStore: out of memory");
+ "load_trust_store: out of memory");
goto cleanup;
}
@@ -90,9 +90,9 @@ loadTrustStore (const char *dirPath, char ***outPaths, size_t *outSize)
while ((entry = readdir (dir)) != NULL)
{
const char *name = entry->d_name;
- size_t nameLen = strlen (name);
+ size_t name_len = strlen (name);
/* Skip entries that are not *.der files. 5 = strlen("x.der"). */
- if (nameLen < 5 || strcmp (name + nameLen - 4, ".der") != 0)
+ if (name_len < 5 || strcmp (name + name_len - 4, ".der") != 0)
continue;
if (count == capacity)
@@ -102,23 +102,23 @@ loadTrustStore (const char *dirPath, char ***outPaths, size_t *outSize)
if (!tmp)
{
UA_LOG_ERROR (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "loadTrustStore: out of memory");
+ "load_trust_store: out of memory");
goto cleanup;
}
paths = tmp;
}
- /* Build full path: dirPath/name */
- size_t dirLen = strlen (dirPath);
- size_t fullLen = dirLen + 1 + nameLen + 1;
- char *full = malloc (fullLen);
+ /* Build full path: dir_path/name */
+ size_t dir_len = strlen (dir_path);
+ size_t full_len = dir_len + 1 + name_len + 1;
+ char *full = malloc (full_len);
if (!full)
{
UA_LOG_ERROR (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "loadTrustStore: out of memory");
+ "load_trust_store: out of memory");
goto cleanup;
}
- snprintf (full, fullLen, "%s/%s", dirPath, name);
+ snprintf (full, full_len, "%s/%s", dir_path, name);
paths[count++] = full;
}
@@ -126,8 +126,8 @@ loadTrustStore (const char *dirPath, char ***outPaths, size_t *outSize)
rc = 0;
if (count > 0)
{
- *outPaths = paths;
- *outSize = count;
+ *out_paths = paths;
+ *out_size = count;
paths = NULL;
count = 0;
}
@@ -141,7 +141,7 @@ cleanup:
}
void
-freeTrustStore (char **paths, size_t size)
+free_trust_store (char **paths, size_t size)
{
for (size_t i = 0; i < size; i++)
free (paths[i]);
@@ -153,7 +153,7 @@ freeTrustStore (char **paths, size_t size)
* ======================================================================== */
int
-parseLogLevel (const char *name)
+parse_log_level (const char *name)
{
static const struct
{
@@ -173,31 +173,31 @@ parseLogLevel (const char *name)
}
int
-parseAuthConfig (const Config *cfg, const char *program, AuthConfig *auth)
+parse_auth_config (const config *cfg, const char *program, auth_config *auth)
{
- const char *authMode = configRequire (cfg, "authMode", program);
- if (!authMode)
+ const char *auth_mode_str = config_require (cfg, "authMode", program);
+ if (!auth_mode_str)
return -1;
memset (auth, 0, sizeof (*auth));
- if (strcmp (authMode, "anonymous") == 0)
+ if (strcmp (auth_mode_str, "anonymous") == 0)
{
auth->mode = AUTH_ANONYMOUS;
return 0;
}
- if (strcmp (authMode, "user") == 0)
+ if (strcmp (auth_mode_str, "user") == 0)
{
auth->mode = AUTH_USER;
- auth->user.username = configRequire (cfg, "username", program);
- auth->user.password = configRequire (cfg, "password", program);
+ auth->user.username = config_require (cfg, "username", program);
+ auth->user.password = config_require (cfg, "password", program);
if (!auth->user.username || !auth->user.password)
return -1;
return 0;
}
- if (strcmp (authMode, "cert") == 0)
+ if (strcmp (auth_mode_str, "cert") == 0)
{
auth->mode = AUTH_CERT;
return 0;
@@ -206,26 +206,26 @@ parseAuthConfig (const Config *cfg, const char *program, AuthConfig *auth)
UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
"%s: unknown auth mode '%s' "
"(expected 'anonymous', 'user', or 'cert')",
- program, authMode);
+ program, auth_mode_str);
return -1;
}
int
-parseSecurityConfig (const Config *cfg, const char *program,
- UA_Boolean needsModePolicy, SecurityConfig *sec)
+parse_security_config (const config *cfg, const char *program,
+ UA_Boolean needs_mode_policy, security_config *sec)
{
memset (sec, 0, sizeof (*sec));
- const char *certPath = configGet (cfg, "certificate");
- const char *keyPath = configGet (cfg, "privateKey");
- const char *trustStore = configGet (cfg, "trustStore");
+ const char *cert_path = config_get (cfg, "certificate");
+ const char *key_path = config_get (cfg, "privateKey");
+ const char *trust_store = config_get (cfg, "trustStore");
UA_Boolean secure
- = (certPath != NULL || keyPath != NULL || trustStore != NULL);
+ = (cert_path != NULL || key_path != NULL || trust_store != NULL);
if (!secure)
return 0;
- if (!certPath || !keyPath || !trustStore)
+ if (!cert_path || !key_path || !trust_store)
{
UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
"%s: incomplete security config: certificate, privateKey, "
@@ -234,41 +234,44 @@ parseSecurityConfig (const Config *cfg, const char *program,
return -1;
}
- sec->certPath = certPath;
- sec->keyPath = keyPath;
+ sec->cert_path = cert_path;
+ sec->key_path = key_path;
- if (needsModePolicy)
+ if (needs_mode_policy)
{
- const char *secModeStr = configRequire (cfg, "securityMode", program);
- const char *secPolStr = configRequire (cfg, "securityPolicy", program);
- if (!secModeStr || !secPolStr)
+ const char *sec_mode_str = config_require (cfg, "securityMode", program);
+ const char *sec_pol_str
+ = config_require (cfg, "securityPolicy", program);
+ if (!sec_mode_str || !sec_pol_str)
return -1;
- sec->securityMode = parseSecurityMode (secModeStr);
- if (sec->securityMode == UA_MESSAGESECURITYMODE_INVALID)
+ sec->security_mode = parse_security_mode (sec_mode_str);
+ if (sec->security_mode == UA_MESSAGESECURITYMODE_INVALID)
{
UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "%s: unknown security mode: %s", program, secModeStr);
+ "%s: unknown security mode: %s", program,
+ sec_mode_str);
return -1;
}
- sec->securityPolicyUri = resolveSecurityPolicyUri (secPolStr);
- if (!sec->securityPolicyUri)
+ sec->security_policy_uri = resolve_security_policy_uri (sec_pol_str);
+ if (!sec->security_policy_uri)
{
UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND,
- "%s: unknown security policy: %s", program, secPolStr);
+ "%s: unknown security policy: %s", program,
+ sec_pol_str);
return -1;
}
}
- if (loadTrustStore (trustStore, &sec->trustPaths, &sec->trustSize) != 0)
+ if (load_trust_store (trust_store, &sec->trust_paths, &sec->trust_size) != 0)
return -1;
return 0;
}
UA_MessageSecurityMode
-parseSecurityMode (const char *name)
+parse_security_mode (const char *name)
{
if (strcmp (name, "None") == 0)
return UA_MESSAGESECURITYMODE_NONE;
@@ -280,7 +283,7 @@ parseSecurityMode (const char *name)
}
const char *
-resolveSecurityPolicyUri (const char *shortName)
+resolve_security_policy_uri (const char *short_name)
{
static const struct
{
@@ -299,7 +302,7 @@ resolveSecurityPolicyUri (const char *shortName)
};
for (size_t i = 0; i < sizeof (policies) / sizeof (policies[0]); i++)
{
- if (strcmp (shortName, policies[i].name) == 0)
+ if (strcmp (short_name, policies[i].name) == 0)
return policies[i].uri;
}
return NULL;
@@ -310,21 +313,21 @@ resolveSecurityPolicyUri (const char *shortName)
* ======================================================================== */
UA_StatusCode
-configureAccessControl (UA_ServerConfig *config, const AuthConfig *auth)
+configure_access_control (UA_ServerConfig *srv_config, const auth_config *auth)
{
switch (auth->mode)
{
case AUTH_ANONYMOUS:
- return UA_AccessControl_default (config, true, NULL, 0, NULL);
+ return UA_AccessControl_default (srv_config, true, NULL, 0, NULL);
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);
- return UA_AccessControl_default (config, false, NULL, 1, logins);
+ return UA_AccessControl_default (srv_config, false, NULL, 1, logins);
}
case AUTH_CERT:
- return UA_AccessControl_default (config, false, NULL, 0, NULL);
+ return UA_AccessControl_default (srv_config, false, NULL, 0, NULL);
}
return UA_STATUSCODE_BADINTERNALERROR;
}
@@ -334,8 +337,8 @@ configureAccessControl (UA_ServerConfig *config, const AuthConfig *auth)
* ======================================================================== */
void
-printApplicationDescription (const UA_ApplicationDescription *description,
- size_t index)
+print_application_description (const UA_ApplicationDescription *description,
+ size_t index)
{
const char *type = "Unknown";
switch (description->applicationType)
@@ -380,7 +383,7 @@ printApplicationDescription (const UA_ApplicationDescription *description,
}
void
-printEndpoint (const UA_EndpointDescription *endpoint, size_t index)
+print_endpoint (const UA_EndpointDescription *endpoint, size_t index)
{
const char *mode = "Unknown";
switch (endpoint->securityMode)
@@ -400,13 +403,13 @@ printEndpoint (const UA_EndpointDescription *endpoint, size_t index)
/* Extract policy name after the '#' */
const char *policy = (const char *)endpoint->securityPolicyUri.data;
- size_t policyLen = endpoint->securityPolicyUri.length;
+ size_t policy_len = endpoint->securityPolicyUri.length;
for (size_t k = 0; k < endpoint->securityPolicyUri.length; k++)
{
if (endpoint->securityPolicyUri.data[k] == '#')
{
policy = (const char *)&endpoint->securityPolicyUri.data[k + 1];
- policyLen = endpoint->securityPolicyUri.length - k - 1;
+ policy_len = endpoint->securityPolicyUri.length - k - 1;
break;
}
}
@@ -415,7 +418,7 @@ printEndpoint (const UA_EndpointDescription *endpoint, size_t index)
" [%4lu] %.*s | Level: %3d | %-14s | %.*s",
(unsigned long)index, (int)endpoint->endpointUrl.length,
endpoint->endpointUrl.data, endpoint->securityLevel, mode,
- (int)policyLen, policy);
+ (int)policy_len, policy);
}
/* ========================================================================
@@ -423,26 +426,26 @@ printEndpoint (const UA_EndpointDescription *endpoint, size_t index)
* ======================================================================== */
UA_Server *
-createServer (UA_UInt16 port, const char *applicationUri,
- const SecurityConfig *sec, UA_Boolean discovery,
- UA_StatusCode *retval)
+create_server (UA_UInt16 port, const char *application_uri,
+ const security_config *sec, UA_Boolean discovery,
+ UA_StatusCode *retval)
{
UA_Server *server = UA_Server_new ();
- UA_ServerConfig *config = UA_Server_getConfig (server);
+ UA_ServerConfig *srv_config = UA_Server_getConfig (server);
- if (sec && sec->certPath)
+ if (sec && sec->cert_path)
{
- UA_ByteString certificate = loadFile (sec->certPath);
- UA_ByteString privateKey = loadFile (sec->keyPath);
+ UA_ByteString certificate = load_file (sec->cert_path);
+ UA_ByteString private_key = load_file (sec->key_path);
/* +1: UA_STACKARRAY requires a strictly positive size for VLA. */
- UA_STACKARRAY (UA_ByteString, trustList, sec->trustSize + 1);
- for (size_t i = 0; i < sec->trustSize; i++)
- trustList[i] = loadFile (sec->trustPaths[i]);
+ UA_STACKARRAY (UA_ByteString, trust_list, sec->trust_size + 1);
+ for (size_t i = 0; i < sec->trust_size; i++)
+ trust_list[i] = load_file (sec->trust_paths[i]);
*retval = UA_ServerConfig_setDefaultWithSecureSecurityPolicies (
- config, port, &certificate, &privateKey, trustList, sec->trustSize,
- NULL, 0, NULL, 0);
+ srv_config, port, &certificate, &private_key, trust_list,
+ sec->trust_size, NULL, 0, NULL, 0);
/* When discovery is true (LDS) add SecurityPolicy#None
restricted to discovery services so that unencrypted clients
@@ -454,20 +457,20 @@ createServer (UA_UInt16 port, const char *applicationUri,
None security policy, no None endpoint. */
if (*retval == UA_STATUSCODE_GOOD && discovery)
{
- UA_ServerConfig_addSecurityPolicyNone (config, &certificate);
- UA_ServerConfig_addEndpoint (config, UA_SECURITY_POLICY_NONE_URI,
+ UA_ServerConfig_addSecurityPolicyNone (srv_config, &certificate);
+ UA_ServerConfig_addEndpoint (srv_config, UA_SECURITY_POLICY_NONE_URI,
UA_MESSAGESECURITYMODE_NONE);
- config->securityPolicyNoneDiscoveryOnly = true;
+ srv_config->securityPolicyNoneDiscoveryOnly = true;
}
UA_ByteString_clear (&certificate);
- UA_ByteString_clear (&privateKey);
- for (size_t i = 0; i < sec->trustSize; i++)
- UA_ByteString_clear (&trustList[i]);
+ UA_ByteString_clear (&private_key);
+ for (size_t i = 0; i < sec->trust_size; i++)
+ UA_ByteString_clear (&trust_list[i]);
}
else
{
- *retval = UA_ServerConfig_setMinimal (config, port, NULL);
+ *retval = UA_ServerConfig_setMinimal (srv_config, port, NULL);
}
if (*retval != UA_STATUSCODE_GOOD)
@@ -476,16 +479,17 @@ createServer (UA_UInt16 port, const char *applicationUri,
return NULL;
}
- UA_String_clear (&config->applicationDescription.applicationUri);
- config->applicationDescription.applicationUri
- = UA_String_fromChars (applicationUri);
+ UA_String_clear (&srv_config->applicationDescription.applicationUri);
+ srv_config->applicationDescription.applicationUri
+ = UA_String_fromChars (application_uri);
return server;
}
UA_StatusCode
-createUnsecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
- const AuthConfig *auth)
+create_unsecure_client_config (UA_ClientConfig *cc,
+ const char *application_uri,
+ const auth_config *auth)
{
if (auth && auth->mode == AUTH_CERT)
{
@@ -499,7 +503,7 @@ createUnsecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
return retval;
UA_String_clear (&cc->clientDescription.applicationUri);
- cc->clientDescription.applicationUri = UA_String_fromChars (applicationUri);
+ cc->clientDescription.applicationUri = UA_String_fromChars (application_uri);
cc->securityMode = UA_MESSAGESECURITYMODE_NONE;
UA_String_clear (&cc->securityPolicyUri);
@@ -514,19 +518,20 @@ createUnsecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
}
UA_StatusCode
-createSecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
- const SecurityConfig *sec, const AuthConfig *auth)
+create_secure_client_config (UA_ClientConfig *cc, const char *application_uri,
+ const security_config *sec,
+ const auth_config *auth)
{
- UA_ByteString certificate = loadFile (sec->certPath);
- UA_ByteString privateKey = loadFile (sec->keyPath);
+ UA_ByteString certificate = load_file (sec->cert_path);
+ UA_ByteString private_key = load_file (sec->key_path);
/* +1: UA_STACKARRAY requires a strictly positive size for VLA. */
- UA_STACKARRAY (UA_ByteString, trustList, sec->trustSize + 1);
- for (size_t i = 0; i < sec->trustSize; i++)
- trustList[i] = loadFile (sec->trustPaths[i]);
+ UA_STACKARRAY (UA_ByteString, trust_list, sec->trust_size + 1);
+ for (size_t i = 0; i < sec->trust_size; i++)
+ trust_list[i] = load_file (sec->trust_paths[i]);
UA_StatusCode retval = UA_ClientConfig_setDefaultEncryption (
- cc, certificate, privateKey, trustList, sec->trustSize, NULL, 0);
+ cc, certificate, private_key, trust_list, sec->trust_size, NULL, 0);
/* X509 identity token: reuse the application certificate. open62541
requires that the identity cert matches the SecureChannel cert, so
@@ -534,12 +539,12 @@ createSecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
buffers since setAuthenticationCert makes its own copy. */
if (retval == UA_STATUSCODE_GOOD && auth && auth->mode == AUTH_CERT)
retval
- = UA_ClientConfig_setAuthenticationCert (cc, certificate, privateKey);
+ = UA_ClientConfig_setAuthenticationCert (cc, certificate, private_key);
UA_ByteString_clear (&certificate);
- UA_ByteString_clear (&privateKey);
- for (size_t i = 0; i < sec->trustSize; i++)
- UA_ByteString_clear (&trustList[i]);
+ UA_ByteString_clear (&private_key);
+ for (size_t i = 0; i < sec->trust_size; i++)
+ UA_ByteString_clear (&trust_list[i]);
if (retval != UA_STATUSCODE_GOOD)
{
@@ -550,10 +555,10 @@ createSecureClientConfig (UA_ClientConfig *cc, const char *applicationUri,
}
UA_String_clear (&cc->clientDescription.applicationUri);
- cc->clientDescription.applicationUri = UA_String_fromChars (applicationUri);
+ cc->clientDescription.applicationUri = UA_String_fromChars (application_uri);
- cc->securityMode = sec->securityMode;
- cc->securityPolicyUri = UA_String_fromChars (sec->securityPolicyUri);
+ cc->securityMode = sec->security_mode;
+ cc->securityPolicyUri = UA_String_fromChars (sec->security_policy_uri);
if (auth && auth->mode == AUTH_USER)
UA_ClientConfig_setAuthenticationUsername (cc, auth->user.username,