aboutsummaryrefslogtreecommitdiffstats
path: root/tests/none_anon
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 /tests/none_anon
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 'tests/none_anon')
-rw-r--r--tests/none_anon/client.conf9
-rw-r--r--tests/none_anon/client_find_servers.conf20
-rw-r--r--tests/none_anon/server_lds.conf3
-rw-r--r--tests/none_anon/server_register.conf19
-rw-r--r--tests/none_anon/server_register_client.conf12
5 files changed, 27 insertions, 36 deletions
diff --git a/tests/none_anon/client.conf b/tests/none_anon/client.conf
new file mode 100644
index 0000000..32eea7c
--- /dev/null
+++ b/tests/none_anon/client.conf
@@ -0,0 +1,9 @@
+# Client — test: none_anon
+
+applicationUri = urn:bobink.ClientFindServers
+certificate = certs/ClientFindServers_cert.der
+privateKey = certs/ClientFindServers_key.der
+securityMode = None
+securityPolicy = None
+authMode = anonymous
+trustStore = certs/trust/client
diff --git a/tests/none_anon/client_find_servers.conf b/tests/none_anon/client_find_servers.conf
deleted file mode 100644
index 6ea7d2d..0000000
--- a/tests/none_anon/client_find_servers.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-# ClientFindServers — test: none_anon
-
-discoveryEndpoint = opc.tcp://localhost:14840
-applicationUri = urn:bobink.ClientFindServers
-
-# Discovery (LDS) side
-discoveryCertificate = certs/ClientFindServers_cert.der
-discoveryPrivateKey = certs/ClientFindServers_key.der
-discoverySecurityMode = None
-discoverySecurityPolicy = None
-discoveryAuthMode = anonymous
-discoveryTrustList = certs/ServerLDS_cert.der
-
-# Server side
-serverCertificate = certs/ClientFindServers_cert.der
-serverPrivateKey = certs/ClientFindServers_key.der
-serverSecurityMode = None
-serverSecurityPolicy = None
-serverAuthMode = anonymous
-serverTrustList = certs/ServerRegister_cert.der
diff --git a/tests/none_anon/server_lds.conf b/tests/none_anon/server_lds.conf
index 705b51f..cf1ae45 100644
--- a/tests/none_anon/server_lds.conf
+++ b/tests/none_anon/server_lds.conf
@@ -8,5 +8,4 @@ cleanupTimeout = 60
authMode = anonymous
-trustList = certs/ServerRegisterClient_cert.der
-trustList = certs/ClientFindServers_cert.der
+trustStore = certs/trust/server_lds
diff --git a/tests/none_anon/server_register.conf b/tests/none_anon/server_register.conf
index 349b6c7..e89fd59 100644
--- a/tests/none_anon/server_register.conf
+++ b/tests/none_anon/server_register.conf
@@ -1,21 +1,12 @@
-# ServerRegister — test: none_anon
+# ServerRegister server config — test: none_anon
port = 14841
applicationUri = urn:bobink.ServerRegister
-serverCertificate = certs/ServerRegister_cert.der
-serverPrivateKey = certs/ServerRegister_key.der
-clientCertificate = certs/ServerRegisterClient_cert.der
-clientPrivateKey = certs/ServerRegisterClient_key.der
+certificate = certs/ServerRegister_cert.der
+privateKey = certs/ServerRegister_key.der
-discoveryEndpoint = opc.tcp://localhost:14840
registerInterval = 10
-securityMode = None
-securityPolicy = None
+authMode = anonymous
-serverAuthMode = anonymous
-
-clientAuthMode = anonymous
-
-trustList = certs/ServerLDS_cert.der
-trustList = certs/ClientFindServers_cert.der
+trustStore = certs/trust/server_register
diff --git a/tests/none_anon/server_register_client.conf b/tests/none_anon/server_register_client.conf
new file mode 100644
index 0000000..83bf961
--- /dev/null
+++ b/tests/none_anon/server_register_client.conf
@@ -0,0 +1,12 @@
+# ServerRegister client config — test: none_anon
+
+applicationUri = urn:bobink.ServerRegister
+certificate = certs/ServerRegisterClient_cert.der
+privateKey = certs/ServerRegisterClient_key.der
+
+securityMode = None
+securityPolicy = None
+
+authMode = anonymous
+
+trustStore = certs/trust/server_register_client