diff --git a/ntex-tls/CHANGES.md b/ntex-tls/CHANGES.md index 3ab959af..62f2a14f 100644 --- a/ntex-tls/CHANGES.md +++ b/ntex-tls/CHANGES.md @@ -1,5 +1,9 @@ # Changes +## [0.3.3] - 2023-11-12 + +* Attempt to fix #190 + ## [0.3.2] - 2023-11-03 * Improve implementation diff --git a/ntex-tls/Cargo.toml b/ntex-tls/Cargo.toml index 4ada2587..f30821d5 100644 --- a/ntex-tls/Cargo.toml +++ b/ntex-tls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ntex-tls" -version = "0.3.2" +version = "0.3.3" authors = ["ntex contributors "] description = "An implementation of SSL streams for ntex backed by OpenSSL" keywords = ["network", "framework", "async", "futures"] @@ -25,9 +25,9 @@ openssl = ["tls_openssl"] rustls = ["tls_rust"] [dependencies] -ntex-bytes = "0.1.19" -ntex-io = "0.3.5" -ntex-util = "0.3.3" +ntex-bytes = "0.1.21" +ntex-io = "0.3.7" +ntex-util = "0.3.4" ntex-service = "1.2.7" log = "0.4" pin-project-lite = "0.2" @@ -39,7 +39,7 @@ tls_openssl = { version = "0.10", package = "openssl", optional = true } tls_rust = { version = "0.21", package = "rustls", optional = true } [dev-dependencies] -ntex = { version = "0.7.0", features = ["openssl", "rustls", "tokio"] } +ntex = { version = "0.7", features = ["openssl", "rustls", "tokio"] } env_logger = "0.10" rustls-pemfile = "1.0" webpki-roots = "0.25" diff --git a/ntex-tls/src/rustls/client.rs b/ntex-tls/src/rustls/client.rs index 6316c3ce..5853c743 100644 --- a/ntex-tls/src/rustls/client.rs +++ b/ntex-tls/src/rustls/client.rs @@ -137,11 +137,8 @@ impl TlsClientFilter { session.is_handshaking(), ); - while session.wants_write() { + if result.0.is_ok() && session.wants_write() { result.0 = session.complete_io(&mut wrp); - if result.0.is_err() { - break; - } } result })?; diff --git a/ntex-tls/src/rustls/server.rs b/ntex-tls/src/rustls/server.rs index 71891c71..5546ca9a 100644 --- a/ntex-tls/src/rustls/server.rs +++ b/ntex-tls/src/rustls/server.rs @@ -145,11 +145,8 @@ impl TlsServerFilter { session.is_handshaking(), ); - while session.wants_write() { + if result.0.is_ok() && session.wants_write() { result.0 = session.complete_io(&mut wrp); - if result.0.is_err() { - break; - } } result })?;