<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BobinkCOpcUa/tests/basic256sha256_anon/server_lds.conf, branch master</title>
<subtitle>OPC UA applications in C</subtitle>
<id>http://git.tvcloud.fr/BobinkCOpcUa/atom/tests/basic256sha256_anon/server_lds.conf?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/BobinkCOpcUa/atom/tests/basic256sha256_anon/server_lds.conf?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/'/>
<updated>2026-02-18T14:39:29Z</updated>
<entry>
<title>Make client/server encryption optional, rename tests to full names</title>
<updated>2026-02-18T14:39:29Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-18T14:39:29Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/commit/?id=99b5b4416193fafaa815746ea756900d2ab26917'/>
<id>urn:sha1:99b5b4416193fafaa815746ea756900d2ab26917</id>
<content type='text'>
Make encryption optional for both ServerRegister's LDS client
connection and the server side of ServerLDS/ServerRegister: when
certificate, privateKey, and trustStore are omitted the programs
run with SecurityPolicy#None only.  Secure servers also add a
discovery-only None endpoint so unencrypted clients can still call
FindServers and GetEndpoints.

Consolidate tests from 5 policy-specific cases (nosec_anon,
none_user, basic256sha256_anon, aes256_anon, aes128_user) down to
3 that cover the important axes: unsecure_anonymous,
secure_anonymous, secure_user.  Rename directories to use full
names.  Auto-generate certificates and trust stores in run_test.sh.

Update readme and CLAUDE.md to reflect the current program
interface (unified Client binary, split ServerRegister configs)
and the new test names.
</content>
</entry>
<entry>
<title>Standardize config file section ordering, list operations in usage</title>
<updated>2026-02-18T09:16:45Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-18T09:16:45Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/commit/?id=5726a0d84460a4b67a254c4dcfaa40bf9cc12e45'/>
<id>urn:sha1:5726a0d84460a4b67a254c4dcfaa40bf9cc12e45</id>
<content type='text'>
Group config keys into sections separated by blank lines: identity,
encryption (certificate/privateKey/trustStore), security mode, auth.
Program-specific keys (cleanupTimeout, registerInterval) go last.
Show available operations in Client usage message.
</content>
</entry>
<entry>
<title>Update certificate generation: keep intermediate files, fix URI format</title>
<updated>2026-02-17T21:44:44Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-17T21:30:28Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/commit/?id=229a536a87f6b2075000e659219e0567b45345c5'/>
<id>urn:sha1:229a536a87f6b2075000e659219e0567b45345c5</id>
<content type='text'>
Stop deleting intermediate PEM and CNF files so they can be reused.
Change default application URI from urn:bobink.&lt;name&gt; to
urn:localhost:bobink:&lt;name&gt; to follow proper URN syntax (Qt OPC UA
rejects the dotted format). Update all config files and test configs
to use the new URI format.
</content>
</entry>
<entry>
<title>Replace ClientFindServers with unified Client, use trust store directories</title>
<updated>2026-02-17T18:06:22Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-17T18:06:22Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/commit/?id=827e90e0daabe32e058e08dd2a253425898a7e7a'/>
<id>urn:sha1:827e90e0daabe32e058e08dd2a253425898a7e7a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Replace CLI arguments with config-file parser and add integration tests</title>
<updated>2026-02-17T10:07:37Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-17T10:07:37Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/BobinkCOpcUa/commit/?id=a54421dd976fd8081e96c11c2621076876c9986b'/>
<id>urn:sha1:a54421dd976fd8081e96c11c2621076876c9986b</id>
<content type='text'>
Introduce a reusable key=value config parser (config.h/c) and convert
all three programs to read their settings from config files instead of
positional command-line arguments.  Add example config files in config/
and 6 CTest integration tests covering None/Basic256Sha256/Aes128 with
anonymous and user authentication.  Remove the now-obsolete launch.sh.
</content>
</entry>
</feed>
