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

@sonarqubecloud
Copy link

@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?

on:
push:
branches:
- v2/test-ci-windows
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this branch is a good choice. You should use v2/master or keep this empty as we use this on Linux CI.

- v2/test-ci-windows
pull_request:
branches:
- v2/test-ci-windows
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above.

$goBinPath = Join-Path $env:USERPROFILE "go\bin"
}
& "$goBinPath\go-ftw.exe" run -d $testRuleDir --cloud -e "920100-2$|920100-4$|920100-8$|920100-12$|920272-5$|920290-1$|920620-1$|920380-1$" --show-failures-only
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome (I mean you added CRS as a test), but why does it need to exclude these rules?

-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="22B04FDB-9BAB-46B0-87B8-A39544ECECD3" Name="ModSecurity IIS" Language="1033" Version="2.9.12" Manufacturer="ModSecurity" UpgradeCode="82F09489-1678-4C38-ADCB-08C3757653DB">
<Product Id="22B04FDB-9BAB-46B0-87B8-A39544ECECD3" Name="ModSecurity IIS" Language="1033" Version="2.9.13" Manufacturer="ModSecurity" UpgradeCode="82F09489-1678-4C38-ADCB-08C3757653DB">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why have you changed the version number to 2.9.13? The current version is 2.9.12.

(We have a release procedure documentation, there is this important step (increase the version here too)).

@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!

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