Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #17508

hashlib and sha384

Path csiph.com!news.samoylyk.net!gothmog.csi.it!bofh.it!news.nic.it!robomod
From Rene Engelhard <rene@debian.org>
Newsgroups linux.debian.maint.python
Subject hashlib and sha384
Date Sun, 31 May 2026 10:40:01 +0200
Message-ID <N0JS9-9dZ8-1@gated-at.bofh.it> (permalink)
X-Original-To debian-python@lists.debian.org, Debian Python Team <team+python@tracker.debian.org>
X-Mailbox-Line From debian-python-request@lists.debian.org Sun May 31 08:32:07 2026
Old-Return-Path <rene@debian.org>
X-Amavis-Spam-Status No, score=-107.955 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LDO_WHITELIST=-5, RCVD_IN_DNSWL_MED=-2.3, SUBENDNUM=2, USER_IN_DKIM_WELCOMELIST=-0.01, USER_IN_DKIM_WHITELIST=-100] autolearn=ham autolearn_force=no
MIME-Version 1.0
User-Agent Mozilla Thunderbird
Content-Language en-GB
Autocrypt addr=rene@rene-engelhard.de; keydata= xsFNBEp1v6UBEADu/LCCJyB0uVrfP8HPEpdhunaNaH2dH7JRNW8lPGdHUFQfFIpSAxYGpk8Y BPcskAMahvV+d8Vg2n2lKDeZ3htpO8Poe3Ue6ZVxo2Y1lVCTm0VDMp/UMvf4G6CCNCYZf3jg oIadRpprPOFJuT8bBBGQXSgbmXCiCdjmYLqy2oi/0pEdPApC48gvqOF4FVPMyJNCvSdDQQnR BqPEBy587RG5xE9uQ+2BS56nFxjTQNDOl5h182hniSzs1TTxL7NOUlE2qdeJwR2fjAF3yVdW Qn332CbJ3uSmUl8waPFtrbPnYQQfUMhEqPx/kkOPBz0TE4owJ6jCDgoiZ+TwIMZxPv7eL+oH wIQNbaAh8DVBtoxZGa+4dOrvOsTIcOLpk6DYzgEZFLDvzwrJqKGyblaiKEN1/ugFHVQ2Np85 JWCgjLw3a5Rc+dOSPSotgAeSxVgQDXu0n7Eeh0263OzLTWVDrO24nqZBpEmz1jJgn9GY30PT pLwcYWuXujr5FTLPbCz01ORAgzjwWqcTB+J63pWSbZHTs8Lig8ecLSsCIGuZ7HGW46SZDU3q 9Sp81qFNVGLAtqatJ/y6An9QwA9tI97nsspcqJyegO57g3m5BTsdryvPadHQBsrwMp8Zbphh huLXJSNEPoZgngyMDM067lgQa39CccCQ8bK5SUCHJuLnFvJdtQARAQABzSdSZW5lIEVuZ2Vs aGFyZCA8cmVuZUByZW5lLWVuZ2VsaGFyZC5kZT7CwXcEEwEIACECGwMCHgECF4AFCwkIBwMF FQoJCAsFFgIDAQAFAktGL8IACgkQCqBFcdA+PnBxMhAA5FWhaLeuDRSH17ob4keEFu2N5BWl fZ9LVarYh55aTG+UaYaK+XSuwE3BlmXYsIGg4g+X7Kog8uHbHewDXndvKI+1Hk9Sd0mPCgYb DjKx7Lhu5bUDbO5UC51k3f4MYbP1CCx0whrWHks26WwgGavTvyxZ0K5nhVk0khiFCw7mnUGE IGzljVkCyMbnqaGw3V5+QuOlMP+BBN7JDaO3RtEHK3JhOS1oBKr6mtcIXACUYqs6MrIuyg+E RMli8/8IlUOy2vV0Sw6v55iS2WF2EMXzgSS5vINAsRMWWghYJjRhkJOHlLl8Ks8Hw5vfPr2H FR0GF8X3UxOqtU+joDgEM+fQo+7xpleyBzr1U7jxnHgiLM5vKXl5DneAJ2J4Usc3XhpdwQJo nj9FHq2OquEh7mez+2ygrfKACTZQe5zkb55kIGIHAvMxMJXSn6YrVI1GoPAY/gzcu7KJtg32 VuYSA50XO0FHGNECsF55k6vNFckAs7CYEF6QNekUw+rLBGClZvoy9sTqKP0JVTw39AF8nfR2 YYFjDVnhAmNp8dgfm05PNsvq2yYjFW0IJmzFZMoDyvix4ZUXM9ELlDlc2r7E5LEKI6AbISSs 6mdrBKA1Bv5tXzDotdOMWYjM2ofwigJTNFhJI8oFJbQtSw6/fzSFxiGMuLMNPDxdBKw9E6+g mtkk+fnOwU0ESnXCUAEQAKWg1nAP26wyxd+p/TLV7X5YlRGkPFmb5dSL3I1ypS8JPG2WH0uC iqGeZo+AjPU1B49vTuKoRnM3qy6FEVG3xeKJBxqJrSmwAp97iQWAWPhTKE6xkIQiKEF+TIpD RqAIBjXEcgrn9Z7ZebBywyPGaFTQuryiRNqwV4/Of1Xi+UZnhK7czkWgadR620cfCGmDe3QA W5usb8D2s9uvnIMHdNx18qxCIt/XmLioJKB+ma2bHCCD+CLxFSwrwUa7ZfmNiqiOdz9xjhRp SosP1wQX0NmTX+G/LOy7OTJz044WYAdbUQi/UGr8PkEzBZszaPfG3eeJ17blRNL9RwDBsZnO 88wzAg2hPxRW9AP6XWilWmDUKW/QNx5xpjNUeyB9GI11pfnMDnaoo6laR/CV68urC8yfR4uS 0jtbM+Rbzbc6dLUMng7egfmIRd6A3mSiPzsVj8FBvbqeEkmAftn6x+06kbulPYkhCzcr5kr4 yVqjXkcEWMBtr7ZfcZfp4alPCoHJejdUqhtM/zaHNVX2gyGvVXvRlOi9Ibd1FQARVgZgk1pz yfF6X8FqEofNGm9OWdfseLMiNQgW9Y/GOggj5QUIm8E5Sp9FIsyfehNt1kGoBZPU0a8T99Mg f/Wzp+bPuUNUeHt08Th1ZP2/PMVZ0xhiCCXbcODd6hmPuGxr5VyxjQRXABEBAAHCwV8EGAEI AAkFAkp1wlACGwwACgkQCqBFcdA+PnDg5BAAvbWlyJX/FDof5mWc0dQUnYYws/ES40bf0LHE C1rkck9Gmy92EHJS9dHuJWvT5kspPrKkyEnJ/BlcuFUfTa7H5nRKZuQ+dq8MHs/Lmo1UgKpX 9M4Ejdvh2fkswWi/8D8x1v7ww3NfUfgjF0QQtkCurKisy0CrKXYPrvLgSttKxheHeRoB3Wyg iXfLUeqCuG8MZuPOl2O9ToDm/+0ZfBZGG/aEEKx/FUVTE/qh4kOlPZYFn5ZTS1R1Jct+EQQW 6U0wH1S8ohGfHmlJnO8tKxrQx/MTrgypUgqBNJ9EZsOsvmw8gitTlfNqDsnxoPV18oBa7alw hmoSaKOHWnDyjFU31s8vEYCHzr7MO1NXyvY2yWWGegaXtvec1e2T8+WkOV1U7FUwCcYpjBGZ 0EXDpYB4Lbmj6N/sWBTCUZscpSGuzNgT6PpQudlYb3x/HENrxtsQto6Od4FwQhpKRT7WZ6rD tnN83UJEs67NnLs9poM3NM2rv792QvgpEaykqmv+GkIa/BOT1VEoJnRpwAH6Mnabgg/wWwea mkPgxSOZW8L00aT0eBLjLMxyaN9dp2lECum8FJG2c4wwmg9uwccKe50OMlmzIeh+q2KDBBoS NufBsvfIlWdw+Z17EBqmOboSIRzjnkzcLACPls92Vq2pUodxVvyE0EZDnWRlC7sRnTBtOAw=
Organization Debian Project
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Debian-User rene
X-Mailing-List <debian-python@lists.debian.org> archive/latest/23792
List-ID <debian-python.lists.debian.org>
List-URL <https://lists.debian.org/debian-python/>
List-Archive https://lists.debian.org/msgid-search/d09fc8cb-18d6-4148-b5dd-bd0834893db2@debian.org
Approved robomod@news.nic.it
Lines 116
Sender robomod@news.nic.it
X-Original-Date Sun, 31 May 2026 10:31:48 +0200
X-Original-Message-ID <d09fc8cb-18d6-4148-b5dd-bd0834893db2@debian.org>
Xref csiph.com linux.debian.maint.python:17508

