From c04527728ff8448ae1f55225fe143cd05cfa0a17 Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Thu, 10 Sep 2026 19:55:38 +0200 Subject: [PATCH] fix: Require m2crypto >=0.50 m2crypto 0.46.0 inverted the handling of ssl_sleep_with_timeout()'s return value in ssl_read(), breaking all DIRAC DISET/dips connections. Fixed upstream in 0.50.0, which also silences the Version._version deprecation warnings seen in the integration tests. https://codeberg.org/mcepl/m2crypto/issues/394 https://github.com/DIRACGrid/DIRACOS2/issues/192 --- environment.yml | 10 +--------- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/environment.yml b/environment.yml index 6bc63d91849..d1dd06bc32d 100644 --- a/environment.yml +++ b/environment.yml @@ -22,15 +22,7 @@ dependencies: - fts3 - gitpython >=2.1.0 - invoke - # Upper pin: m2crypto 0.46.0 rewrote ssl_read() in src/SWIG/_ssl.i and inverted the - # handling of ssl_sleep_with_timeout()'s return value (and dropped the gettimeofday() - # that initialises the deadline). Any read() on a connection with a timeout set now - # busy-loops and returns with a stale SSLTimeoutError set, which surfaces as - # "SystemError: returned a result with an exception set" - # and breaks all DIRAC DISET/dips connections. Still unfixed upstream as of 0.49.0. - ## Reported in - ## https://lists.sr.ht/~mcepl/m2crypto/%3C7b94d866-bdd2-4a29-9713-b6a6fd076ad7@cta-observatory.org%3E - - m2crypto >=0.43,<0.46 + - m2crypto >=0.50 - matplotlib - numpy - paramiko diff --git a/setup.cfg b/setup.cfg index b5eddc216bd..80cbcaf1db3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -41,7 +41,7 @@ install_requires = importlib_metadata >=4.4 importlib_resources invoke - M2Crypto >=0.36 + M2Crypto >=0.50 packaging paramiko pexpect