Skip to content

Commit fa80694

Browse files
committed
Skip ALPN setup when the ssl module lacks ALPN support
SSLContext.set_alpn_protocols() raises NotImplementedError on builds without ALPN, which broke every default (sslmode=prefer) TCP connection.
1 parent 4c06bcd commit fa80694

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

‎asyncpg/connect_utils.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -814,11 +814,13 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user,
814814
ssl_max_protocol_version
815815
)
816816

817-
ssl.set_alpn_protocols(_ALPN_PROTOCOLS)
817+
if ssl_module.HAS_ALPN:
818+
ssl.set_alpn_protocols(_ALPN_PROTOCOLS)
818819

819820
elif ssl is True:
820821
ssl = ssl_module.create_default_context()
821-
ssl.set_alpn_protocols(_ALPN_PROTOCOLS)
822+
if ssl_module.HAS_ALPN:
823+
ssl.set_alpn_protocols(_ALPN_PROTOCOLS)
822824
sslmode = SSLMode.verify_full
823825
elif isinstance(ssl, ssl_module.SSLContext):
824826
sslmode = SSLMode.require

0 commit comments

Comments
 (0)