aboutsummaryrefslogtreecommitdiffstats
path: root/src/config.h
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-17 19:06:22 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-17 19:06:22 +0100
commit827e90e0daabe32e058e08dd2a253425898a7e7a (patch)
treeecd3f31da63890ac029b7929eade88f38e078b3d /src/config.h
parente4ba24b3d24fdce36bc9dbd3c2c8f00b0ec23335 (diff)
downloadBobinkCOpcUa-827e90e0daabe32e058e08dd2a253425898a7e7a.tar.gz
BobinkCOpcUa-827e90e0daabe32e058e08dd2a253425898a7e7a.zip
Replace ClientFindServers with unified Client, use trust store directories
Replace the single-purpose ClientFindServers program with a unified Client that supports three operations via CLI: find-servers, get-endpoints, and read-time. This simplifies the architecture by using one client binary with a single config file instead of a monolithic program that did everything in one run. Split the ServerRegister config into separate server and client config files so the LDS-registration credentials are isolated from the server's own settings. The discovery URL moves from config to a CLI argument. Replace repeated trustList config entries with a single trustStore directory path. Each program now points to a directory under certs/trust/ containing .der files, so adding or removing trust is a file-copy operation rather than editing every config file. Add loadTrustStore()/freeTrustStore() to common.c and remove the now-unused configGetAll() from the config parser. Simplify the test matrix from 6 to 4 cases (security and auth are orthogonal, so the full 3x2 matrix is unnecessary). Update run_test.sh to invoke the new Client three times and use port-polling instead of sleep.
Diffstat (limited to 'src/config.h')
-rw-r--r--src/config.h21
1 files changed, 1 insertions, 20 deletions
diff --git a/src/config.h b/src/config.h
index 649278d..2c5e364 100644
--- a/src/config.h
+++ b/src/config.h
@@ -7,8 +7,6 @@
*
* Parses configuration files with one key=value pair per line.
* Lines starting with '#' are comments. Blank lines are ignored.
- * Repeated keys are allowed (used for list-valued settings like
- * trustList).
*/
#include <stddef.h>
@@ -28,8 +26,7 @@ typedef struct
/**
* @brief A parsed configuration file.
*
- * Holds a dynamic array of ConfigEntry items. Duplicate keys are
- * allowed (used for list-valued settings like trustList).
+ * Holds a dynamic array of ConfigEntry items.
*/
typedef struct
{
@@ -92,22 +89,6 @@ const char *configRequire (const Config *cfg, const char *key,
int configRequireInt (const Config *cfg, const char *key, const char *program);
/**
- * @brief Collects all values for a repeated key.
- *
- * Allocates an array of char* pointers to the values stored
- * in @p cfg. The caller must free the array itself (but not
- * the strings, which are owned by cfg).
- *
- * @param cfg The parsed configuration.
- * @param key The key to collect (e.g. "trustList").
- * @param out Output: heap-allocated array of string pointers.
- * Set to NULL if the key is not present.
- * @param size Output: number of entries in @p out.
- */
-void configGetAll (const Config *cfg, const char *key, char ***out,
- size_t *size);
-
-/**
* @brief Frees all memory owned by a Config structure.
*
* After this call the Config is zeroed and must not be used