Port keyless certificate validation into the GDS receiver driver instead
of restoring the removed server implementation. Preserve master's timer
batching, PubSub lifecycle and client HTTP configuration handling.
Adapt Publish cancellation to response tokens and the HEL/fuzz harnesses
to the explicit TCP driver. Keep SKS policy history and custom datatype
ownership intact, including failed replacement configuration cleanup.
Retain TPM error cleanup while enforcing key-handle and nonce lengths.
Validation:
- Full mbedTLS unit-test build with full namespace, GDS, SKS and Query.
- 21 affected suites passed with ASan/UBSan, plus 9 isolated SKS ownership
and lifecycle checks.
- OpenSSL certificate update, GDS information model and client encryption
suites passed with sanitizers.
- OPN, MSG and binary-message fuzzers each completed 100 sanitizer runs.
- Both TPM PubSub policy sources passed compilation checks.
The full SKS client suite timed out after multicast UDP sends reported
"No route to host" on this machine; its affected ownership and lifecycle
cases passed separately. No live TPM hardware validation was performed.
The binary-message harness passed its input on the callback that registers a listening connection. That callback only stores listener state, so the bytes never reached UACP message processing. Register the listener first, deliver the input on a separate active connection, and close both contexts during teardown.
Adds custom memory manager to keep track of allocated and freed memory.
Based on the fuzzer input the maximum available RAM is set and if the
limit is reached no new allocation is allowed.
With this approach we can test OOM and memory allocation failure paths
in the source code.
The testing NetworkLayer now writes the data it 'Sends' into a buffer,
so we can check the buffer in our unit tests.
The new test checks if the headers etc. are encoded correctly and
if the encryption functions are called for the correct data.