python-3.{10,11}: enable FIPS compatible multiprocessing#73268
python-3.{10,11}: enable FIPS compatible multiprocessing#73268javacruft merged 6 commits intowolfi-dev:mainfrom
Conversation
Backport a slimmed down version of stronger hash algorithm support for multiprocessing; this change is backwards compatible in non-FIPS environments with older client/server versions. Clients in FIPS environments presenting MD5 based HMAC digests will be rejected.
|
Looks good to me i appreciate thta it's smaller. I wish we would number our patches though I'd like to start making development work for some of this easier a long the lines of: chainguard-dev/melange#2170 |
|
Also tested with Chainguard's FIPS openssl configurations; test fails with the current versions of both packages and passes with the updates in this PR. Python 3.10 Python 3.11 |
|
I know I might be a bit of a stick-in-the-mud here, but should we run some reverse-dependency tests across our repositories? It shouldn't regress in theory, but since it is a change to a core component I'd recommend playing it safe. |
Great idea - and I need to record an apkregress video as well :) |
|
Nice! I was just going to copy the 3.12 How did you track down the DataDog patch? Is this submitted upstream in case there's a 3.11/3.10 update? Are these questions already answered somewhere? ;-) |
The DataDog commits are referenced in the Github issue that implemented this feature in 3.12. |
|
Python 3.11 RDT in Wofli: SummaryTotal packages found: 704 Packages with regressions:
re-ran the regressions - all where auth errors: Test Results✅ py3-cppy: PASS (with repo, without-repo test skipped) |
|
So they're good now, or they're now producing auth errors? I'm a bit slow this morning! 😅 I'd expect the new code to only fail if an older MD5 connection was being tested in FIPS mode, otherwise it should just work either way. |
APK Regression Test SummaryPackage: python-3.10 Test Results
🔴 Packages with RegressionsThe following packages fail with the new APK repository but pass without it, indicating potential regressions:
Retested single concurrency for regressions: APK Regression Test SummaryPackage: 7 packages from file Test Results
✅ All Tests PassedNo regressions were detected. All packages either passed with the new repository or failed consistently in both scenarios. |
That was a bit confusing - the auth failure was 401's on apk.cgr.dev in my test environment so we're all good now! |
|
I'd like todo some testing in other repos so maybe early next week to land this change. |
APK Regression Test Summary - enterprise-packagesPackage: python-3.10 Test Results
🔴 Packages with RegressionsThe following packages fail with the new APK repository but pass without it, indicating potential regressions:
⏰ Tests That HungThe following tests were killed after 30m0s timeout:
Reran the regressions - all passed: APK Regression Test Summary - enterprise-packagesPackage: 7 packages from file Test Results
✅ All Tests Passed |
APK Regression Test Summary - enterprise-packagesPackage: python-3.11 Test Results
🔴 Packages with RegressionsThe following packages fail with the new APK repository but pass without it, indicating potential regressions:
⏰ Tests That HungThe following tests were killed after 30m0s timeout:
Re-ran wthe five failures: APK Regression Test SummaryPackage: 5 packages from file Test Results
✅ All Tests PassedNo regressions were detected. All packages either passed with the new repository or failed consistently in both scenarios. |
Pick a patch from DataDog's Python 3.11 + 3.10 branches to default multiprocessing to use SHA256, with fallback to MD5 if needed/available.
This is based on the changes made for 3.12+ and authored by the same Python core developer.