Branch: refs/heads/add-crypto-enumeration-api
Home: https://github.com/kronosnet/kronosnet
Commit: 89aab75491482b7caa0c01f559aae1ac385db6a0
https://github.com/kronosnet/kronosnet/commit/89aab75491482b7caa0c01f559aae…
Author: Fabio M. Di Nitto <fdinitto(a)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(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Commit: aa05e170b71ec5b9c7a0925a788ce95b83d62818
https://github.com/kronosnet/kronosnet/commit/aa05e170b71ec5b9c7a0925a788ce…
Author: Fabio M. Di Nitto <fdinitto(a)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(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Commit: cf49f5874d33bdfef0d073d802a61c7cf1fc73d6
https://github.com/kronosnet/kronosnet/commit/cf49f5874d33bdfef0d073d802a61…
Author: Fabio M. Di Nitto <fdinitto(a)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(a)fabbione.net>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)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