From 53059e29e68da6b98145af6e436b4102c5a2240e Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 21 Jun 2026 22:25:20 -0400 Subject: [PATCH] ftp: Make deprecated TLS versions optional When built against OpenSSL 4, Python 3.15 will not have any of these deprecated symbols. --- fsspec/implementations/ftp.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fsspec/implementations/ftp.py b/fsspec/implementations/ftp.py index 053472e04..5f20d4302 100644 --- a/fsspec/implementations/ftp.py +++ b/fsspec/implementations/ftp.py @@ -9,11 +9,11 @@ SECURITY_PROTOCOL_MAP = { "tls": ssl.PROTOCOL_TLS, - "tlsv1": ssl.PROTOCOL_TLSv1, - "tlsv1_1": ssl.PROTOCOL_TLSv1_1, - "tlsv1_2": ssl.PROTOCOL_TLSv1_2, "sslv23": ssl.PROTOCOL_SSLv23, } +for protocol in ["TLSv1", "TLSv1_1", "TLSv1_2"]: + if hasattr(ssl, f"PROTOCOL_{protocol}"): + SECURITY_PROTOCOL_MAP[protocol.lower()] = getattr(ssl, f"PROTOCOL_{protocol}") class ImplicitFTPTLS(FTP_TLS):