Build scripts was creating links allowing the project to
be loaded into Visual Studio without care about the
dependencies versions. Sometimes windows refuse to delete
those links leading the script to fail. This patch
moves the sources directories instead of create links
to it.
- Now the installation is divided in modules: ModSecurity and CRS.
- Added default configuration
- Configuration was moved to "Program Files" folder
- Build_msi script now using candle available in %PATH%
There is a function named inet_pton on windows API, with different
signature. This patch just override the windows function and point
the inet_pton to our implementation.
To organize the folder the Installer application was
renamed to installer helper. It is not the real
installer, it is just an helper which is executed
during the installation phase.
This commit removes the dependency of the fart.exe utility.
The utility was responsible to rename contents inside some
dependencies build files. Those modifications are not longer
needed.
There are a ModSecurityIIS solution and project files, those
were using hard coded paths to meet the dependencies. As
consequence of the last update in our build scripts, now we
are able to built the dependencies and load it to our Visual
Studio project using relative paths.
Those .mak files seems to be part of an old build system.
Since the script are now working fine, this commit removes
all those .mac files and also a CMakeList.txt and the
Makefile.win.
Now checking for common errors while building. Refactoring
on the build scripts, now there is this build_dependencies.bat
script on the iis sub-folder. By calling this script all the
dependencies should be build under the winbuild/.
This commit also removes build scripts that were not needed
anymore.
The following files were removed:
- VCVarsQueryRegistry.bat
- vcvars64.bat
- vsvars32.bat
The visual studio files can be called direcltly, not necessary
to distribute those files, at least in VS12.
The headers are represented in the format of an apr_table, which
is able to handle elements with the same key, however the function
apr_table_setn checks if the key exists before add the element, if so
it replaces the old value with the new one. This was making our
implementation to just keep the last added Cookie. The apr_table_addn
function, which is now used, just add a new item without check for
olders one.
The charset in headers is mounted using ngx_snprintf which
does not place the string terminator. This patch adds the
terminator at the end of the string. The size was correctly
allocated, just missing the terminator.
This bug was report at:
- https://www.modsecurity.org/tracker/browse/MODSEC-420
- https://github.com/SpiderLabs/ModSecurity/issues/142
Both reports cames with patch, first by Veli Pekka Jutila and
second by wellumies.
The ModSecurity module has some dependencies that may not be part
of the Nginx build, and so it is not part of the configuration
options. In order to resolve this dependencies automatically this
`config' is now making use of the pkg-config, utility that is
popular to make this compatible layer between different Linux
distributions and operational systems.