Skip to content

PR 667 - with the review feedback - #674

Merged
ivmarkov merged 5 commits into
masterfrom
pr667
Jul 20, 2026
Merged

PR 667 - with the review feedback#674
ivmarkov merged 5 commits into
masterfrom
pr667

Conversation

@ivmarkov

Copy link
Copy Markdown
Collaborator

Thank you for your contribution!

We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:

Submission Checklist 📝

  • [ x ] I have updated existing examples or added new ones (if applicable).
  • [ x ] I have used cargo fmt command to ensure that all changed code is formatted correctly.
  • [ x ] I have used cargo clippy command to ensure that all changed code passes latest Clippy nightly lints.
  • [ x ] My changes were added to the CHANGELOG.md in the proper section.

Pull Request Details 📖

Description

This is #667 with all the review feedback applied.
Most important two highlights / evolution from #667:

  • The code now enables and emphasizes the usage of the Rust async infrastructure (EspAsyncTls::negotiate_server); the "old style" non-blocking IO with the POSIX select primitive is still supported, but de-emphasized
  • The tls_server_async example demonstrates the async approach now (and is renamed appropriately)

Testing

With a browser and with the new tls_server_async example.

sentinelt and others added 5 commits July 20, 2026 15:56
ESP-IDF removed the CONFIG_ESP_TLS_SERVER Kconfig option starting with
v5.3; server support is always available under mbedTLS. The
`esp_idf_esp_tls_server` cfg is therefore never emitted on current IDF,
which silently compiled out all server-side TLS support: ServerConfig,
negotiate_server, and related helpers.

Keep `esp_idf_esp_tls_server` for IDF ≤ 5.2 (where the option still
exists and defaults to off), and also enable the APIs on IDF ≥ 5.3 when
using mbedTLS (`esp_idf_version_at_least_5_3_0` +
`esp_idf_esp_tls_using_mbedtls`).
Expose negotiate_server_init/continue and tls_handshake_timeout_ms so
callers can progress handshakes on a non-blocking socket without
blocking their event loop.
esp_tls_server_session_init/continue_async and
esp_tls_cfg_server::tls_handshake_timeout_ms were added in ESP-IDF
5.5.1. Compiling them under the broader ≥5.3 server gate broke CI on
v5.3.4 and v5.4.3. Keep blocking ServerConfig/negotiate_server on the
≥5.3 dual gate; require 5.5.1 + mbedTLS for the async helpers, timeout
field, and tls_server example.
@ivmarkov ivmarkov changed the title Pr667 PR 667 - with the review feedback Jul 20, 2026
@ivmarkov
ivmarkov merged commit ce39b02 into master Jul 20, 2026
26 checks passed
@ivmarkov
ivmarkov deleted the pr667 branch July 20, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants