Branch: refs/heads/add-crypto-enumeration-api Home: https://github.com/kronosnet/kronosnet Commit: 89aab75491482b7caa0c01f559aae1ac385db6a0 https://github.com/kronosnet/kronosnet/commit/89aab75491482b7caa0c01f559aae1... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths: 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: aa05e170b71ec5b9c7a0925a788ce95b83d62818 https://github.com/kronosnet/kronosnet/commit/aa05e170b71ec5b9c7a0925a788ce9... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths: M libknet/bindings/rust/src/knet_bindings.rs M libknet/bindings/rust/tests/src/bin/knet-test.rs
Log Message: ----------- libknet: add Rust bindings for crypto cipher and hash enumeration API
Add wrapper functions for knet_get_crypto_cipher_list() and knet_get_crypto_hash_list() to expose the new C API to Rust applications. Include tests in knet-test binary to verify the bindings work correctly.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: cf49f5874d33bdfef0d073d802a61c7cf1fc73d6 https://github.com/kronosnet/kronosnet/commit/cf49f5874d33bdfef0d073d802a61c... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths: M libknet/bindings/rust/src/knet_bindings.rs
Log Message: ----------- libknet: fix Rust bindings error handling to propagate errors properly
Change Info::new() methods to return Result<T> instead of converting errors to strings. Fix applies to CryptoInfo, CompressInfo, CryptoCipherInfo, CryptoHashInfo, and TransportInfo.
Signed-off-by: Fabio M. Di Nitto fabbione@fabbione.net Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Compare: https://github.com/kronosnet/kronosnet/compare/f8fc571152dc...cf49f5874d33
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications