-
-
Notifications
You must be signed in to change notification settings - Fork 31.2k
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
Rename ssl.Purpose.{CLIENT,SERVER}_AUTH #73996
Comments
The names are super misleading. First, they're written in a way that's the opposite of how people think about these things (CLIENT_AUTH -> server socket; SERVER_AUTH -> client socket). Second, they're misleading, you can have TLS which is *mutually* authenticated. Third, CLIENT_AUTH is very frequently used for a server socket where the client isn't authenticated (at the TLS layer) at all! A simple fix would be to add: Purpose.{CLIENT,SERVER}_SOCKET and alias the old names to those values. |
For 3.7 I'm planning to move to protocols instead of purpose oids (PROTOCOL_TLS_CLIENT, PROTOCOL_TLS_SERVER). |
Ah, so instead of PROTOCOL_SSLv23 using PROTOCOL_TLS_CLIENT and deprecating the Purpose bits entirely? That sounds good to me! |
Yes, I'm planning a PEP to make the SSL module a bit more sane:
|
Sounds good to me! |
Rally is a client, so its purpose is to authenticate servers. This means that we should use ssl.Purpose.SERVER_AUTH instead of CLIENT_AUTH, with or without client certs. This is super confusing, see python/cpython#73996. Anyway, in 3.10 making this mistake isn't possible anymore due python/cpython#26646. To make sure this does not break in the future, we also add tests for the IP and client certs cases.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: