Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Doc/library/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,13 @@ Notes on availability
*Availability: Linux >= 3.17 with glibc >= 2.27* requires both Linux 3.17 or
newer and glibc 2.27 or newer.

* "Availability" notes may also be used to indicate requirements on how Python
was built. For instance, "Availability: OpenSSL >= 3.5" note means that the
feature is available if Python has been built with OpenSSL 3.5 or later,
while "Availability: not AWS-LC" note means that the feature is not available
if Python has been built with AWS-LC instead of OpenSSL.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we imply a default of OpenSSL here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say "it depends". For now, we only have OpenSSL and AWS-LC that are "supported" and tested. We don't test LibreSSL or BoringSSL. In the future "not AWS-LC" may mean "everything that is libssl-like except AWS-LC". But this may be a bit annoying to actually say that "libssl-like" means. So, I don't have a preference. I think we should always assume that it should work with OpenSSL (maybe not with all its versions).



.. _wasm-availability:

WebAssembly platforms
Expand Down
12 changes: 12 additions & 0 deletions Doc/library/ssl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,8 @@ Signature algorithms
:meth:`SSLContext.set_client_sigalgs` and
:meth:`SSLContext.set_server_sigalgs` methods.

.. availability:: OpenSSL >= 3.4

.. versionadded:: next


Expand Down Expand Up @@ -1318,6 +1320,8 @@ SSL sockets also have the following additional methods and attributes:
Return the group used for doing key agreement on this connection. If no
connection has been established, returns ``None``.

.. availability:: OpenSSL >= 3.2

.. versionadded:: next

.. method:: SSLSocket.client_sigalg()
Expand All @@ -1326,6 +1330,8 @@ SSL sockets also have the following additional methods and attributes:
authentication on this connection, or ``None`` if no connection has been
established or client authentication didn't occur.

.. availability:: OpenSSL >= 3.5

.. versionadded:: next

.. method:: SSLSocket.server_sigalg()
Expand All @@ -1334,6 +1340,8 @@ SSL sockets also have the following additional methods and attributes:
handshake on this connection, or ``None`` if no connection has been
established or the cipher suite has no signature.

.. availability:: OpenSSL >= 3.5

.. versionadded:: next

.. method:: SSLSocket.compression()
Expand Down Expand Up @@ -1710,6 +1718,8 @@ to speed up repeated connections from the same clients.
:const:`True` this method will also return any associated aliases such as
the ECDH curve names supported in older versions of OpenSSL.

.. availability:: OpenSSL >= 3.5

.. versionadded:: next

.. method:: SSLContext.set_default_verify_paths()
Expand Down Expand Up @@ -1777,6 +1787,8 @@ to speed up repeated connections from the same clients.
sockets will return the signature algorithm used for performing
certificate-based client authentication on that connection.

.. availability:: not AWS-LC

.. versionadded:: next

.. method:: SSLContext.set_server_sigalgs(sigalgs, /)
Expand Down
9 changes: 7 additions & 2 deletions Doc/tools/extensions/availability.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,16 @@
"glibc",
"musl",
})
_THREADING = frozenset({
_EXTRAS = frozenset({
# POSIX platforms with pthreads
"pthreads",
# SSL backends
"OpenSSL",
"AWS-LC",
"LibreSSL",
"BoringSSL",
})
KNOWN_PLATFORMS = _PLATFORMS | _LIBC | _THREADING
KNOWN_PLATFORMS = _PLATFORMS | _LIBC | _EXTRAS


class Availability(SphinxDirective):
Expand Down
Loading