HTHou opened a new pull request, #2: URL: https://github.com/apache/iotdb-client-rust/pull/2
## Summary - replace the optional `native-tls` client transport with rustls 0.23 using the `ring` crypto provider - preserve the existing TLS configuration API, including platform roots, additional PEM CA roots, SNI/hostname override, unsafe certificate bypass, and PKCS#8 mutual TLS identities - keep `thrift = "0.23"`; TLS continues to wrap the TCP stream below Thrift's framed transport - replace the loopback test server with rustls and make the mutual-TLS test actually require and verify the client certificate - document trust-store and verification behavior in English and Chinese - add macOS/Windows TLS jobs and a Rust 1.75 MSRV job The explicit `uuid`, `zeroize`, and Apple `security-framework` compatibility constraints keep this lockfile-free library resolvable with the declared Rust 1.75 MSRV. Closes #1. ## User impact The existing `tls` feature and public configuration fields remain unchanged. TLS-enabled builds now use rustls for TLS 1.2/1.3. Platform trust is provided by `rustls-platform-verifier`, and `ca_cert_path` augments the platform roots. `accept_invalid_certs` skips certificate-chain and hostname verification, while TLS handshake signatures remain cryptographically verified. ## Validation - `./tools/check-license.sh` - `cargo fmt --all -- --check` - `cargo clippy --all-targets -- -D warnings` - `cargo clippy --all-targets --features tls -- -D warnings` - `cargo test` (113 unit tests + doc test) - `cargo test --features tls` (124 unit tests + doc test) - `cargo check --features tls` with Rust 1.75.0 - `cargo package --allow-dirty --no-verify` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
