ci: statically link MinGW runtime into x86 fuzzy.dll and add 32-bit pool test - #3611
ci: statically link MinGW runtime into x86 fuzzy.dll and add 32-bit pool test#3611A13501350 wants to merge 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



Summary
Fixes #3599
The CI-produced x86 IIS module (
fuzzy.dll, ssdeep) was built with MinGW gcc and imported the MinGW runtime DLLs (libgcc_s_dw2-1.dll->libwinpthread-1.dll). These were not packaged in the MSI, so the x86 module failed to load in 32-bit application pools with error 126 (ERROR_MOD_NOT_FOUND), while the x64 module worked fine.Fix
In
.github/workflows/test-ci-windows.yml, build ssdeep with-static-libgccso the MinGW runtime is statically linked intofuzzy.dll. The resulting x86 DLL is self-contained and loads cleanly in 32-bit application pools without needing the external MinGW runtime DLLs.Regression test
Added a new
Test IIS Module in 32-bit Application Poolstep that:ModSecurity IIS (32bits)native module exists.dll failed to load/ error 126 entries.The test was validated against the previous (broken) build: with the old dynamic-link build the 32-bit pool returned HTTP 503 (module failed to load) and the step correctly failed; with this fix it returns HTTP 200 and passes.
Validation
unexpected status 503, confirming it reproduces and catches the x86 load issue.