-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for STARTLS/STARTSSL in-band transport upgrades/renegotation #9100
Support for STARTLS/STARTSSL in-band transport upgrades/renegotation #9100
Conversation
…f protocols that use some sort of in-band STARTTLS or STARTSSL signal to upgrade a plaint text connection to SSL/TLS. Examples of these protocols are XMPP, SMTP and various database TCP connections.
👋 Hello dirkx, we appreciate your contribution to this project! Click to see more instructions ...
Review and merge process you can expect ...
|
… for IDF >=5), bring timeout inline with the other timeouts (ints), fix cert/key checks to look if there is actually something there (all issues caught by the CI/CD on windows-latest
…t of the x509 struct too), so absent of a non-null pointer we cannot check wether it is populated. Solve this by looking at the version (as 0 is not a valid x509 version).
…irkx/arduino-esp32 into feat_two_stage_ssltls_protocol_support
@dirkx you need to add |
...e/examples/WiFiClientSecureProtocolUpgradeSTARTT/WiFIClientSecureProtocolUpgradeSTARTTLS.ino
Outdated
Show resolved
Hide resolved
...e/examples/WiFiClientSecureProtocolUpgradeSTARTT/WiFIClientSecureProtocolUpgradeSTARTTLS.ino
Outdated
Show resolved
Hide resolved
...e/examples/WiFiClientSecureProtocolUpgradeSTARTT/WiFIClientSecureProtocolUpgradeSTARTTLS.ino
Outdated
Show resolved
Hide resolved
libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/.skip.esp32h2
Outdated
Show resolved
Hide resolved
...e/examples/WiFiClientSecureProtocolUpgradeSTARTT/WiFIClientSecureProtocolUpgradeSTARTTLS.ino
Outdated
Show resolved
Hide resolved
@lucasssvaz PTAL |
Apologies - will do - but paid customers intruding :)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dirkx PTAL on my comments
...e/examples/WiFiClientSecureProtocolUpgradeSTARTT/WiFIClientSecureProtocolUpgradeSTARTTLS.ino
Outdated
Show resolved
Hide resolved
Co-authored-by: Jan Procházka <[email protected]>
Checked all the the changes & reran our testcases (against several mail provider (proton, freedom, against sendmail-sasl/etc, cyrus-imap, XMPP, OpenLDAP and against PosgreSQL) -- and nothing breaks. AFAIK nothing from my end that needs to be done / anything you folks are waiting on from me ? |
This PR is all good. It is pending merge. |
Split start_ssl_client into two phases; to allow the implementation of protocols that use some sort of in-band STARTTLS or STARTSSL signal to upgrade a plaint text connection to SSL/TLS. Examples of these protocols are XMPP, SMTP and various database TCP connections.
Addresses #9099. An example has been included as part of the documentation.
Description of Change
Option for Inline upgrading from a clear-text connection to an SSL/TLS connection.
Some protocols such as SMTP, XMPP, Mysql, Postgress and others allow, or require,
that you start the connection without encryption; and then send a command to switch
over to encryption.
E.g. a typical SMTP submission would entail a dialogue such as this:
... conversation continues encrypted.
This can be enabled in WiFiClientSecure by telling it to start in plaintext:
and client is than a plain, TCP, connection (just as WiFiClient would be); until the client calls
the method:
Tests scenarios
Please describe on what Hardware and Software combinations you have tested this Pull Request and how.
ESP32, ESP32S
Related links
Addresses
#9099 and issues raised over the year in EMailSender and XMPPClient