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
Doc: amend ssl.PROTOCOL_SSLv2 and ssl.PROTOCOL_SSLv3 wording #92634
Conversation
Every change to Python requires a NEWS entry. Please, add it using the blurb_it Web app or the blurb command-line tool. |
Every change to Python requires a NEWS entry. Please, add it using the blurb_it Web app or the blurb command-line tool. |
According to the OpenSSL wiki, the configure flags are:
$ grep -r OPENSSL_NO_SSL Modules/_ssl.c
Modules/_ssl.c:#ifndef OPENSSL_NO_SSL3_METHOD
Modules/_ssl.c:#define OPENSSL_NO_SSL2
Modules/_ssl.c:#if defined(SSL3_VERSION) && !defined(OPENSSL_NO_SSL3)
Modules/_ssl.c:#elif defined(SSL3_VERSION) && !defined(OPENSSL_NO_SSL3)
Modules/_ssl.c:#if defined(SSL3_VERSION) && !defined(OPENSSL_NO_SSL3)
Modules/_ssl.c:#ifndef OPENSSL_NO_SSL2
Modules/_ssl.c:#ifndef OPENSSL_NO_SSL3
Modules/_ssl.c:#if defined(SSL2_VERSION) && !defined(OPENSSL_NO_SSL2)
Modules/_ssl.c:#if defined(SSL3_VERSION) && !defined(OPENSSL_NO_SSL3) |
@erlend-aasland You're completely right it's not referring to context flags but configure options (and it's the SSLv3 that's wrong, not the SSLv2)! I'll reword the original meaning to make it less ambiguous. Really appreciate the review |
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
Thanks @janbrasna for the PR, and @erlend-aasland for merging it |
GH-92949 is a backport of this pull request to the 3.11 branch. |
GH-92950 is a backport of this pull request to the 3.10 branch. |
Thanks, @janbrasna! |
(cherry picked from commit 4163896) Co-authored-by: Jan Brasna <1784648+janbrasna@users.noreply.github.com>
(cherry picked from commit 4163896) Co-authored-by: Jan Brasna <1784648+janbrasna@users.noreply.github.com>
The changeset doesn't make much sense. SSLv2 and SSLv3 are no longer supported anyway. Even TLS 1.0 and 1.1 should be considered unsupported these days. |
It fixes:
I do agree that we should consider rewording all of those deprecated/obsolete features anyway, but that is out of scope for this PR. |
Can you explain what is incorrect? I'll put up a PR to fix it :) |
@tiran That's where I actually came from originally, trying to understand the current support (defaults, options) with only information about the actual What I see from https://www.openssl.org/docs/man1.1.1/man3/SSLv3_method.html is that 1.1.0 dropped support for SSLv2, nonetheless features mentioning SSLv3 are still sparsely present between 1.1.0–1.1.1 as well as the options to compile with |
@erlend-aasland I believe that from today's point–of–view the more current info might be:
However that all changes the semantics of the docs and that's not something I was really comfortable with, esp. with deprecation and compatibility information, that someone more knowledgable from the core devs might provide with better precision, to actually update the deprecated protocol support info with current status. (For posterity, as long as the deprecated constants are being kept around; explaining not only they're deprecated, but they actually might not function at all for upstream reasons;) |
I suggest you open an issue, and we can continue the discussion there. |
fromnevermind, it was theSSL_OP_NO_SSL2
toSSL_OP_NO_SSLv2
as per @openssl/openssl(master): ssl/ssl_conf.c that seems to have been so like forever however don't have enough historical context to propose such change myself — but just nod and I'll fix that as well.no-ssl3
option that had incorrect flag, fixed now too…