Show key headers only | View raw


Hi,

while trying to get python-xmlsec in shape for xmlsec1 1.3.11 (which will be a transition, and one needed for openssl 4.0.0) I came about the following

After applying the support patch to 1.3.17 - see ##1138515 - (thanks Alexandre for doing the upgrade in the archive so quick) I get a passing test where it segfaulted before
but

tests/test_xmlsec.py .                                                   [100%]Traceback (most recent call last):
   File "<frozen runpy>", line 198, in _run_module_as_main
   File "<frozen runpy>", line 88, in _run_code
   File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
     raise SystemExit(pytest.console_main())
                      ~~~~~~~~~~~~~~~~~~~^^
   File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 223, in console_main
     code = main()
   File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 199, in main
     ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
     raise exception
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
     res = hook_impl.function(*args)
   File "/usr/lib/python3/dist-packages/_pytest/main.py", line 365, in pytest_cmdline_main
     return wrap_session(config, _main)
   File "/usr/lib/python3/dist-packages/_pytest/main.py", line 353, in wrap_session
     config.hook.pytest_sessionfinish(
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
         session=session, exitstatus=session.exitstatus
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     )
     ^
   File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
     raise exception
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
     teardown.throw(exception)
     ~~~~~~~~~~~~~~^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 873, in pytest_sessionfinish
     return (yield)
             ^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 152, in _multicall
     teardown.send(result)
     ~~~~~~~~~~~~~^^^^^^^^
   File "/usr/lib/python3/dist-packages/_pytest/terminal.py", line 970, in pytest_sessionfinish
     self.config.hook.pytest_terminal_summary(
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
         terminalreporter=self, exitstatus=exitstatus, config=self.config
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     )
     ^
   File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall
     raise exception
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
     teardown.throw(exception)
     ~~~~~~~~~~~~~~^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/_pytest/terminal.py", line 992, in pytest_terminal_summary
     return (yield)
             ^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall
     teardown.throw(exception)
     ~~~~~~~~~~~~~~^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/_pytest/warnings.py", line 109, in pytest_terminal_summary
     return (yield)
             ^^^^^
   File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
     res = hook_impl.function(*args)
   File "/usr/lib/python3/dist-packages/_hypothesis_pytestplugin.py", line 400, in pytest_terminal_summary
     from hypothesis.internal.observability import _WROTE_TO
   File "/usr/lib/python3/dist-packages/hypothesis/__init__.py", line 20, in <module>
     from hypothesis._settings import HealthCheck, Phase, Verbosity, settings
   File "/usr/lib/python3/dist-packages/hypothesis/_settings.py", line 35, in <module>
     from hypothesis.internal.conjecture.providers import AVAILABLE_PROVIDERS
   File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/providers.py", line 37, in <module>
     from hypothesis.internal.conjecture.choice import (
     ...<6 lines>...
     )
   File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/choice.py", line 24, in <module>
     from hypothesis.internal.conjecture.utils import identity
   File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/utils.py", line 69, in <module>
     SAMPLE_IN_SAMPLER_LABEL = calc_label_from_name("a sample() in Sampler")
   File "/usr/lib/python3/dist-packages/hypothesis/internal/conjecture/utils.py", line 35, in calc_label_from_name
     hashed = hashlib.sha384(name.encode()).digest()
              ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
_hashlib.UnsupportedDigestmodError: unsupported hash type sha384

happens. (for both 3.13 and 3.14)

 From what I read in https://docs.python.org/3/library/hashlib.html sha384 should have been supported in python anyways and
xmlsec1s build has
checking for SHA384 support... yes
(if it even matters, python3s _hashlib doesn't use xmlsec..)

Am I missing something obvious?

Any idea on why this could fail?

Regards,

Rene

Back to linux.debian.maint.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

hashlib and sha384 Rene Engelhard <rene@debian.org> - 2026-05-31 10:40 +0200
  Re: hashlib and sha384 Andrey Rakhmatullin <wrar@debian.org> - 2026-05-31 10:50 +0200
    Re: hashlib and sha384 Rene Engelhard <rene@debian.org> - 2026-05-31 11:10 +0200
      Re: hashlib and sha384 Andrey Rakhmatullin <wrar@debian.org> - 2026-05-31 11:40 +0200
        Re: hashlib and sha384 Rene Engelhard <rene@debian.org> - 2026-05-31 13:30 +0200
          Re: hashlib and sha384 Andrey Rakhmatullin <wrar@debian.org> - 2026-05-31 16:40 +0200

csiph-web