Skip to content

Conversation

@A13501350
Copy link

What

  • Added CMake build scripts for IIS components
  • Implemented Windows CI pipeline (GitHub Actions) using CMake builds
  • Used vcpkg for dependencies
  • Modified WiX Toolset scripts for MSI package installer

Why

  • Enables building newer versions of ModSecurity IIS via CI

Note:

  • These changes still require additional testing verification.
  • ssdeep support exists in the original Makefile but is not enabled by default, as it requires msys2 environment and runtime dependencies

@airween
Copy link
Member

airween commented Oct 23, 2025

Hi @A13501350,

first of all, many thanks for this PR.

Note:

  • These changes still require additional testing verification.

What kind of testing you think about? Do you want to add them before the merge (I mean are you still working on it?)?

  • ssdeep support exists in the original Makefile but is not enabled by default, as it requires msys2 environment and runtime dependencies

A readme would be grateful, I would add that into our Wiki that describe how to make module for IIS on Windows. That could contain these dependencies too.

What do you think?

@airween
Copy link
Member

airween commented Oct 23, 2025

And one more thing: could you pick up your last PR (#3443) into this PR? I think a rebase from v2/master would be enough. Just see it works as we expect. Thanks!

@airween
Copy link
Member

airween commented Oct 24, 2025

@A13501350
Copy link
Author

Run msys2/setup-msys2@847bbebdb774c27cd90b723718456dd14637b641
  with:
    msystem: UCRT64
    update: true
    install: git make autoconf automake libtool mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-pkg-config
  
    path-type: minimal
    pacboy: false
    release: true
    location: RUNNER_TEMP
    platform-check-severity: fatal
    cache: true
  env:
    APACHE_ROOT: C:\tools\Apache24
Error: File not found: 'D:\a\_actions\msys2\setup-msys2\847bbebdb774c27cd90b723718456dd14637b641\index.js'

I tried using the full commit hash msys2/setup-msys2@847bbeb, but it didn't work. Also, since this dependency updates frequently, I'm not sure if pinning to a specific commit is the best approach.

@airween
Copy link
Member

airween commented Oct 24, 2025

I tried using the full commit hash msys2/setup-msys2@847bbeb, but it didn't work. Also, since this dependency updates frequently, I'm not sure if pinning to a specific commit is the best approach.

No worries, at this time it would be enough to add a stable IIS build on Windows. Just make those lines as comment. Probably the Sonar issues will disappear too.

@A13501350
Copy link
Author

I noticed ssdeep was disabled in commit b02256c, but after testing, ssdeep appears to compile and link normally with no apparent functionality impact, so I've re-enabled it.

@A13501350
Copy link
Author

Though it does require msys2 for compilation

@airween
Copy link
Member

airween commented Oct 25, 2025

Though it does require msys2 for compilation

I see. Then let's see how can you solve that (it would be nice to disappear the Sonar issue).

@sonarqubecloud
Copy link

@A13501350
Copy link
Author

Done. However, there are other actions using tags instead of SHA hashes, and I believe the best practice is to use a bot like Dependabot to check for updates.

@airween
Copy link
Member

airween commented Oct 25, 2025

Thanks! I think that's excellent now!

I believe the best practice is to use a bot like Dependabot to check for updates.

yes, you're right, we should involve that.

@airween airween merged commit 6939a21 into owasp-modsecurity:v2/master Oct 25, 2025
90 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants