Branch: refs/heads/stable1-proposed Home: https://github.com/kronosnet/kronosnet Commit: 3a3458d9ad0e6b570bb772ecb043e6e9ef1251d1 https://github.com/kronosnet/kronosnet/commit/3a3458d9ad0e6b570bb772ecb043e6... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/api_knet_handle_add_datafd.c M libknet/tests/api_knet_handle_clear_stats.c M libknet/tests/api_knet_handle_compress.c M libknet/tests/api_knet_handle_crypto.c M libknet/tests/api_knet_handle_crypto_rx_clear_traffic.c M libknet/tests/api_knet_handle_crypto_set_config.c M libknet/tests/api_knet_handle_crypto_use_config.c M libknet/tests/api_knet_handle_enable_access_lists.c M libknet/tests/api_knet_handle_enable_filter.c M libknet/tests/api_knet_handle_enable_pmtud_notify.c M libknet/tests/api_knet_handle_enable_sock_notify.c M libknet/tests/api_knet_handle_free.c M libknet/tests/api_knet_handle_get_channel.c M libknet/tests/api_knet_handle_get_datafd.c M libknet/tests/api_knet_handle_get_stats.c M libknet/tests/api_knet_handle_get_transport_reconnect_interval.c M libknet/tests/api_knet_handle_pmtud_get.c M libknet/tests/api_knet_handle_pmtud_getfreq.c M libknet/tests/api_knet_handle_pmtud_set.c M libknet/tests/api_knet_handle_pmtud_setfreq.c M libknet/tests/api_knet_handle_remove_datafd.c M libknet/tests/api_knet_handle_set_transport_reconnect_interval.c M libknet/tests/api_knet_handle_setfwd.c M libknet/tests/api_knet_handle_setprio_dscp.c M libknet/tests/api_knet_host_add.c M libknet/tests/api_knet_host_enable_status_change_notify.c M libknet/tests/api_knet_host_get_host_list.c M libknet/tests/api_knet_host_get_id_by_host_name.c M libknet/tests/api_knet_host_get_name_by_host_id.c M libknet/tests/api_knet_host_get_policy.c M libknet/tests/api_knet_host_get_status.c M libknet/tests/api_knet_host_remove.c M libknet/tests/api_knet_host_set_name.c M libknet/tests/api_knet_host_set_policy.c M libknet/tests/api_knet_link_add_acl.c M libknet/tests/api_knet_link_clear_acl.c M libknet/tests/api_knet_link_clear_config.c M libknet/tests/api_knet_link_get_config.c M libknet/tests/api_knet_link_get_enable.c M libknet/tests/api_knet_link_get_link_list.c M libknet/tests/api_knet_link_get_ping_timers.c M libknet/tests/api_knet_link_get_pong_count.c M libknet/tests/api_knet_link_get_priority.c M libknet/tests/api_knet_link_get_status.c M libknet/tests/api_knet_link_insert_acl.c M libknet/tests/api_knet_link_rm_acl.c M libknet/tests/api_knet_link_set_config.c M libknet/tests/api_knet_link_set_enable.c M libknet/tests/api_knet_link_set_ping_timers.c M libknet/tests/api_knet_link_set_pong_count.c M libknet/tests/api_knet_link_set_priority.c M libknet/tests/api_knet_log_get_loglevel.c M libknet/tests/api_knet_log_set_loglevel.c M libknet/tests/api_knet_recv.c M libknet/tests/api_knet_send.c M libknet/tests/api_knet_send_compress.c M libknet/tests/api_knet_send_crypto.c M libknet/tests/api_knet_send_loopback.c M libknet/tests/api_knet_send_sync.c M libknet/tests/fun_acl_check.c M libknet/tests/fun_config_crypto.c M libknet/tests/fun_pmtud_crypto.c M libknet/tests/test-common.c M libknet/tests/test-common.h
Log Message: ----------- tests: improve error handling and use named constants
Add FAIL_ON_SUCCESS macro for consistent API error checking. Consolidate timeout handling with adjust_timeout_for_valgrind(). Replace magic numbers with TEST_TIMEOUT_* and TEST_PORT_* constants.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 86dfe50776c1ea81e0836f60c1c91f9c6330cf3e https://github.com/kronosnet/kronosnet/commit/86dfe50776c1ea81e0836f60c1c91f... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/api_knet_addrtostr.c M libknet/tests/api_knet_get_compress_list.c M libknet/tests/api_knet_get_crypto_list.c M libknet/tests/api_knet_get_transport_list.c M libknet/tests/api_knet_strtoaddr.c M libknet/tests/test-common.h
Log Message: ----------- tests: add NOCLEAN macro variants for tests without knet handles
Add FAIL_ON_ERR_NOCLEAN and FAIL_ON_SUCCESS_NOCLEAN macros for tests that don't create knet handles and don't need cleanup infrastructure.
Convert 5 API tests to use new macros (11 error checks total): - api_knet_addrtostr.c (4 checks) - api_knet_strtoaddr.c (4 checks) - api_knet_get_compress_list.c (1 check) - api_knet_get_crypto_list.c (1 check) - api_knet_get_transport_list.c (1 check)
Reduces test code by 37 lines and improves consistency with other tests.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: d92120bae04afe650ab38037ea24d8e74bbcb0a0 https://github.com/kronosnet/kronosnet/commit/d92120bae04afe650ab38037ea24d8... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/Makefile.am M libknet/crypto.c M libknet/crypto_nss.c M libknet/libknet.h M libknet/libknet_exported_syms M libknet/tests/api-check.mk A libknet/tests/api_knet_get_crypto_cipher_list.c A libknet/tests/api_knet_get_crypto_hash_list.c M man/Makefile.am
Log Message: ----------- Add API to enumerate supported cipher modes and hash algorithms
Implements issue #478 by introducing two new API functions: - knet_get_crypto_cipher_list(): Returns AES cipher modes (CBC/CTR) supported across all crypto backends - knet_get_crypto_hash_list(): Returns hash algorithms supported across all crypto backends
Both functions return the intersection of capabilities across OpenSSL, NSS, and libgcrypt backends. Applications can reliably use any returned cipher/hash combination regardless of which crypto module is loaded.
The cipher list includes both OpenSSL-style hyphenated names (aes-128-cbc) and NSS/libgcrypt non-hyphenated names (aes128) as separate entries.
New structures: - knet_crypto_cipher_info: const char *name, const char *mode, int key_bits - knet_crypto_hash_info: const char *name, int hash_bits
Updated NSS parser to accept hyphenated CBC cipher names (aes-128-cbc, aes-192-cbc, aes-256-cbc) in addition to non-hyphenated variants.
Includes comprehensive tests verifying all returned ciphers and hashes work with all three crypto backends.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: c3376126f84ac181be7a7b762e44870b1533b86f https://github.com/kronosnet/kronosnet/commit/c3376126f84ac181be7a7b762e4487... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/api_knet_get_crypto_cipher_list.c M libknet/tests/api_knet_get_crypto_hash_list.c M libknet/tests/api_knet_handle_clear_stats.c M libknet/tests/api_knet_handle_pmtud_set.c M libknet/tests/api_knet_recv.c M libknet/tests/api_knet_send.c M libknet/tests/api_knet_send_compress.c M libknet/tests/api_knet_send_crypto.c M libknet/tests/api_knet_send_loopback.c M libknet/tests/api_knet_send_sync.c M libknet/tests/fun_acl_check.c M libknet/tests/fun_config_crypto.c M libknet/tests/fun_pmtud_crypto.c M libknet/tests/test-common.c M libknet/tests/test-common.h
Log Message: ----------- tests: cleanup and add comprehensive documentation
Remove flush_logs(), dead code, and unused FILE parameters. Add detailed documentation to test-common.h for all macros and helpers. Port crypto enumeration API tests to new infrastructure.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 23b4f48e8f560ed37abcd3d3cf44ab4b7796a5e2 https://github.com/kronosnet/kronosnet/commit/23b4f48e8f560ed37abcd3d3cf44ab... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/test-common.c M libknet/tests/test-common.h
Log Message: ----------- tests: export find_plugins_path() for rust bindings
The find_plugins_path() function must be non-static because it is used by the rust test suite (libknet/bindings/rust/tests/src/bin/set_plugin_path.c).
Changes: - Remove static qualifier from find_plugins_path() in test-common.c - Add declaration to test-common.h with updated signature (int logfd) - Update rust test code to pass STDOUT_FILENO as logfd parameter
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 759eb79a782c80c3e155cd472dc8b7de64f86c79 https://github.com/kronosnet/kronosnet/commit/759eb79a782c80c3e155cd472dc8b7... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/test-common.c M libknet/tests/test-common.h
Log Message: ----------- [tests] Add runtime log filter callback infrastructure
Add thread-safe log filter callback mechanism for runtime pattern matching in test logs. The log thread invokes registered callbacks for each log line, allowing tests to detect specific messages without parsing log files.
Features: - install_log_filter() to register/unregister callbacks - check_log_pattern_found() to query if pattern was matched - Thread-safe via mutex protection - Callback receives logfd for use with log_test() facility
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 6d2fb417adf5a58ce64b6e106df31efff109454c https://github.com/kronosnet/kronosnet/commit/6d2fb417adf5a58ce64b6e106df31e... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/test-common.c M libknet/tests/test-common.h
Log Message: ----------- [tests] Add packet injection helper for RX validation testing
Add inject_packet() helper to construct and inject packets directly into link sockets for testing RX thread validation logic without requiring network-level packet manipulation.
Supports: - DATA packets with configurable fragmentation fields - PING packets with configurable link_id - Controlled sequence numbers to avoid deduplication - Tests can forge invalid packets to verify rejection logic
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 70002eb858664830c67eb543d98447f7275aa30a https://github.com/kronosnet/kronosnet/commit/70002eb858664830c67eb543d98447... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/api_knet_send_loopback.c
Log Message: ----------- [tests] Use FAIL_ON_* macros consistently in send tests
Replace manual if statement error checking with FAIL_ON_SUCCESS and FAIL_ON_ERR macros for consistency with the rest of the test suite.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 4b9bdf6a2868103047dcc06191232b67377adf45 https://github.com/kronosnet/kronosnet/commit/4b9bdf6a2868103047dcc06191232b... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/test-common.c
Log Message: ----------- [tests] Fix parallel port allocation race in _ts_knet_handle_join_nodes
The existing port allocation used predictable node ID-based calculations, causing EADDRINUSE errors when tests run in parallel and multiple nodes try to bind the same port simultaneously.
Implement two-phase port allocation: - Phase 1: Each node allocates ports by configuring links to a temporary peer, letting _ts_knet_link_set_config find available ports with proper EADDRINUSE retry logic - Phase 2: Reconfigure each link to its actual destination peer, reusing the src_addr already bound in Phase 1
Requires clearing the configured flag between phases (protected by global_rwlock) to allow reconfiguring to a different host_id while keeping the socket bound.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 269fb0a55290b4f00cf42a1b7f6c9f163c5ee8cf https://github.com/kronosnet/kronosnet/commit/269fb0a55290b4f00cf42a1b7f6c9f... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/knet_bench.c
Log Message: ----------- [tests] improve input validation in knet_bench test tool
Replace atoi() with safe_atoi() helper that uses strtol() for proper error detection. Improves developer experience with better error messages.
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 0432292e6a150a76eb796dd0cdfdee9e916d61a0 https://github.com/kronosnet/kronosnet/commit/0432292e6a150a76eb796dd0cdfdee... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths: M libknet/tests/Makefile.am A libknet/tests/int_decompress_bufsize.c M libknet/tests/test-common.c M libknet/tests/test-common.h M libknet/threads_rx.c
Log Message: ----------- libknet: add decompression buffer size validation
Add validation to reject packets where decompressed size exceeds KNET_DATABUFSIZE, preventing buffer overflows in decompression.
Add int_decompress_bufsize test that verifies packets with oversized decompressed payloads are properly rejected with appropriate logging.
Backport notes: - Adapted for onwire protocol v0 (removed onwire_v1.h include) - Updated knet_handle_add_datafd call to 3-parameter stable1 API - Added zlib_LIBS to test LDADD for direct zlib function calls - Updated inject_packet to use KNET_HEADER_VERSION constant
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Compare: https://github.com/kronosnet/kronosnet/compare/129995bc9648...0432292e6a15
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications