mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Merge branch 'release_2_7_6-rc2'
Release 2.7.6 ready.
This commit is contained in:
commit
4a7d439de5
207
CHANGES
207
CHANGES
@ -1,3 +1,210 @@
|
|||||||
|
16 Dec 2013 - 2.7.6
|
||||||
|
-------------------
|
||||||
|
Improvements:
|
||||||
|
|
||||||
|
- Organizes all Makefile.am - 1cde4d2dd9d96747536c1c25d06ba0677069477f
|
||||||
|
Now using one file per line (sorted). This is the better way to handle it, since it reduces the possibility of merge conflicts.
|
||||||
|
|
||||||
|
- nginx: generates config file using configure input. - 351b9cc357d439e30ebd61d89a9e38ecf55c6827
|
||||||
|
The nginx config file was looking for depedencies by its own, by doing that it was ignoring the options that were passed to configure script. This commit deletes this config file and adds a meta-config which is populated by configure whenever the standalone-module is enabled.
|
||||||
|
|
||||||
|
- nginx: adds lua support - da16d9e5d51d4ef8734687514a4e1368e7fb4284
|
||||||
|
|
||||||
|
- iis: Cosmetics fixies on sqli. - 5046c8327ea21c69b4c0d0c0057c692b05b09fef
|
||||||
|
This is needed to get it compiled with VS2011 on Windows8
|
||||||
|
|
||||||
|
- Regression tests: makes configuration compatible with 2.2 and 2.4 (try 2) - ae252ee8767069363906e5a611dff487b799b839
|
||||||
|
|
||||||
|
- nginx: Trying apxs and apxs2 while compiling nginx module - 65d9272fdc353e1263567b60604542d377d19672
|
||||||
|
|
||||||
|
- nginx: Trying apxs and apxs2 while compiling nginx module - 35fd75d859e4a8873b8843da1db13e04a1b08140
|
||||||
|
|
||||||
|
- macos: Using glibtoolize instead of libtoolize - 751a9f4e45213cd69f00c62c71edc9d7ad99b82d
|
||||||
|
|
||||||
|
- regression-tests: makes configuration compatible with 2.2 and 2.4 - 6fc4cac37ab1be8d1232140042b58fe4bd93ee17
|
||||||
|
|
||||||
|
- Regression test: get it working with apache 2.4 - e9813cd0d9bfc5b0c9aa5832634ec1b39b805108
|
||||||
|
Changes in httpd.conf.in to get it working with apache 2.4
|
||||||
|
|
||||||
|
- Code cosmetics. - 7366f35c1d80772d739b35da8faa972f92a72b97
|
||||||
|
Changed to reduce the number of possible fails during Build Bot compilation.
|
||||||
|
|
||||||
|
- iis: Waiting for 5 seconds before move curl directory - 9bf2959c919587ebc63f5a1b8c0785da8927bff5
|
||||||
|
Testing buildbot.
|
||||||
|
|
||||||
|
- Redefines unixd_set_global_mutex_perms on tests - f70f6f4281b806627e0cf0dbb9c84ae5864bdb16
|
||||||
|
Avoding conflicts with the standalone implementation
|
||||||
|
|
||||||
|
- Adds verbose quality check - 388943440cc9b8c6fdea09f5e365a2e5a3e792e2
|
||||||
|
Vera++ and ccpcheck are not outputing to the stderr instead stdout allowing the buildbot to extract some numbers about it.
|
||||||
|
|
||||||
|
- Adds support for coding style and quality check - b77e90152d119609ac78a7028383c3b79898b2cf
|
||||||
|
Initial effort to get the code on shape. This will be executed by the buildbots as soon as they get ready for it.
|
||||||
|
|
||||||
|
- iis: New improvements on the Wix installer - 2ea5a74a7bfb00f21312e51e48aa6dac03d84600
|
||||||
|
* 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%
|
||||||
|
|
||||||
|
- iis: Removes the installer helper dependency - 1a12648c9f6028f251af0f03c889397c7954b74c
|
||||||
|
Now using appcmd directly with WiX instead of calling the installer helper.
|
||||||
|
|
||||||
|
- iis: Remove readme.html - 550d5aae21cba696cac1ce75ab8113e5255d5a59
|
||||||
|
This HTML is about "Creating a Native Module for IIS7" not straight related to ModSecurity itself.
|
||||||
|
|
||||||
|
- iis: Adds batch script to compile Wix - a2c5fc831baf0b324ebb66b0f878dacf1ec2f808
|
||||||
|
This batch script can be used to generate our msi installer.
|
||||||
|
|
||||||
|
- iis: Adds Wix installer resources - 3604763e15a665eb7a6ecae1f7e7c65cebbb1d17
|
||||||
|
This is all about cosmetic changes.
|
||||||
|
|
||||||
|
- iss: Removes Post-Build event. - 28bbde1bb218b004654cb865fc8563d69b848dc2
|
||||||
|
There was a copy on Post-Build event using a hard coded path. This patch removes this Post-Build event.
|
||||||
|
|
||||||
|
- iis: Relative paths on the VS project file - 368617ddb2443f9b6036f80a648d467d07c9a054
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iis: Adds release script - 9477118903861ce80c4c27cb581bf3462315e98e
|
||||||
|
|
||||||
|
- iis: fixies the Installer.cpp coding style - 79875b1af8e8571098345b91557bab9c06eb7c88
|
||||||
|
|
||||||
|
- iis: Removes AppWizard remade file - 91738f93bcc82b6ab756c550a66b6cf6af2fa9f8
|
||||||
|
Apparently the AppWizard was used to generate part of this Installer, the ReadMe.txt created by the AppWizard was removed by this commit
|
||||||
|
|
||||||
|
- iss: Removes pre-compiled headers - adfbeb85dcfa9466b72eebb8d1bd8eb7728bab79
|
||||||
|
No need to use the pre-compiled headers in InstallerHelper, removing it, in order to keep the project lean.
|
||||||
|
|
||||||
|
- iis: Moves installer to InstallerHelper - 6adf25667dd4bfa33010bd6d8ae3d35046a69967
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iss: Removes fart dependencies - 8c3b8d81b613aaa38f28472af1eb26c90c7fc9da
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iss: Better err handling in build scripts. - 192599bf63b6ae5aa08e4536a90d5d0a17f969f7
|
||||||
|
Now checking for errors in every step of the build phase
|
||||||
|
|
||||||
|
- iis: Moves build_module.bat to build_modsecurity.bat - e25c6b2e85ced7beba4d41867dbdf30e9c1286d3
|
||||||
|
The build_modsecurity.bat is now on the iis sub-directory, not in the dependencies anymore. Its content was also changed fixing all the paths.
|
||||||
|
|
||||||
|
|
||||||
|
- iis: Identifies arch before unzip apache - cf5de78dfb9fffd21edf17af9e1db8f2fd83c804
|
||||||
|
Currently we need the Apache binary which could be used in 32 or 64 bits. This patch makes usage of 'cl' to identify which architecture is set.
|
||||||
|
|
||||||
|
- iis: Renamves winbuild to dependencies - 1447766e816a896e88c9c8f053fcc3f62797bac1
|
||||||
|
Since the directory becomes all about dependencies there is no need to call it winbuild anymore.
|
||||||
|
|
||||||
|
- iis: Removes unnecessary files from winbuild dir - 9f8cbf6ed8034ba42aa4967699308df09864fd18
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iis: Improves the iis build system - b277e538f28c87c81c1b50925dd8b82996b88294
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iis: Fixes the vcxproj file - a946a163f0ad822c760af80ca32dda61f0e6b2a9
|
||||||
|
Versions of the dependencies were changed, as long as the version of the Visual Studio, now 12.
|
||||||
|
|
||||||
|
- iis: Removes unecessary files from the build system - 26738d2e34bcc7620047bd23180e0e26a64c71ee
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iss: Changes httpd version 2.4.6 - 0a772cb0748aa51a01800e0473309b9de792b456
|
||||||
|
Apache version was changed to 2.4.6 to sync with the current apache lounge version.
|
||||||
|
|
||||||
|
- iis: Changes the version of the dependencies - 3e6fb41d36b7a5e98a55d8f52b88b29d1bd50b64
|
||||||
|
* pcre from 8.30 to 8.33
|
||||||
|
* zlib from 1.2.7 to 1.2.8
|
||||||
|
* libxml2 from 2.7.7 to 2.9.1
|
||||||
|
* curl from 7.24 to 7.33.0
|
||||||
|
|
||||||
|
- Removes standalone/Makefile.in - e3c19d53d23c48fea337aae76a87b2a85c36a1f1
|
||||||
|
Makefile.in is recommended to be in the repository whenever it is edit manually, in our case the automatically generated Makefile.in is ok.
|
||||||
|
|
||||||
|
|
||||||
|
Bug Fixes:
|
||||||
|
|
||||||
|
- test: Avoids conflict of fuctions definition - cef72855e4106ce29e1d39103ebf9eb9ab28f17e
|
||||||
|
|
||||||
|
- test: Makes the unit tests to work again - cc982ae42ec86c79a67be1a01c6ee35fb06c272c
|
||||||
|
The unit tests was not working due to lack update. This patch adds the necessary stuff to have it work again.
|
||||||
|
|
||||||
|
- iis: Avoids directory link while building - ad330a44bfa39430cf6340cb52971568cccdf1d6
|
||||||
|
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.
|
||||||
|
|
||||||
|
- QA: Avoids the utilization of 3rd filedescriptor - 69c5ccac662f4e11a6eefd54a3e912583c067b9d
|
||||||
|
No need to use a 3rd description on the quality check scripts. Stderr is now redirected to stdout and filtered as needed.
|
||||||
|
|
||||||
|
- Supports WarningCountingShellCommand in cppcheck and vera - baaf502363e68c3240b60adb7f7c91f5b4f0ba03
|
||||||
|
WarningCountingShellCommand allow us to have some measurements on the buildbot waterfall.
|
||||||
|
|
||||||
|
- iis: Using base_rules instead of activated_rules - 7b1537058fa451e0df7098cd907ef19f04102f9d
|
||||||
|
|
||||||
|
- iis: Fix inet_pton build problem - a4202146b8d26b6615bbab986383fe0afae60d77
|
||||||
|
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.
|
||||||
|
|
||||||
|
- iis: Adds Wix installer xml file.c - b32cb7d9ab397160f0154aa4bd4e9638658b41e6
|
||||||
|
This commit adds the Wix template to our git repository.
|
||||||
|
|
||||||
|
- iis: build_modsecurity.bat fixies - 7e03e3f840375ed682c35a5bb67932461cc77013
|
||||||
|
This commit enable a cleanup on the mod_security build directory avoiding symbols with different architectures.
|
||||||
|
|
||||||
|
- iis: Fix mlogc build on windows - 9b7663fa79377a0685130a019916d810f31e7478
|
||||||
|
The libcurl path was not pointing to the correct directory
|
||||||
|
|
||||||
|
- Fix #154, Uses addn instead of apr_table_setn - 1734221d9d3a78f9aafd68e35717da9ee1a4fe51
|
||||||
|
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.
|
||||||
|
|
||||||
|
- Merge pull request #579 from zimmerle/revert_139 - 61e54f2067ae760808359926ff91d57275df1aac
|
||||||
|
Revert merge request #139
|
||||||
|
|
||||||
|
- Revert "Merge pull request #139 from chaizhenhua/remotes/trunk" - 7f7d00fa2c364716691df1b45779304b24a0debb
|
||||||
|
This reverts commit 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b, reversing changes made to 414033aafa94cd50c9b310afd3f164740caccc94.
|
||||||
|
|
||||||
|
- Merge pull request #578 from client9/remotes/trunk - b0c3977845f60747b15ae10531b7d20355a22627
|
||||||
|
libinjection sync to v3.8.0
|
||||||
|
|
||||||
|
- libinjection sync - a5f175d79fac1e69124da4e1e227b622e7e233d7
|
||||||
|
|
||||||
|
- Merge pull request #152 from client9/remotes/trunk - 88ebf8a0bdbc4db1be76f3a2e70df77cc52a5925
|
||||||
|
Sync to libinjection v3.7.1
|
||||||
|
|
||||||
|
- libinjection sync - fcb6dc13ed6efb066fb9b70405eecab8b83a2d96
|
||||||
|
|
||||||
|
- libinjection sync - f52242a013f301ca5c17e59b662124833cb7cc6d
|
||||||
|
|
||||||
|
- Merge pull request #148 from zimmerle/bugfix_charset_missing_string_terminator - b76e26d81ddafc2b99bffad53d1426f8fd33080a
|
||||||
|
Bugfix: missing string terminator while mounting the charset (nginx)
|
||||||
|
|
||||||
|
- Bugfix: missing string terminator while mounting the charset (nginx) - ff19dcd5c53d4af61d0a9397d4616f47f80ee207
|
||||||
|
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.
|
||||||
|
|
||||||
|
- Merge pull request #141 from client9/remotes/trunk - 9a630eea23a7ead4e77617c86dc937fd7a421a57
|
||||||
|
libinjection sync to v3.6.0
|
||||||
|
|
||||||
|
- libinjection sync - 11217207e8f2e0cf15742273836399866971071a
|
||||||
|
|
||||||
|
- Fix Chunked string case sensitive issue - CVE-2013-5705 - f8d441cd25172fdfe5b613442fedfc0da3cc333d
|
||||||
|
|
||||||
|
- Revert "Fix Chuncked string case sensitive issue" - 3901128f17e0763ac1a260106b79859d2aad6d90
|
||||||
|
This reverts commit 16a815a3c2735f62238ef99af26090a2b8430d3d.
|
||||||
|
|
||||||
|
- Fix Chuncked string case sensitive issue - 16a815a3c2735f62238ef99af26090a2b8430d3d
|
||||||
|
|
||||||
|
- Merge pull request #139 from chaizhenhua/remotes/trunk - 10fd40fb0d06f6c577d870b6f15d2f6e2a3a5b1b
|
||||||
|
Fixed fd leackage after reload
|
||||||
|
|
||||||
|
- Merge pull request #138 from client9/remotes/trunk - 414033aafa94cd50c9b310afd3f164740caccc94
|
||||||
|
libinjection sync
|
||||||
|
|
||||||
|
- Fixed fd leackage after reload - e0993fcd7a166ce9e1a279a47d050af1311d9001
|
||||||
|
|
||||||
|
- libinjection sync - 2268626c20260e88cab9b7830f8a06101fa7172a
|
||||||
|
|
||||||
|
- Fix logical disjunction and conjunction issues - 7e0a9ecf7d492e85650671a0cfcfd53e5f15df2c
|
||||||
|
|
||||||
|
|
||||||
23 Jul 2013 - 2.7.5
|
23 Jul 2013 - 2.7.5
|
||||||
-------------------
|
-------------------
|
||||||
Improvements:
|
Improvements:
|
||||||
|
55
Makefile.am
55
Makefile.am
@ -5,35 +5,44 @@ CLEANFILES =
|
|||||||
MAINTAINERCLEANFILES =
|
MAINTAINERCLEANFILES =
|
||||||
|
|
||||||
CLEANFILES += tests/regression/server_root/conf/*.t_*.conf \
|
CLEANFILES += tests/regression/server_root/conf/*.t_*.conf \
|
||||||
tests/regression/server_root/logs/*.log
|
tests/regression/server_root/logs/*.log
|
||||||
|
|
||||||
MAINTAINERCLEANFILES += $(CLEANFILES) \
|
MAINTAINERCLEANFILES += $(CLEANFILES) \
|
||||||
Makefile.in \
|
aclocal.m4 \
|
||||||
aclocal.m4 \
|
alp2/Makefile.in \
|
||||||
alp2/Makefile.in \
|
apache2/Makefile.in \
|
||||||
apache2/Makefile.in \
|
build/config.guess \
|
||||||
build/config.guess \
|
build/config.sub \
|
||||||
build/config.sub \
|
build/depcomp \
|
||||||
build/depcomp \
|
build/libtool.m4 \
|
||||||
build/libtool.m4 \
|
build/ltmain.sh \
|
||||||
build/ltmain.sh \
|
build/lt~obsolete.m4 \
|
||||||
build/ltoptions.m4 \
|
build/ltoptions.m4 \
|
||||||
build/ltsugar.m4 \
|
build/ltsugar.m4 \
|
||||||
build/ltversion.m4 \
|
build/ltversion.m4 \
|
||||||
build/lt~obsolete.m4 \
|
build/missing \
|
||||||
build/missing \
|
config.log \
|
||||||
configure \
|
config.status \
|
||||||
ext/Makefile.in \
|
configure \
|
||||||
mlogc/Makefile.in \
|
ext/Makefile.in \
|
||||||
modsecurity_config_auto.h.in~ \
|
Makefile \
|
||||||
config.log \
|
Makefile.in \
|
||||||
Makefile \
|
mlogc/Makefile.in \
|
||||||
config.status
|
modsecurity_config_auto.h.in~
|
||||||
|
|
||||||
# Alias for "check"
|
|
||||||
test: check
|
test: check
|
||||||
|
|
||||||
test-regression:
|
test-regression:
|
||||||
(cd tests && $(MAKE) test-regression)
|
(cd tests && $(MAKE) test-regression)
|
||||||
|
|
||||||
|
cppcheck:
|
||||||
|
cppcheck . --enable=all --force 2>&1 | sed 's/^/warning: /g' 1>&2;
|
||||||
|
|
||||||
|
check-coding-style:
|
||||||
|
for i in `(find . -iname "*.c" ; find . -iname "*.h")`; \
|
||||||
|
do echo $$i...; \
|
||||||
|
vera++ -rule L004 -param max-line-length=80 $$i 2>&1 | sed 's/^/warning: /g' 1>&2; \
|
||||||
|
vera++ -rule L001 $$i 2>&1 | sed 's/^/warning: /g' 1>&2; \
|
||||||
|
done;
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
lib_LTLIBRARIES = libalp2.la
|
lib_LTLIBRARIES = libalp2.la
|
||||||
include_HEADERS = alp2.h alp2_pp.h
|
|
||||||
|
|
||||||
libalp2_la_SOURCES = alp2.c alp2_pp.c
|
include_HEADERS = alp2.h \
|
||||||
libalp2_la_CFLAGS = @APR_CFLAGS@ @APU_CFLAGS@
|
alp2_pp.h
|
||||||
libalp2_la_LDFLAGS = @APR_LDFLAGS@ @APU_LDFLAGS@
|
|
||||||
|
libalp2_la_SOURCES = alp2.c \
|
||||||
|
alp2_pp.c
|
||||||
|
|
||||||
|
libalp2_la_CFLAGS = @APR_CFLAGS@ \
|
||||||
|
@APU_CFLAGS@
|
||||||
|
|
||||||
|
libalp2_la_LDFLAGS = @APR_LDFLAGS@ \
|
||||||
|
@APU_LDFLAGS@
|
||||||
|
@ -1,70 +1,132 @@
|
|||||||
pkglibdir = $(prefix)/lib
|
pkglibdir = $(prefix)/lib
|
||||||
pkglib_LTLIBRARIES = mod_security2.la
|
pkglib_LTLIBRARIES = mod_security2.la
|
||||||
#include_HEADERS = re.h modsecurity.h msc_logging.h msc_multipart.h \
|
|
||||||
# msc_parsers.h msc_pcre.h msc_util.h msc_xml.h \
|
|
||||||
# persist_dbm.h apache2.h msc_geo.h acmp.h utf8tables.h \
|
|
||||||
# msc_lua.h msc_release.h
|
|
||||||
|
|
||||||
mod_security2_la_SOURCES = mod_security2.c \
|
mod_security2_la_SOURCES = acmp.c \
|
||||||
apache2_config.c apache2_io.c apache2_util.c \
|
apache2_config.c \
|
||||||
re.c re_operators.c re_actions.c re_tfns.c \
|
apache2_io.c \
|
||||||
re_variables.c msc_logging.c msc_xml.c \
|
apache2_util.c \
|
||||||
msc_multipart.c modsecurity.c msc_parsers.c \
|
libinjection/libinjection_sqli.c \
|
||||||
msc_util.c msc_pcre.c persist_dbm.c msc_reqbody.c \
|
mod_security2.c \
|
||||||
msc_geo.c msc_gsb.c msc_crypt.c msc_tree.c msc_unicode.c acmp.c msc_lua.c msc_release.c \
|
modsecurity.c \
|
||||||
libinjection/libinjection_sqli.c
|
msc_crypt.c \
|
||||||
|
msc_geo.c \
|
||||||
|
msc_gsb.c \
|
||||||
|
msc_logging.c \
|
||||||
|
msc_lua.c \
|
||||||
|
msc_multipart.c \
|
||||||
|
msc_parsers.c \
|
||||||
|
msc_pcre.c \
|
||||||
|
msc_release.c \
|
||||||
|
msc_reqbody.c \
|
||||||
|
msc_tree.c \
|
||||||
|
msc_unicode.c \
|
||||||
|
msc_util.c \
|
||||||
|
msc_xml.c \
|
||||||
|
persist_dbm.c \
|
||||||
|
re_actions.c \
|
||||||
|
re.c \
|
||||||
|
re_operators.c \
|
||||||
|
re_tfns.c \
|
||||||
|
re_variables.c
|
||||||
|
|
||||||
mod_security2_la_CFLAGS = @APXS_CFLAGS@ @APR_CFLAGS@ @APU_CFLAGS@ \
|
mod_security2_la_CFLAGS = @APR_CFLAGS@ \
|
||||||
@PCRE_CFLAGS@ @LIBXML2_CFLAGS@ @LUA_CFLAGS@ @MODSEC_EXTRA_CFLAGS@ @CURL_CFLAGS@
|
@APU_CFLAGS@ \
|
||||||
mod_security2_la_CPPFLAGS = @APR_CPPFLAGS@ @PCRE_CPPFLAGS@ @LIBXML2_CPPFLAGS@
|
@APXS_CFLAGS@ \
|
||||||
mod_security2_la_LIBADD = @APR_LDADD@ @APU_LDADD@ @PCRE_LDADD@ @LIBXML2_LDADD@ @LUA_LDADD@
|
@CURL_CFLAGS@ \
|
||||||
|
@LIBXML2_CFLAGS@ \
|
||||||
|
@LUA_CFLAGS@ \
|
||||||
|
@MODSEC_EXTRA_CFLAGS@ \
|
||||||
|
@PCRE_CFLAGS@
|
||||||
|
|
||||||
|
|
||||||
|
mod_security2_la_CPPFLAGS = @APR_CPPFLAGS@ \
|
||||||
|
@LIBXML2_CPPFLAGS@ \
|
||||||
|
@PCRE_CPPFLAGS@
|
||||||
|
|
||||||
|
mod_security2_la_LIBADD = @APR_LDADD@ \
|
||||||
|
@APU_LDADD@ \
|
||||||
|
@LIBXML2_LDADD@ \
|
||||||
|
@LUA_LDADD@ \
|
||||||
|
@PCRE_LDADD@
|
||||||
|
|
||||||
if AIX
|
if AIX
|
||||||
mod_security2_la_LDFLAGS = -module -avoid-version \
|
mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if HPUX
|
if HPUX
|
||||||
mod_security2_la_LDFLAGS = -module -avoid-version \
|
mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if MACOSX
|
if MACOSX
|
||||||
mod_security2_la_LDFLAGS = -module -avoid-version \
|
mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SOLARIS
|
if SOLARIS
|
||||||
mod_security2_la_LDFLAGS = -module -avoid-version \
|
mod_security2_la_LDFLAGS = -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if LINUX
|
if LINUX
|
||||||
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version -R @PCRE_LD_PATH@ \
|
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version -R @PCRE_LD_PATH@ \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if FREEBSD
|
if FREEBSD
|
||||||
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if OPENBSD
|
if OPENBSD
|
||||||
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if NETBSD
|
if NETBSD
|
||||||
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
mod_security2_la_LDFLAGS = -no-undefined -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@PCRE_LDFLAGS@ @LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@ \
|
||||||
|
@PCRE_LDFLAGS@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if LINUX
|
if LINUX
|
||||||
|
@ -14,13 +14,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* Version info.
|
|
||||||
* See python's normalized version
|
|
||||||
* http://www.python.org/dev/peps/pep-0386/#normalizedversion
|
|
||||||
*/
|
|
||||||
#define LIBINJECTION_VERSION "3.4.1"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Libinjection's sqli module makes a "normalized"
|
* Libinjection's sqli module makes a "normalized"
|
||||||
* value of the token. This is the maximum size
|
* value of the token. This is the maximum size
|
||||||
@ -37,6 +30,13 @@ extern "C" {
|
|||||||
#define LIBINJECTION_SQLI_MAX_TOKENS 5
|
#define LIBINJECTION_SQLI_MAX_TOKENS 5
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if LIBINJECTION_SQLI_MAX_TOKENS >= 8
|
||||||
|
#define LIBINJECTION_SQLI_BUFFER_SZ (LIBINJECTION_SQLI_MAX_TOKENS + 1)
|
||||||
|
#else
|
||||||
|
#define LIBINJECTION_SQLI_BUFFER_SZ 8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
enum lookup_type {
|
enum lookup_type {
|
||||||
FLAG_NONE = 0,
|
FLAG_NONE = 0,
|
||||||
FLAG_QUOTE_NONE = 1 << 1,
|
FLAG_QUOTE_NONE = 1 << 1,
|
||||||
@ -52,7 +52,7 @@ enum lookup_type {
|
|||||||
LOOKUP_FINGERPRINT
|
LOOKUP_FINGERPRINT
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
struct libinjection_sqli_token {
|
||||||
#ifdef SWIG
|
#ifdef SWIG
|
||||||
%immutable;
|
%immutable;
|
||||||
#endif
|
#endif
|
||||||
@ -74,8 +74,9 @@ typedef struct {
|
|||||||
int count;
|
int count;
|
||||||
|
|
||||||
char val[LIBINJECTION_SQLI_TOKEN_SIZE];
|
char val[LIBINJECTION_SQLI_TOKEN_SIZE];
|
||||||
} stoken_t;
|
};
|
||||||
|
|
||||||
|
typedef struct libinjection_sqli_token stoken_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pointer to function, takes cstr input,
|
* Pointer to function, takes cstr input,
|
||||||
@ -84,7 +85,7 @@ typedef struct {
|
|||||||
struct libinjection_sqli_state;
|
struct libinjection_sqli_state;
|
||||||
typedef char (*ptr_lookup_fn)(struct libinjection_sqli_state*, int lookuptype, const char* word, size_t len);
|
typedef char (*ptr_lookup_fn)(struct libinjection_sqli_state*, int lookuptype, const char* word, size_t len);
|
||||||
|
|
||||||
typedef struct libinjection_sqli_state {
|
struct libinjection_sqli_state {
|
||||||
#ifdef SWIG
|
#ifdef SWIG
|
||||||
%immutable;
|
%immutable;
|
||||||
#endif
|
#endif
|
||||||
@ -116,21 +117,26 @@ typedef struct libinjection_sqli_state {
|
|||||||
*/
|
*/
|
||||||
size_t pos;
|
size_t pos;
|
||||||
|
|
||||||
|
#ifndef SWIG
|
||||||
|
/* for SWIG.. don't use this.. use functional API instead */
|
||||||
|
|
||||||
/* MAX TOKENS + 1 since we use one extra token
|
/* MAX TOKENS + 1 since we use one extra token
|
||||||
* to determine the type of the previous token
|
* to determine the type of the previous token
|
||||||
*/
|
*/
|
||||||
stoken_t tokenvec[LIBINJECTION_SQLI_MAX_TOKENS + 1];
|
struct libinjection_sqli_token tokenvec[LIBINJECTION_SQLI_BUFFER_SZ];
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pointer to token position in tokenvec, above
|
* Pointer to token position in tokenvec, above
|
||||||
*/
|
*/
|
||||||
stoken_t *current;
|
struct libinjection_sqli_token *current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* fingerprint pattern c-string
|
* fingerprint pattern c-string
|
||||||
* +1 for ending null
|
* +1 for ending null
|
||||||
|
* Mimimum of 8 bytes to add gcc's -fstack-protector to work
|
||||||
*/
|
*/
|
||||||
char fingerprint[LIBINJECTION_SQLI_MAX_TOKENS + 1];
|
char fingerprint[LIBINJECTION_SQLI_BUFFER_SZ];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Line number of code that said decided if the input was SQLi or
|
* Line number of code that said decided if the input was SQLi or
|
||||||
@ -181,12 +187,32 @@ typedef struct libinjection_sqli_state {
|
|||||||
*/
|
*/
|
||||||
int stats_tokens;
|
int stats_tokens;
|
||||||
|
|
||||||
} sfilter;
|
};
|
||||||
|
|
||||||
|
struct libinjection_sqli_token* libinjection_sqli_get_token(
|
||||||
|
struct libinjection_sqli_state* sqlistate, int i);
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct libinjection_sqli_state sfilter;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version info.
|
||||||
|
*
|
||||||
|
* This is moved into a function to allow SWIG and other auto-generated
|
||||||
|
* binding to not be modified during minor release changes. We change
|
||||||
|
* change the version number in the c source file, and not regenerated
|
||||||
|
* the binding
|
||||||
|
*
|
||||||
|
* See python's normalized version
|
||||||
|
* http://www.python.org/dev/peps/pep-0386/#normalizedversion
|
||||||
|
*/
|
||||||
|
const char* libinjection_version();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void libinjection_sqli_init(sfilter* sql_state,
|
void libinjection_sqli_init(struct libinjection_sqli_state* sql_state,
|
||||||
const char* s, size_t slen,
|
const char* s, size_t slen,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
||||||
@ -204,18 +230,21 @@ void libinjection_sqli_init(sfilter* sql_state,
|
|||||||
*
|
*
|
||||||
* \return 1 (true) if SQLi, 0 (false) if benign
|
* \return 1 (true) if SQLi, 0 (false) if benign
|
||||||
*/
|
*/
|
||||||
int libinjection_is_sqli(sfilter * sql_state);
|
int libinjection_is_sqli(struct libinjection_sqli_state* sql_state);
|
||||||
|
|
||||||
/* FOR H@CKERS ONLY
|
/* FOR H@CKERS ONLY
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void libinjection_sqli_callback(sfilter* sql_state, ptr_lookup_fn fn, void* userdata);
|
void libinjection_sqli_callback(struct libinjection_sqli_state* sql_state,
|
||||||
|
ptr_lookup_fn fn,
|
||||||
|
void* userdata);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Resets state, but keeps initial string and callbacks
|
* Resets state, but keeps initial string and callbacks
|
||||||
*/
|
*/
|
||||||
void libinjection_sqli_reset(sfilter* sql_state, int flags);
|
void libinjection_sqli_reset(struct libinjection_sqli_state* sql_state,
|
||||||
|
int flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -231,14 +260,17 @@ void libinjection_sqli_reset(sfilter* sql_state, int flags);
|
|||||||
* do not free!
|
* do not free!
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
const char* libinjection_sqli_fingerprint(sfilter * sql_state, int flags);
|
const char* libinjection_sqli_fingerprint(struct libinjection_sqli_state* sql_state,
|
||||||
|
int flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default "word" to token-type or fingerprint function. This
|
* The default "word" to token-type or fingerprint function. This
|
||||||
* uses a ASCII case-insensitive binary tree.
|
* uses a ASCII case-insensitive binary tree.
|
||||||
*/
|
*/
|
||||||
char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type,
|
char libinjection_sqli_lookup_word(struct libinjection_sqli_state* sql_state,
|
||||||
const char* s, size_t slen);
|
int lookup_type,
|
||||||
|
const char* s,
|
||||||
|
size_t slen);
|
||||||
|
|
||||||
/* Streaming tokenization interface.
|
/* Streaming tokenization interface.
|
||||||
*
|
*
|
||||||
@ -247,13 +279,13 @@ char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type,
|
|||||||
* \returns 1, has a token, keep going, or 0 no tokens
|
* \returns 1, has a token, keep going, or 0 no tokens
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int libinjection_sqli_tokenize(sfilter * sql_state);
|
int libinjection_sqli_tokenize(struct libinjection_sqli_state * sql_state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parses and folds input, up to 5 tokens
|
* parses and folds input, up to 5 tokens
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int libinjection_sqli_fold(sfilter * sql_state);
|
int libinjection_sqli_fold(struct libinjection_sqli_state * sql_state);
|
||||||
|
|
||||||
/** The built-in default function to match fingerprints
|
/** The built-in default function to match fingerprints
|
||||||
* and do false negative/positive analysis. This calls the following
|
* and do false negative/positive analysis. This calls the following
|
||||||
@ -264,20 +296,20 @@ int libinjection_sqli_fold(sfilter * sql_state);
|
|||||||
*
|
*
|
||||||
* \param sql_state should be filled out after libinjection_sqli_fingerprint is called
|
* \param sql_state should be filled out after libinjection_sqli_fingerprint is called
|
||||||
*/
|
*/
|
||||||
int libinjection_sqli_check_fingerprint(sfilter *sql_state);
|
int libinjection_sqli_check_fingerprint(struct libinjection_sqli_state * sql_state);
|
||||||
|
|
||||||
/* Given a pattern determine if it's a SQLi pattern.
|
/* Given a pattern determine if it's a SQLi pattern.
|
||||||
*
|
*
|
||||||
* \return TRUE if sqli, false otherwise
|
* \return TRUE if sqli, false otherwise
|
||||||
*/
|
*/
|
||||||
int libinjection_sqli_blacklist(sfilter* sql_state);
|
int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state);
|
||||||
|
|
||||||
/* Given a positive match for a pattern (i.e. pattern is SQLi), this function
|
/* Given a positive match for a pattern (i.e. pattern is SQLi), this function
|
||||||
* does additional analysis to reduce false positives.
|
* does additional analysis to reduce false positives.
|
||||||
*
|
*
|
||||||
* \return TRUE if sqli, false otherwise
|
* \return TRUE if sqli, false otherwise
|
||||||
*/
|
*/
|
||||||
int libinjection_sqli_not_whitelist(sfilter* sql_state);
|
int libinjection_sqli_not_whitelist(struct libinjection_sqli_state * sql_state);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -297,7 +297,7 @@ apr_status_t modsecurity_tx_init(modsec_rec *msr) {
|
|||||||
if (msr->request_content_length == -1) {
|
if (msr->request_content_length == -1) {
|
||||||
/* There's no C-L, but is chunked encoding used? */
|
/* There's no C-L, but is chunked encoding used? */
|
||||||
char *transfer_encoding = (char *)apr_table_get(msr->request_headers, "Transfer-Encoding");
|
char *transfer_encoding = (char *)apr_table_get(msr->request_headers, "Transfer-Encoding");
|
||||||
if ((transfer_encoding != NULL)&&(strstr(transfer_encoding, "chunked") != NULL)) {
|
if ((transfer_encoding != NULL)&&(m_strcasestr(transfer_encoding, "chunked") != NULL)) {
|
||||||
msr->reqbody_should_exist = 1;
|
msr->reqbody_should_exist = 1;
|
||||||
msr->reqbody_chunked = 1;
|
msr->reqbody_chunked = 1;
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ static int unicode_map_create(directory_config *dcfg, char **error_msg)
|
|||||||
ucode = apr_strtok(mapping,":", &hmap);
|
ucode = apr_strtok(mapping,":", &hmap);
|
||||||
sscanf(ucode,"%x",&Code);
|
sscanf(ucode,"%x",&Code);
|
||||||
sscanf(hmap,"%x",&Map);
|
sscanf(hmap,"%x",&Map);
|
||||||
if(Code >= 0 || Code <= 65535) {
|
if(Code >= 0 && Code <= 65535) {
|
||||||
unicode_map_table[Code] = Map;
|
unicode_map_table[Code] = Map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -836,7 +836,7 @@ char *m_strcasestr(const char *haystack, const char *needle) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
int inet_pton(int family, const char *src, void *dst) {
|
int my_inet_pton(int family, const char *src, void *dst) {
|
||||||
struct addrinfo addr;
|
struct addrinfo addr;
|
||||||
struct sockaddr_in *in = NULL;
|
struct sockaddr_in *in = NULL;
|
||||||
#if APR_HAVE_IPV6
|
#if APR_HAVE_IPV6
|
||||||
|
@ -50,6 +50,9 @@ int DSOLOCAL inet_pton(int family, const char *src, void *dst);
|
|||||||
int DSOLOCAL swap_int32(int x);
|
int DSOLOCAL swap_int32(int x);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#define inet_pton(x, y, z) my_inet_pton(x, y, z)
|
||||||
|
#endif
|
||||||
|
|
||||||
char DSOLOCAL *utf8_unicode_inplace_ex(apr_pool_t *mp, unsigned char *input, long int input_len, int *changed);
|
char DSOLOCAL *utf8_unicode_inplace_ex(apr_pool_t *mp, unsigned char *input, long int input_len, int *changed);
|
||||||
|
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
|
|
||||||
rm -rf autom4te.cache
|
rm -rf autom4te.cache
|
||||||
rm -f aclocal.m4
|
rm -f aclocal.m4
|
||||||
libtoolize --force --copy
|
case `uname` in Darwin*) glibtoolize --force --copy ;;
|
||||||
|
*) libtoolize --force --copy ;; esac
|
||||||
autoreconf --install
|
autoreconf --install
|
||||||
autoheader
|
autoheader
|
||||||
automake --add-missing --foreign --copy --force-missing
|
automake --add-missing --foreign --copy --force-missing
|
||||||
|
@ -707,6 +707,7 @@ AC_CONFIG_FILES([apache2/Makefile])
|
|||||||
fi
|
fi
|
||||||
if test "$build_standalone_module" -ne 0; then
|
if test "$build_standalone_module" -ne 0; then
|
||||||
AC_CONFIG_FILES([standalone/Makefile])
|
AC_CONFIG_FILES([standalone/Makefile])
|
||||||
|
AC_CONFIG_FILES([nginx/modsecurity/config])
|
||||||
fi
|
fi
|
||||||
if test "$build_extentions" -ne 0; then
|
if test "$build_extentions" -ne 0; then
|
||||||
AC_CONFIG_FILES([ext/Makefile])
|
AC_CONFIG_FILES([ext/Makefile])
|
||||||
|
@ -1,17 +1,32 @@
|
|||||||
|
|
||||||
EXT_CFLAGS = -I../apache2 \
|
EXT_CFLAGS = -I../apache2 \
|
||||||
@APXS_CFLAGS@ @APR_CFLAGS@ @APU_CFLAGS@ \
|
@APR_CFLAGS@ \
|
||||||
@LIBXML2_CFLAGS@ @LUA_CFLAGS@
|
@APU_CFLAGS@ \
|
||||||
EXT_CPPFLAGS = @APR_CPPFLAGS@ @LIBXML2_CPPFLAGS@
|
@APXS_CFLAGS@ \
|
||||||
EXT_LIBADD = @APR_LDADD@ @APU_LDADD@ @LIBXML2_LDADD@ @LUA_LDADD@
|
@LIBXML2_CFLAGS@ \
|
||||||
|
@LUA_CFLAGS@
|
||||||
|
|
||||||
|
EXT_CPPFLAGS = @APR_CPPFLAGS@ \
|
||||||
|
@LIBXML2_CPPFLAGS@
|
||||||
|
|
||||||
|
EXT_LIBADD = @APR_LDADD@ \
|
||||||
|
@APU_LDADD@ \
|
||||||
|
@LIBXML2_LDADD@ \
|
||||||
|
@LUA_LDADD@
|
||||||
|
|
||||||
EXT_LDFLAGS = -no-undefined -module -avoid-version \
|
EXT_LDFLAGS = -no-undefined -module -avoid-version \
|
||||||
@APR_LDFLAGS@ @APU_LDFLAGS@ @APXS_LDFLAGS@ \
|
@APR_LDFLAGS@ \
|
||||||
@LIBXML2_LDFLAGS@ @LUA_LDFLAGS@
|
@APU_LDFLAGS@ \
|
||||||
|
@APXS_LDFLAGS@ \
|
||||||
|
@LIBXML2_LDFLAGS@ \
|
||||||
|
@LUA_LDFLAGS@
|
||||||
|
|
||||||
pkglibdir = $(prefix)/lib
|
pkglibdir = $(prefix)/lib
|
||||||
|
|
||||||
pkglib_LTLIBRARIES = mod_op_strstr.la \
|
pkglib_LTLIBRARIES = mod_op_strstr.la \
|
||||||
mod_tfn_reverse.la \
|
mod_tfn_reverse.la \
|
||||||
mod_var_remote_addr_port.la \
|
mod_var_remote_addr_port.la \
|
||||||
mod_reqbody_example.la
|
mod_reqbody_example.la
|
||||||
|
|
||||||
mod_op_strstr_la_SOURCES = mod_op_strstr.c
|
mod_op_strstr_la_SOURCES = mod_op_strstr.c
|
||||||
mod_op_strstr_la_CFLAGS = $(EXT_CFLAGS)
|
mod_op_strstr_la_CFLAGS = $(EXT_CFLAGS)
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2010
|
# Visual Studio Express 2013 for Windows Desktop
|
||||||
|
VisualStudioVersion = 12.0.21005.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModSecurityIIS", "ModSecurityIIS.vcxproj", "{D1F7201F-064B-48AB-868C-FED22464841C}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModSecurityIIS", "ModSecurityIIS.vcxproj", "{D1F7201F-064B-48AB-868C-FED22464841C}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
|
53
iis/ModSecurityIIS.vcxproj
Normal file → Executable file
53
iis/ModSecurityIIS.vcxproj
Normal file → Executable file
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
@ -26,15 +26,19 @@
|
|||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
@ -79,7 +83,7 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\work\apache24\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;dependencies\build_dir\apache24\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
@ -89,18 +93,17 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);C:\work\apache24\lib\libapr-1.lib;C:\work\apache24\lib\libaprutil-1.lib;C:\work\pcre-8.30\pcre.lib;C:\work\libxml2-2.7.7\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);dependencies\build_dir\apache24\lib\libapr-1.lib;dependencies\build_dir\apache24\lib\libaprutil-1.lib;dependencies\build_dir\pcre\pcre.lib;dependencies\build_dir\libxml2\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy /y $(TargetPath) c:\drop\$(PlatformShortName)
|
<Command>
|
||||||
copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
</Command>
|
||||||
</Command>
|
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;..\standalone;c:\work\apache24\include</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone;dependencies\build_dir\apache24\include</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||||
@ -110,47 +113,46 @@ copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
|||||||
<Link>
|
<Link>
|
||||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);libapr-1.lib;libaprutil-1.lib;pcre.lib;libxml2.lib</AdditionalDependencies>
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);dependencies\build_dir\apache24\lib\libapr-1.lib;dependencies\build_dir\apache24\lib\libaprutil-1.lib;dependencies\build_dir\pcre\pcre.lib;dependencies\build_dir\libxml2\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>c:\drop\amd64</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>C:\core__\ModSecurity\iis\release\x64</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalOptions> /LIBPATH:"C:\core__\ModSecurity\iis\release\x64" %(AdditionalOptions)</AdditionalOptions>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy /y $(TargetPath) c:\drop\$(PlatformShortName)
|
<Command>
|
||||||
copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
</Command>
|
||||||
</Command>
|
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);C:\apache22\lib\libapr-1.lib;C:\apache22\lib\libaprutil-1.lib;C:\work\pcre-8.30\pcre.lib;C:\work\libxml2-2.7.7\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);dependencies\build_dir\apache24\lib\libapr-1.lib;dependencies\build_dir\apache24\lib\libaprutil-1.lib;dependencies\build_dir\pcre\pcre.lib;dependencies\build_dir\libxml2\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy /y $(TargetPath) c:\drop\$(PlatformShortName)
|
<Command>
|
||||||
copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
</Command>
|
||||||
</Command>
|
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
||||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone;dependencies\build_dir\apache24\include</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);libapr-1.lib;libaprutil-1.lib;pcre.lib;libxml2.lib</AdditionalDependencies>
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies);dependencies\build_dir\apache24\lib\libapr-1.lib;dependencies\build_dir\apache24\lib\libaprutil-1.lib;dependencies\build_dir\pcre\pcre.lib;dependencies\build_dir\libxml2\win32\bin.msvc\libxml2.lib</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>c:\drop\amd64</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>copy /y $(TargetPath) c:\drop\$(PlatformShortName)
|
<Command>
|
||||||
copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
</Command>
|
||||||
</Command>
|
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -158,6 +160,7 @@ copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
|||||||
<ClCompile Include="..\apache2\apache2_config.c" />
|
<ClCompile Include="..\apache2\apache2_config.c" />
|
||||||
<ClCompile Include="..\apache2\apache2_io.c" />
|
<ClCompile Include="..\apache2\apache2_io.c" />
|
||||||
<ClCompile Include="..\apache2\apache2_util.c" />
|
<ClCompile Include="..\apache2\apache2_util.c" />
|
||||||
|
<ClCompile Include="..\apache2\libinjection\libinjection_sqli.c" />
|
||||||
<ClCompile Include="..\apache2\modsecurity.c" />
|
<ClCompile Include="..\apache2\modsecurity.c" />
|
||||||
<ClCompile Include="..\apache2\mod_security2.c" />
|
<ClCompile Include="..\apache2\mod_security2.c" />
|
||||||
<ClCompile Include="..\apache2\msc_crypt.c" />
|
<ClCompile Include="..\apache2\msc_crypt.c" />
|
||||||
@ -203,6 +206,8 @@ copy /y $(TargetDir)$(TargetName).pdb c:\drop\$(PlatformShortName)
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\apache2\acmp.h" />
|
<ClInclude Include="..\apache2\acmp.h" />
|
||||||
<ClInclude Include="..\apache2\apache2.h" />
|
<ClInclude Include="..\apache2\apache2.h" />
|
||||||
|
<ClInclude Include="..\apache2\libinjection\libinjection.h" />
|
||||||
|
<ClInclude Include="..\apache2\libinjection\libinjection_sqli_data.h" />
|
||||||
<ClInclude Include="..\apache2\modsecurity.h" />
|
<ClInclude Include="..\apache2\modsecurity.h" />
|
||||||
<ClInclude Include="..\apache2\modsecurity_config.h" />
|
<ClInclude Include="..\apache2\modsecurity_config.h" />
|
||||||
<ClInclude Include="..\apache2\modsecurity_config_auto.h" />
|
<ClInclude Include="..\apache2\modsecurity_config_auto.h" />
|
||||||
|
3
iis/ModSecurityIIS.vcxproj.filters
Normal file → Executable file
3
iis/ModSecurityIIS.vcxproj.filters
Normal file → Executable file
@ -103,6 +103,7 @@
|
|||||||
<ClCompile Include="..\apache2\msc_tree.c">
|
<ClCompile Include="..\apache2\msc_tree.c">
|
||||||
<Filter>ModSecurity</Filter>
|
<Filter>ModSecurity</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\apache2\libinjection\libinjection_sqli.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="moduleconfig.h" />
|
<ClInclude Include="moduleconfig.h" />
|
||||||
@ -174,6 +175,8 @@
|
|||||||
<ClInclude Include="..\apache2\msc_tree.h">
|
<ClInclude Include="..\apache2\msc_tree.h">
|
||||||
<Filter>ModSecurity</Filter>
|
<Filter>ModSecurity</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\apache2\libinjection\libinjection.h" />
|
||||||
|
<ClInclude Include="..\apache2\libinjection\libinjection_sqli_data.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="ModSecurity.xml" />
|
<None Include="ModSecurity.xml" />
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,96 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{990BB195-6716-4DE3-B5E4-DCFCB1BD7D9C}</ProjectGuid>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
<RootNamespace>Installer</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
<UseOfMfc>Static</UseOfMfc>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<WarningLevel>Level3</WarningLevel>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<SubSystem>Console</SubSystem>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<AdditionalDependencies>ole32.lib;oleaut32.lib;advapi32.lib</AdditionalDependencies>
|
|
||||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="ReadMe.txt" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="stdafx.h" />
|
|
||||||
<ClInclude Include="targetver.h" />
|
|
||||||
<ClInclude Include="XUnzip.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="Installer.cpp" />
|
|
||||||
<ClCompile Include="stdafx.cpp">
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="XUnzip.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
|
||||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="ReadMe.txt" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="stdafx.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="targetver.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="XUnzip.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="stdafx.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Installer.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="XUnzip.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<LocalDebuggerCommandArguments>"c:\Program Files (x86)\ModSecurity IIS" </LocalDebuggerCommandArguments>
|
|
||||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,40 +0,0 @@
|
|||||||
========================================================================
|
|
||||||
CONSOLE APPLICATION : Installer Project Overview
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
AppWizard has created this Installer application for you.
|
|
||||||
|
|
||||||
This file contains a summary of what you will find in each of the files that
|
|
||||||
make up your Installer application.
|
|
||||||
|
|
||||||
|
|
||||||
Installer.vcxproj
|
|
||||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
|
||||||
It contains information about the version of Visual C++ that generated the file, and
|
|
||||||
information about the platforms, configurations, and project features selected with the
|
|
||||||
Application Wizard.
|
|
||||||
|
|
||||||
Installer.vcxproj.filters
|
|
||||||
This is the filters file for VC++ projects generated using an Application Wizard.
|
|
||||||
It contains information about the association between the files in your project
|
|
||||||
and the filters. This association is used in the IDE to show grouping of files with
|
|
||||||
similar extensions under a specific node (for e.g. ".cpp" files are associated with the
|
|
||||||
"Source Files" filter).
|
|
||||||
|
|
||||||
Installer.cpp
|
|
||||||
This is the main application source file.
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
Other standard files:
|
|
||||||
|
|
||||||
StdAfx.h, StdAfx.cpp
|
|
||||||
These files are used to build a precompiled header (PCH) file
|
|
||||||
named Installer.pch and a precompiled types file named StdAfx.obj.
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
Other notes:
|
|
||||||
|
|
||||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
|
||||||
should add to or customize.
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
File diff suppressed because it is too large
Load Diff
@ -1,382 +0,0 @@
|
|||||||
// XUnzip.h Version 1.3
|
|
||||||
//
|
|
||||||
// Authors: Mark Adler et al. (see below)
|
|
||||||
//
|
|
||||||
// Modified by: Lucian Wischik
|
|
||||||
// lu@wischik.com
|
|
||||||
//
|
|
||||||
// Version 1.0 - Turned C files into just a single CPP file
|
|
||||||
// - Made them compile cleanly as C++ files
|
|
||||||
// - Gave them simpler APIs
|
|
||||||
// - Added the ability to zip/unzip directly in memory without
|
|
||||||
// any intermediate files
|
|
||||||
//
|
|
||||||
// Modified by: Hans Dietrich
|
|
||||||
// hdietrich@gmail.com
|
|
||||||
//
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Lucian Wischik's comments:
|
|
||||||
// --------------------------
|
|
||||||
// THIS FILE is almost entirely based upon code by info-zip.
|
|
||||||
// It has been modified by Lucian Wischik.
|
|
||||||
// The original code may be found at http://www.info-zip.org
|
|
||||||
// The original copyright text follows.
|
|
||||||
//
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Original authors' comments:
|
|
||||||
// ---------------------------
|
|
||||||
// This is version 2002-Feb-16 of the Info-ZIP copyright and license. The
|
|
||||||
// definitive version of this document should be available at
|
|
||||||
// ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.
|
|
||||||
//
|
|
||||||
// Copyright (c) 1990-2002 Info-ZIP. All rights reserved.
|
|
||||||
//
|
|
||||||
// For the purposes of this copyright and license, "Info-ZIP" is defined as
|
|
||||||
// the following set of individuals:
|
|
||||||
//
|
|
||||||
// Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
|
|
||||||
// Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase,
|
|
||||||
// Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz,
|
|
||||||
// David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko,
|
|
||||||
// Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs,
|
|
||||||
// Kai Uwe Rommel, Steve Salisbury, Dave Smith, Christian Spieler,
|
|
||||||
// Antoine Verheijen, Paul von Behren, Rich Wales, Mike White
|
|
||||||
//
|
|
||||||
// This software is provided "as is", without warranty of any kind, express
|
|
||||||
// or implied. In no event shall Info-ZIP or its contributors be held liable
|
|
||||||
// for any direct, indirect, incidental, special or consequential damages
|
|
||||||
// arising out of the use of or inability to use this software.
|
|
||||||
//
|
|
||||||
// Permission is granted to anyone to use this software for any purpose,
|
|
||||||
// including commercial applications, and to alter it and redistribute it
|
|
||||||
// freely, subject to the following restrictions:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
// definition, disclaimer, and this list of conditions.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form (compiled executables) must reproduce
|
|
||||||
// the above copyright notice, definition, disclaimer, and this list of
|
|
||||||
// conditions in documentation and/or other materials provided with the
|
|
||||||
// distribution. The sole exception to this condition is redistribution
|
|
||||||
// of a standard UnZipSFX binary as part of a self-extracting archive;
|
|
||||||
// that is permitted without inclusion of this license, as long as the
|
|
||||||
// normal UnZipSFX banner has not been removed from the binary or disabled.
|
|
||||||
//
|
|
||||||
// 3. Altered versions--including, but not limited to, ports to new
|
|
||||||
// operating systems, existing ports with new graphical interfaces, and
|
|
||||||
// dynamic, shared, or static library versions--must be plainly marked
|
|
||||||
// as such and must not be misrepresented as being the original source.
|
|
||||||
// Such altered versions also must not be misrepresented as being
|
|
||||||
// Info-ZIP releases--including, but not limited to, labeling of the
|
|
||||||
// altered versions with the names "Info-ZIP" (or any variation thereof,
|
|
||||||
// including, but not limited to, different capitalizations),
|
|
||||||
// "Pocket UnZip", "WiZ" or "MacZip" without the explicit permission of
|
|
||||||
// Info-ZIP. Such altered versions are further prohibited from
|
|
||||||
// misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or
|
|
||||||
// of the Info-ZIP URL(s).
|
|
||||||
//
|
|
||||||
// 4. Info-ZIP retains the right to use the names "Info-ZIP", "Zip", "UnZip",
|
|
||||||
// "UnZipSFX", "WiZ", "Pocket UnZip", "Pocket Zip", and "MacZip" for its
|
|
||||||
// own source and binary releases.
|
|
||||||
//
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#ifndef XUNZIP_H
|
|
||||||
#define XUNZIP_H
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef XZIP_H
|
|
||||||
DECLARE_HANDLE(HZIP); // An HZIP identifies a zip file that has been opened
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef DWORD ZRESULT;
|
|
||||||
// return codes from any of the zip functions. Listed later.
|
|
||||||
|
|
||||||
#define ZIP_HANDLE 1
|
|
||||||
#define ZIP_FILENAME 2
|
|
||||||
#define ZIP_MEMORY 3
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{ int index; // index of this file within the zip
|
|
||||||
char name[MAX_PATH]; // filename within the zip
|
|
||||||
DWORD attr; // attributes, as in GetFileAttributes.
|
|
||||||
FILETIME atime,ctime,mtime;// access, create, modify filetimes
|
|
||||||
long comp_size; // sizes of item, compressed and uncompressed. These
|
|
||||||
long unc_size; // may be -1 if not yet known (e.g. being streamed in)
|
|
||||||
} ZIPENTRY;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{ int index; // index of this file within the zip
|
|
||||||
TCHAR name[MAX_PATH]; // filename within the zip
|
|
||||||
DWORD attr; // attributes, as in GetFileAttributes.
|
|
||||||
FILETIME atime,ctime,mtime;// access, create, modify filetimes
|
|
||||||
long comp_size; // sizes of item, compressed and uncompressed. These
|
|
||||||
long unc_size; // may be -1 if not yet known (e.g. being streamed in)
|
|
||||||
} ZIPENTRYW;
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// OpenZip()
|
|
||||||
//
|
|
||||||
// Purpose: Open an existing zip archive file
|
|
||||||
//
|
|
||||||
// Parameters: z - archive file name if flags is ZIP_FILENAME; for other
|
|
||||||
// uses see below
|
|
||||||
// len - for memory (ZIP_MEMORY) should be the buffer size;
|
|
||||||
// for other uses, should be 0
|
|
||||||
// flags - indicates usage, see below; for files, this will be
|
|
||||||
// ZIP_FILENAME
|
|
||||||
//
|
|
||||||
// Returns: HZIP - non-zero if zip archive opened ok, otherwise 0
|
|
||||||
//
|
|
||||||
HZIP OpenZip(void *rd, void *z, unsigned int len, DWORD flags);
|
|
||||||
// OpenZip - opens a zip file and returns a handle with which you can
|
|
||||||
// subsequently examine its contents. You can open a zip file from:
|
|
||||||
// from a pipe: OpenZip(hpipe_read,0, ZIP_HANDLE);
|
|
||||||
// from a file (by handle): OpenZip(hfile,0, ZIP_HANDLE);
|
|
||||||
// from a file (by name): OpenZip("c:\\test.zip",0, ZIP_FILENAME);
|
|
||||||
// from a memory block: OpenZip(bufstart, buflen, ZIP_MEMORY);
|
|
||||||
// If the file is opened through a pipe, then items may only be
|
|
||||||
// accessed in increasing order, and an item may only be unzipped once,
|
|
||||||
// although GetZipItem can be called immediately before and after unzipping
|
|
||||||
// it. If it's opened i n any other way, then full random access is possible.
|
|
||||||
// Note: pipe input is not yet implemented.
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// GetZipItem()
|
|
||||||
//
|
|
||||||
// Purpose: Get information about an item in an open zip archive
|
|
||||||
//
|
|
||||||
// Parameters: hz - handle of open zip archive
|
|
||||||
// index - index number (0 based) of item in zip
|
|
||||||
// ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct
|
|
||||||
// (if Unicode)
|
|
||||||
//
|
|
||||||
// Returns: ZRESULT - ZR_OK if success, otherwise some other value
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef _UNICODE
|
|
||||||
#define GetZipItem GetZipItemW
|
|
||||||
#else
|
|
||||||
#define GetZipItem GetZipItemA
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ZRESULT GetZipItemA(HZIP hz, int index, ZIPENTRY *ze);
|
|
||||||
ZRESULT GetZipItemW(HZIP hz, int index, ZIPENTRYW *ze);
|
|
||||||
// GetZipItem - call this to get information about an item in the zip.
|
|
||||||
// If index is -1 and the file wasn't opened through a pipe,
|
|
||||||
// then it returns information about the whole zipfile
|
|
||||||
// (and in particular ze.index returns the number of index items).
|
|
||||||
// Note: the item might be a directory (ze.attr & FILE_ATTRIBUTE_DIRECTORY)
|
|
||||||
// See below for notes on what happens when you unzip such an item.
|
|
||||||
// Note: if you are opening the zip through a pipe, then random access
|
|
||||||
// is not possible and GetZipItem(-1) fails and you can't discover the number
|
|
||||||
// of items except by calling GetZipItem on each one of them in turn,
|
|
||||||
// starting at 0, until eventually the call fails. Also, in the event that
|
|
||||||
// you are opening through a pipe and the zip was itself created into a pipe,
|
|
||||||
// then then comp_size and sometimes unc_size as well may not be known until
|
|
||||||
// after the item has been unzipped.
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// FindZipItem()
|
|
||||||
//
|
|
||||||
// Purpose: Find item by name and return information about it
|
|
||||||
//
|
|
||||||
// Parameters: hz - handle of open zip archive
|
|
||||||
// name - name of file to look for inside zip archive
|
|
||||||
// ic - TRUE = case insensitive
|
|
||||||
// index - pointer to index number returned, or -1
|
|
||||||
// ze - pointer to a ZIPENTRY (if ANSI) or ZIPENTRYW struct
|
|
||||||
// (if Unicode)
|
|
||||||
//
|
|
||||||
// Returns: ZRESULT - ZR_OK if success, otherwise some other value
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef _UNICODE
|
|
||||||
#define FindZipItem FindZipItemW
|
|
||||||
#else
|
|
||||||
#define FindZipItem FindZipItemA
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ZRESULT FindZipItemA(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRY *ze);
|
|
||||||
ZRESULT FindZipItemW(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRYW *ze);
|
|
||||||
// FindZipItem - finds an item by name. ic means 'insensitive to case'.
|
|
||||||
// It returns the index of the item, and returns information about it.
|
|
||||||
// If nothing was found, then index is set to -1 and the function returns
|
|
||||||
// an error code.
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// UnzipItem()
|
|
||||||
//
|
|
||||||
// Purpose: Find item by index and unzip it
|
|
||||||
//
|
|
||||||
// Parameters: hz - handle of open zip archive
|
|
||||||
// index - index number of file to unzip
|
|
||||||
// dst - target file name of unzipped file
|
|
||||||
// len - for memory (ZIP_MEMORY. length of buffer;
|
|
||||||
// otherwise 0
|
|
||||||
// flags - indicates usage, see below; for files, this will be
|
|
||||||
// ZIP_FILENAME
|
|
||||||
//
|
|
||||||
// Returns: ZRESULT - ZR_OK if success, otherwise some other value
|
|
||||||
//
|
|
||||||
|
|
||||||
ZRESULT UnzipItem(HZIP hz, int index, void *dst, unsigned int len, DWORD flags);
|
|
||||||
// UnzipItem - given an index to an item, unzips it. You can unzip to:
|
|
||||||
// to a pipe: UnzipItem(hz,i, hpipe_write,0,ZIP_HANDLE);
|
|
||||||
// to a file (by handle): UnzipItem(hz,i, hfile,0,ZIP_HANDLE);
|
|
||||||
// to a file (by name): UnzipItem(hz,i, ze.name,0,ZIP_FILENAME);
|
|
||||||
// to a memory block: UnzipItem(hz,i, buf,buflen,ZIP_MEMORY);
|
|
||||||
// In the final case, if the buffer isn't large enough to hold it all,
|
|
||||||
// then the return code indicates that more is yet to come. If it was
|
|
||||||
// large enough, and you want to know precisely how big, GetZipItem.
|
|
||||||
// Note: zip files are normally stored with relative pathnames. If you
|
|
||||||
// unzip with ZIP_FILENAME a relative pathname then the item gets created
|
|
||||||
// relative to the current directory - it first ensures that all necessary
|
|
||||||
// subdirectories have been created. Also, the item may itself be a directory.
|
|
||||||
// If you unzip a directory with ZIP_FILENAME, then the directory gets created.
|
|
||||||
// If you unzip it to a handle or a memory block, then nothing gets created
|
|
||||||
// and it emits 0 bytes.
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// CloseZip()
|
|
||||||
//
|
|
||||||
// Purpose: Close an open zip archive
|
|
||||||
//
|
|
||||||
// Parameters: hz - handle to an open zip archive
|
|
||||||
//
|
|
||||||
// Returns: ZRESULT - ZR_OK if success, otherwise some other value
|
|
||||||
//
|
|
||||||
ZRESULT CloseZip(HZIP hz);
|
|
||||||
// CloseZip - the zip handle must be closed with this function.
|
|
||||||
|
|
||||||
unsigned int FormatZipMessage(ZRESULT code, char *buf,unsigned int len);
|
|
||||||
// FormatZipMessage - given an error code, formats it as a string.
|
|
||||||
// It returns the length of the error message. If buf/len points
|
|
||||||
// to a real buffer, then it also writes as much as possible into there.
|
|
||||||
|
|
||||||
|
|
||||||
// These are the result codes:
|
|
||||||
#define ZR_OK 0x00000000 // nb. the pseudo-code zr-recent is never returned,
|
|
||||||
#define ZR_RECENT 0x00000001 // but can be passed to FormatZipMessage.
|
|
||||||
// The following come from general system stuff (e.g. files not openable)
|
|
||||||
#define ZR_GENMASK 0x0000FF00
|
|
||||||
#define ZR_NODUPH 0x00000100 // couldn't duplicate the handle
|
|
||||||
#define ZR_NOFILE 0x00000200 // couldn't create/open the file
|
|
||||||
#define ZR_NOALLOC 0x00000300 // failed to allocate some resource
|
|
||||||
#define ZR_WRITE 0x00000400 // a general error writing to the file
|
|
||||||
#define ZR_NOTFOUND 0x00000500 // couldn't find that file in the zip
|
|
||||||
#define ZR_MORE 0x00000600 // there's still more data to be unzipped
|
|
||||||
#define ZR_CORRUPT 0x00000700 // the zipfile is corrupt or not a zipfile
|
|
||||||
#define ZR_READ 0x00000800 // a general error reading the file
|
|
||||||
// The following come from mistakes on the part of the caller
|
|
||||||
#define ZR_CALLERMASK 0x00FF0000
|
|
||||||
#define ZR_ARGS 0x00010000 // general mistake with the arguments
|
|
||||||
#define ZR_NOTMMAP 0x00020000 // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't
|
|
||||||
#define ZR_MEMSIZE 0x00030000 // the memory size is too small
|
|
||||||
#define ZR_FAILED 0x00040000 // the thing was already failed when you called this function
|
|
||||||
#define ZR_ENDED 0x00050000 // the zip creation has already been closed
|
|
||||||
#define ZR_MISSIZE 0x00060000 // the indicated input file size turned out mistaken
|
|
||||||
#define ZR_PARTIALUNZ 0x00070000 // the file had already been partially unzipped
|
|
||||||
#define ZR_ZMODE 0x00080000 // tried to mix creating/opening a zip
|
|
||||||
// The following come from bugs within the zip library itself
|
|
||||||
#define ZR_BUGMASK 0xFF000000
|
|
||||||
#define ZR_NOTINITED 0x01000000 // initialisation didn't work
|
|
||||||
#define ZR_SEEK 0x02000000 // trying to seek in an unseekable file
|
|
||||||
#define ZR_NOCHANGE 0x04000000 // changed its mind on storage, but not allowed
|
|
||||||
#define ZR_FLATE 0x05000000 // an internal error in the de/inflation code
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// e.g.
|
|
||||||
//
|
|
||||||
// SetCurrentDirectory("c:\\docs\\stuff");
|
|
||||||
// HZIP hz = OpenZip("c:\\stuff.zip",0,ZIP_FILENAME);
|
|
||||||
// ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index;
|
|
||||||
// for (int i=0; i<numitems; i++)
|
|
||||||
// { GetZipItem(hz,i,&ze);
|
|
||||||
// UnzipItem(hz,i,ze.name,0,ZIP_FILENAME);
|
|
||||||
// }
|
|
||||||
// CloseZip(hz);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// HRSRC hrsrc = FindResource(hInstance,MAKEINTRESOURCE(1),RT_RCDATA);
|
|
||||||
// HANDLE hglob = LoadResource(hInstance,hrsrc);
|
|
||||||
// void *zipbuf=LockResource(hglob);
|
|
||||||
// unsigned int ziplen=SizeofResource(hInstance,hrsrc);
|
|
||||||
// HZIP hz = OpenZip(zipbuf, ziplen, ZIP_MEMORY);
|
|
||||||
// - unzip to a membuffer -
|
|
||||||
// ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze);
|
|
||||||
// char *ibuf = new char[ze.unc_size];
|
|
||||||
// UnzipItem(hz,i, ibuf, ze.unc_size,ZIP_MEMORY);
|
|
||||||
// delete[] buf;
|
|
||||||
// - unzip to a fixed membuff -
|
|
||||||
// ZIPENTRY ze; int i; FindZipItem(hz,"file.dat",&i,&ze);
|
|
||||||
// char ibuf[1024]; ZIPRESULT zr=ZR_MORE; unsigned long totsize=0;
|
|
||||||
// while (zr==ZR_MORE)
|
|
||||||
// { zr = UnzipItem(hz,i, ibuf,1024,ZIP_MEMORY);
|
|
||||||
// unsigned long bufsize=1024; if (zr==ZR_OK) bufsize=ze.unc_size-totsize;
|
|
||||||
// totsize+=bufsize;
|
|
||||||
// }
|
|
||||||
// - unzip to a pipe -
|
|
||||||
// HANDLE hthread=CreateWavReaderThread(&hread,&hwrite);
|
|
||||||
// FindZipItem(hz,"sound.wav",&i,&ze);
|
|
||||||
// UnzipItem(hz,i, hwrite,0,ZIP_HANDLE);
|
|
||||||
// CloseHandle(hwrite);
|
|
||||||
// WaitForSingleObject(hthread,INFINITE);
|
|
||||||
// CloseHandle(hread); CloseHandle(hthread);
|
|
||||||
// - finished -
|
|
||||||
// CloseZip(hz);
|
|
||||||
// // note: no need to free resources obtained through Find/Load/LockResource
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// SetCurrentDirectory("c:\\docs\\pipedzipstuff");
|
|
||||||
// HANDLE hread,hwrite; CreatePipe(&hread,&hwrite);
|
|
||||||
// CreateZipWriterThread(hwrite);
|
|
||||||
// HZIP hz = OpenZip(hread,0,ZIP_HANDLE);
|
|
||||||
// for (int i=0; ; i++)
|
|
||||||
// { ZIPENTRY ze; ZRESULT res = GetZipItem(hz,i,&ze);
|
|
||||||
// if (res!=ZE_OK) break; // no more
|
|
||||||
// UnzipItem(hz,i, ze.name,0,ZIP_FILENAME);
|
|
||||||
// }
|
|
||||||
// CloseZip(hz);
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Now we indulge in a little skullduggery so that the code works whether
|
|
||||||
// the user has included just zip or both zip and unzip.
|
|
||||||
// Idea: if header files for both zip and unzip are present, then presumably
|
|
||||||
// the cpp files for zip and unzip are both present, so we will call
|
|
||||||
// one or the other of them based on a dynamic choice. If the header file
|
|
||||||
// for only one is present, then we will bind to that particular one.
|
|
||||||
HZIP OpenZipU(void *rd, void *z,unsigned int len,DWORD flags);
|
|
||||||
ZRESULT CloseZipU(HZIP hz);
|
|
||||||
unsigned int FormatZipMessageU(ZRESULT code, char *buf,unsigned int len);
|
|
||||||
bool IsZipHandleU(HZIP hz);
|
|
||||||
#define OpenZip OpenZipU
|
|
||||||
|
|
||||||
#ifdef XZIP_H
|
|
||||||
#undef CloseZip
|
|
||||||
#define CloseZip(hz) (IsZipHandleU(hz)?CloseZipU(hz):CloseZipZ(hz))
|
|
||||||
#else
|
|
||||||
#define CloseZip CloseZipU
|
|
||||||
#define FormatZipMessage FormatZipMessageU
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif //XUNZIP_H
|
|
@ -1,8 +0,0 @@
|
|||||||
// stdafx.cpp : source file that includes just the standard includes
|
|
||||||
// Installer.pch will be the pre-compiled header
|
|
||||||
// stdafx.obj will contain the pre-compiled type information
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
|
|
||||||
// TODO: reference any additional headers you need in STDAFX.H
|
|
||||||
// and not in this file
|
|
@ -1,15 +0,0 @@
|
|||||||
// stdafx.h : include file for standard system include files,
|
|
||||||
// or project specific include files that are used frequently, but
|
|
||||||
// are changed infrequently
|
|
||||||
//
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "targetver.h"
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <tchar.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: reference additional headers your program requires here
|
|
@ -1,8 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
// Including SDKDDKVer.h defines the highest available Windows platform.
|
|
||||||
|
|
||||||
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
|
||||||
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
|
||||||
|
|
||||||
#include <SDKDDKVer.h>
|
|
115
iis/build_dependencies.bat
Normal file
115
iis/build_dependencies.bat
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
:: Those variable should be edited as needed.
|
||||||
|
:: Use full paths.
|
||||||
|
|
||||||
|
:: General paths
|
||||||
|
@set WORK_DIR=%cd%\dependencies\build_dir
|
||||||
|
@set OUTPUT_DIR=%cd%\dependencies\release_files
|
||||||
|
@set SOURCE_DIR=%USERPROFILE%\Downloads
|
||||||
|
|
||||||
|
:: Aditional paths.
|
||||||
|
@set PATH=%PATH%;c:\work\cmake-2.8.7-win32-x86\bin;"c:\program files\7-zip"
|
||||||
|
|
||||||
|
@set PCRE=pcre-8.33.zip
|
||||||
|
@set ZLIB=zlib-1.2.8.tar.gz
|
||||||
|
@set LIBXML2=libxml2-2.9.1.tar.gz
|
||||||
|
@set LUA=lua-5.1.5.tar.gz
|
||||||
|
@set CURL=curl-7.33.0.zip
|
||||||
|
@set APACHE_SRC=httpd-2.4.6.tar.gz
|
||||||
|
@set APACHE_BIN32=httpd-2.4.6-win32-VC11.zip
|
||||||
|
@set APACHE_BIN64=httpd-2.4.6-win64-VC11.zip
|
||||||
|
|
||||||
|
:: @set VCARGS32="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
|
||||||
|
:: @set VCARGS64="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
||||||
|
|
||||||
|
|
||||||
|
:: Do not edit bellow this line.
|
||||||
|
@set CURRENT_DIR=%cd%
|
||||||
|
|
||||||
|
@echo Cleaning directories...
|
||||||
|
if EXIST "%WORK_DIR%" @rmdir /s /q "%WORK_DIR%"
|
||||||
|
if EXIST "%OUTPUT_DIR%" @rmdir /s /q "%OUTPUT_DIR%"
|
||||||
|
@mkdir "%WORK_DIR%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto failed_to_cleanup
|
||||||
|
@mkdir "%OUTPUT_DIR%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto failed_to_cleanup
|
||||||
|
|
||||||
|
@echo Checking for vcargs... %1
|
||||||
|
@if NOT (%1) == "" call %1
|
||||||
|
@if (%ERRORLEVEL%) == (1) goto build_wrong_vcargs
|
||||||
|
|
||||||
|
set APACHE_BIN=%APACHE_BIN32%
|
||||||
|
call cl 2>&1 | findstr /C:"x64"
|
||||||
|
@if (%ERRORLEVEL%) == (0) set APACHE_BIN=%APACHE_BIN64%
|
||||||
|
|
||||||
|
@echo Starting with the depdendencies...
|
||||||
|
@echo # Apache - %HTTPD%/%APACHE24_ZIP%
|
||||||
|
@call dependencies/build_apache.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_apache
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
echo "c"
|
||||||
|
@echo # pcre. - %PCRE%
|
||||||
|
@call dependencies/build_pcre.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_pcre
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
echo "b"
|
||||||
|
|
||||||
|
@echo # zlib - %ZLIB%
|
||||||
|
@call dependencies/build_zlib.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_zlib
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
|
||||||
|
@echo # libxml2 - %LIBXML2%
|
||||||
|
@call dependencies/build_libxml2.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_libxml2
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
|
||||||
|
@echo # lua - %LUA%
|
||||||
|
@call dependencies/build_lua.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_lua
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
|
||||||
|
@echo # curl - %CURL%
|
||||||
|
@call dependencies/build_curl.bat
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_curl
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
|
||||||
|
@echo All dependencies were built successfully.
|
||||||
|
@cd "%CURRENT_DIR%"
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:failed_to_cleanup
|
||||||
|
@echo Failed to cleanup
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_wrong_vcargs
|
||||||
|
@echo Please specify a valid vcargs
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_apache
|
||||||
|
@echo Failed to setup %HTTPD%/%APACHE24_ZIP%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_pcre
|
||||||
|
@echo Failed to setup %PCRE%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_zlib
|
||||||
|
@echo Failed to setup %ZLIB%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_libxml2
|
||||||
|
@echo Failed to setup %LIBXML2%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_lua
|
||||||
|
@echo Failed to setup %LUA%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed_curl
|
||||||
|
@echo Failed to setup %CURL%...
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@cd %CURRENT_DIR%
|
||||||
|
@exit /B 1
|
||||||
|
|
55
iis/build_modsecurity.bat
Normal file
55
iis/build_modsecurity.bat
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
|
||||||
|
set DEPENDENCIES_DIR=dependencies\build_dir
|
||||||
|
set OUTPUT_DIR=dependencies\release_files
|
||||||
|
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
|
||||||
|
@echo Checking for vcargs... %1
|
||||||
|
@if NOT (%1) == "" call %1
|
||||||
|
@if (%ERRORLEVEL%) == (1) goto build_wrong_vcarg
|
||||||
|
|
||||||
|
@echo Deleting old stuff...
|
||||||
|
@del *.obj *.dll *.lib
|
||||||
|
|
||||||
|
@echo apache2...
|
||||||
|
cd ..\apache2
|
||||||
|
del *.obj *.dll *.lib
|
||||||
|
del libinjection\*.obj libinjection\*.dll libinjection\*.lib
|
||||||
|
NMAKE -f Makefile.win APACHE=..\iis\%DEPENDENCIES_DIR%\Apache24 PCRE=..\iis\%DEPENDENCIES_DIR%\pcre LIBXML2=..\iis\%DEPENDENCIES_DIR%\libxml2 LUA=..\iis\%DEPENDENCIES_DIR%\lua\src VERSION=VERSION_IIS
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
@echo mlogc...
|
||||||
|
cd ..\mlogc
|
||||||
|
del *.obj *.dll *.lib
|
||||||
|
nmake -f Makefile.win clean
|
||||||
|
nmake -f Makefile.win APACHE=..\iis\%DEPENDENCIES_DIR%\Apache24 PCRE=..\iis\%DEPENDENCIES_DIR%\pcre CURL=..\iis\%DEPENDENCIES_DIR%\curl VERSION=VERSION_IIS
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
@echo iis...
|
||||||
|
cd ..\iis
|
||||||
|
del *.obj *.dll *.lib
|
||||||
|
nmake -f Makefile.win clean
|
||||||
|
NMAKE -f Makefile.win APACHE=..\iis\%DEPENDENCIES_DIR%\Apache24 PCRE=..\iis\%DEPENDENCIES_DIR%\pcre LIBXML2=..\iis\%DEPENDENCIES_DIR%\libxml2 LUA=..\iis\%DEPENDENCIES_DIR%\lua\src VERSION=VERSION_IIS
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
cd %CURRENT_DIR%
|
||||||
|
|
||||||
|
@echo Copy...
|
||||||
|
copy /y ..\mlogc\mlogc.exe %OUTPUT_DIR%
|
||||||
|
copy /y ..\iis\modsecurityiis.dll %OUTPUT_DIR%
|
||||||
|
copy /y ..\iis\modsecurityiis.pdb %OUTPUT_DIR%
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:build_wrong_vcargs
|
||||||
|
@echo Please specify a valid vcargs
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@cd %CURRENT_DIR%
|
||||||
|
@exit /B 1
|
||||||
|
|
29
iis/build_msi.bat
Normal file
29
iis/build_msi.bat
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
|
||||||
|
set PATH="%PATH%;C:\Program Files (x86)\WiX Toolset v3.8\bin;C:\Program Files (x86)\WiX Toolset v3.7\bin;"
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
|
||||||
|
del installer.wix*
|
||||||
|
|
||||||
|
"candle.exe" -ext WixUtilExtension -ext WixUIExtension "%CURRENT_DIR%\installer.wxs" -out "%CURRENT_DIR%\installer.wixobj" -dPlatform="x64"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
"light.exe" -ext WixUtilExtension -ext WixUIExtension "%CURRENT_DIR%\installer.wixobj" -out "%CURRENT_DIR%\installer-64.msi" -dPlatform="x64"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
"candle.exe" -ext WixUtilExtension -ext WixUIExtension "%CURRENT_DIR%\installer.wxs" -out "%CURRENT_DIR%\installer.wixobj" -dPlatform="x86"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
"light.exe" -ext WixUtilExtension -ext WixUIExtension "%CURRENT_DIR%\installer.wixobj" -out "%CURRENT_DIR%\installer-32.msi" -dPlatform="x86"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@cd %CURRENT_DIR%
|
||||||
|
@exit /B 1
|
||||||
|
|
69
iis/build_release.bat
Normal file
69
iis/build_release.bat
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
echo "Building release..."
|
||||||
|
|
||||||
|
set RELEASE_DIR=release
|
||||||
|
set OUTPUT_DIR=%cd%\dependencies\release_files
|
||||||
|
set CURRENT_DIR=%cd%
|
||||||
|
|
||||||
|
set AMD64=%RELEASE_DIR%\amd64
|
||||||
|
set X86=%RELEASE_DIR%\x86
|
||||||
|
|
||||||
|
mkdir "%RELEASE_DIR%"
|
||||||
|
|
||||||
|
mkdir "%AMD64%"
|
||||||
|
|
||||||
|
mkdir "%X86%"
|
||||||
|
|
||||||
|
set VCARGS32="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
|
||||||
|
set VCARGS64="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
||||||
|
|
||||||
|
call build_dependencies.bat %VCARGS64%
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
call build_modsecurity.bat %VCARGS64%
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
copy "%OUTPUT_DIR%\libapr-1.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\libapriconv-1.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\libaprutil-1.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\libcurl.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\libxml2.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\lua5.1.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\mlogc.exe" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\ModSecurityIIS.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\pcre.dll" "%AMD64%"
|
||||||
|
copy "%OUTPUT_DIR%\zlib1.dll" "%AMD64%"
|
||||||
|
|
||||||
|
|
||||||
|
call build_dependencies.bat %VCARGS32%
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
call build_modsecurity.bat %VCARGS32%
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
copy "%OUTPUT_DIR%\libapr-1.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\libapriconv-1.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\libaprutil-1.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\libcurl.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\libxml2.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\lua5.1.dll" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\mlogc.exe" "%X86%"
|
||||||
|
copy "%OUTPUT_DIR%\ModSecurityIIS.dll" "%X86%"
|
||||||
|
copy %OUTPUT_DIR%\pcre.dll "%X86%"
|
||||||
|
copy %OUTPUT_DIR%\zlib1.dll "%X86%"
|
||||||
|
|
||||||
|
|
||||||
|
:: copy %OUTPUT_DIR%\Installer.exe %RELEASE_DIR%
|
||||||
|
:: copy %OUTPUT_DIR%\ModSecurity.xml %RELEASE_DIR%
|
||||||
|
:: copy %OUTPUT_DIR%\owasp_csr.zip %RELEASE_DIR%
|
||||||
|
:: copy %OUTPUT_DIR%\README.txt %RELEASE_DIR%
|
||||||
|
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@cd %CURRENT_DIR%
|
||||||
|
@exit /B 1
|
||||||
|
|
47
iis/dependencies/build_apache.bat
Normal file
47
iis/dependencies/build_apache.bat
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
@cd "%WORK_DIR%"
|
||||||
|
@set APACHE=%WORK_DIR%\Apache24
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%APACHE_BIN%" goto file_not_found_bin
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%APACHE_SRC%" goto file_not_found_src
|
||||||
|
|
||||||
|
@7z.exe x "%SOURCE_DIR%\%APACHE_BIN%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto something_went_wrong
|
||||||
|
|
||||||
|
@7z.exe x "%SOURCE_DIR%\%APACHE_SRC%" -so | 7z.exe x -aoa -si -ttar
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto something_went_wrong
|
||||||
|
|
||||||
|
:: Missing: %APACHE%\bin\libapr-1.pdb %APACHE%\bin\libapr-1.lib ?
|
||||||
|
copy /y "%APACHE%\bin\libapr-1.dll" "%OUTPUT_DIR%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto something_went_wrong_copy
|
||||||
|
|
||||||
|
:: Missing: %APACHE%\bin\libapriconv-1.pdb %APACHE%\lib\libapriconv-1.lib ?
|
||||||
|
copy /y "%APACHE%\bin\libapriconv-1.dll" "%OUTPUT_DIR%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto something_went_wrong_copy
|
||||||
|
|
||||||
|
:: Missing: %APACHE%\bin\libaprutil-1.pdb %APACHE%\lib\libaprutil-1.lib ?
|
||||||
|
copy /y "%APACHE%\bin\libaprutil-1.dll" "%OUTPUT_DIR%"
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto something_went_wrong_copy
|
||||||
|
|
||||||
|
@cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:something_went_wrong_copy
|
||||||
|
@echo Something went wrong while trying to copy Apache binaries files.
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: %SOURCE_DIR%\%APACHE_BIN%
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:file_not_found_src
|
||||||
|
@echo File not found: %SOURCE_DIR%\%APACHE_SRC%
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:something_went_wrong
|
||||||
|
@echo Something went wrong while unzip Apache files.
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
||||||
|
|
39
iis/dependencies/build_curl.bat
Normal file
39
iis/dependencies/build_curl.bat
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%CURL%" goto file_not_found_bin
|
||||||
|
echo "7z..."
|
||||||
|
7z.exe x "%SOURCE_DIR%\%CURL%"
|
||||||
|
echo "Timeout..."
|
||||||
|
timeout 5
|
||||||
|
echo "Curl..."
|
||||||
|
set CURL_DIR=%CURL:~0,-4%
|
||||||
|
echo "Move..."
|
||||||
|
move "%CURL_DIR%" "curl"
|
||||||
|
echo "Cd..."
|
||||||
|
:: copy /y CMakeLists.txt "curl"
|
||||||
|
CD "curl"
|
||||||
|
echo "Cmake..."
|
||||||
|
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True -DCURL_ZLIB=True
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
:: "%WORK_DIR%\fart.exe" -r -C "%WORK_DIR%\curl\include\curl\curlbuild.h" LLU ULL
|
||||||
|
NMAKE
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
copy /y "%WORK_DIR%\curl\lib\libcurl.dll" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\curl\lib\libcurl.pdb" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\curl\lib\libcurl_imp.lib" "%OUTPUT_DIR%"
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: "%SOURCE_DIR%\%CURL%"
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
||||||
|
|
35
iis/dependencies/build_libxml2.bat
Normal file
35
iis/dependencies/build_libxml2.bat
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%LIBXML2%" goto file_not_found_bin
|
||||||
|
|
||||||
|
@7z.exe x "%SOURCE_DIR%\%LIBXML2%" -so | 7z.exe x -aoa -si -ttar
|
||||||
|
|
||||||
|
set LIBXML2_DIR=%LIBXML2:~0,-7%
|
||||||
|
|
||||||
|
move "%LIBXML2_DIR%" "libxml2"
|
||||||
|
|
||||||
|
:: fart.exe -r -i -C "%WORK_DIR%\%LIBXML2_DIR%\win32\*.*" \x2Fopt:nowin98 " "
|
||||||
|
cd "libxml2\win32"
|
||||||
|
CSCRIPT configure.js iconv=no vcmanifest=yes zlib=yes
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
NMAKE -f Makefile.msvc
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
cd "%WORK%"
|
||||||
|
|
||||||
|
copy /y "%WORK_DIR%\libxml2\win32\bin.msvc\libxml2.dll" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\libxml2\win32\bin.msvc\libxml2.lib" "%OUTPUT_DIR%"
|
||||||
|
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: "%SOURCE_DIR%\%LIBXML2%"
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
||||||
|
|
39
iis/dependencies/build_lua.bat
Normal file
39
iis/dependencies/build_lua.bat
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%LUA%" goto file_not_found_bin
|
||||||
|
|
||||||
|
@7z.exe x "%SOURCE_DIR%\%LUA%" -so | 7z.exe x -aoa -si -ttar
|
||||||
|
|
||||||
|
set LUA_DIR=%LUA:~0,-7%
|
||||||
|
|
||||||
|
move "%LUA_DIR%" "lua"
|
||||||
|
|
||||||
|
cd "lua\src"
|
||||||
|
|
||||||
|
CL /Ox /arch:SSE2 /GF /GL /Gy /FD /EHsc /MD /Zi /TC /wd4005 /D "_MBCS" /D "LUA_CORE" /D "LUA_BUILD_AS_DLL" /D "_CRT_SECURE_NO_WARNINGS" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_WIN32" /D "_WINDLL" /c *.c
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
DEL lua.obj luac.obj
|
||||||
|
LINK /DLL /LTCG /DEBUG /OUT:lua5.1.dll *.obj
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
IF EXIST lua5.1.dll.manifest MT -manifest lua5.1.dll.manifest -outputresource:lua5.1.dll;2
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
|
||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
copy /y "%WORK_DIR%\lua\src\lua5.1.dll" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\lua\src\lua5.1.pdb" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\lua\src\lua5.1.lib" "%OUTPUT_DIR%"
|
||||||
|
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: "%SOURCE_DIR%\%LUA%"
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
||||||
|
|
32
iis/dependencies/build_pcre.bat
Normal file
32
iis/dependencies/build_pcre.bat
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%APACHE_BIN%" goto file_not_found_bin
|
||||||
|
|
||||||
|
7z.exe x "%SOURCE_DIR%\%PCRE%"
|
||||||
|
set PCRE_DIR=%PCRE:~0,-4%
|
||||||
|
|
||||||
|
move "%PCRE_DIR%" "pcre"
|
||||||
|
|
||||||
|
cd "pcre"
|
||||||
|
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
NMAKE
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
cd "%WORK%"
|
||||||
|
|
||||||
|
copy /y "%WORK_DIR%\pcre\pcre.dll" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\pcre\pcre.pdb" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\pcre\pcre.lib" "%OUTPUT_DIR%"
|
||||||
|
echo "a"
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: "%SOURCE_DIR%\%PCRE%"
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
34
iis/dependencies/build_zlib.bat
Normal file
34
iis/dependencies/build_zlib.bat
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
@if NOT EXIST "%SOURCE_DIR%\%ZLIB%" goto file_not_found_bin
|
||||||
|
|
||||||
|
|
||||||
|
@7z.exe x "%SOURCE_DIR%\%ZLIB%" -so | 7z.exe x -aoa -si -ttar
|
||||||
|
|
||||||
|
set ZLIB_DIR=%ZLIB:~0,-7%
|
||||||
|
|
||||||
|
move "%ZLIB_DIR%" "zlib"
|
||||||
|
|
||||||
|
cd "zlib"
|
||||||
|
nmake -f win32\Makefile.msc
|
||||||
|
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||||
|
SET INCLUDE=%INCLUDE%;%WORK_DIR%\zlib
|
||||||
|
SET LIB=%LIB%;%WORK_DIR%\zlib
|
||||||
|
cd "%WORK_DIR%"
|
||||||
|
|
||||||
|
copy /y "%WORK_DIR%\zlib\zlib1.dll" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\zlib\zlib1.pdb" "%OUTPUT_DIR%"
|
||||||
|
copy /y "%WORK_DIR%\zlib\zdll.lib" "%OUTPUT_DIR%"
|
||||||
|
|
||||||
|
@exit /B 0
|
||||||
|
|
||||||
|
:file_not_found_bin
|
||||||
|
@echo File not found: "%SOURCE_DIR%\%ZLIB%"
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:build_failed
|
||||||
|
@echo Problems during the building phase
|
||||||
|
@goto failed
|
||||||
|
|
||||||
|
:failed
|
||||||
|
@exit /B 1
|
@ -1,44 +1,44 @@
|
|||||||
WARNING!
|
WARNING!
|
||||||
|
|
||||||
Building ModSecurityIIS on Windows is a relatively complicated process. Understanding it requires advanced knowledge of Windows and Unix environments.
|
Building ModSecurityIIS on Windows is a relatively complicated process. Understanding it requires advanced knowledge of Windows and Unix environments.
|
||||||
Using the same versions of libraries as listed below is strongly recommended.
|
Using the same versions of libraries as listed below is strongly recommended.
|
||||||
|
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
Tested on:
|
Tested on:
|
||||||
|
|
||||||
Windows 7 x64
|
Windows 7 x64
|
||||||
Vistual Studio 2010 Ultimate SP1
|
Vistual Studio 2010 Ultimate SP1
|
||||||
IIS enabled/installed
|
IIS enabled/installed
|
||||||
|
|
||||||
cmake 2.8.7
|
cmake 2.8.7
|
||||||
curl 7.24.0
|
curl 7.24.0
|
||||||
apache 2.2.22 or apache 2.4.3
|
apache 2.2.22 or apache 2.4.3
|
||||||
libxml2 2.7.7
|
libxml2 2.7.7
|
||||||
lua 5.1.5
|
lua 5.1.5
|
||||||
pcre 8.30
|
pcre 8.30
|
||||||
zlib 1.2.7
|
zlib 1.2.7
|
||||||
7-Zip
|
7-Zip
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
1. Create working directory c:\work and drop directory c:\drop
|
1. Create working directory c:\work and drop directory c:\drop
|
||||||
2. Sync SVN ModSecurity branch to c:\work\mod_security
|
2. Sync SVN ModSecurity branch to c:\work\mod_security
|
||||||
3. Copy files from c:\work\mod_security\iis\winbuild to c:\work
|
3. Copy files from c:\work\mod_security\iis\winbuild to c:\work
|
||||||
4. Download and install cmake (unpack to c:\work\cmake-2.8.7-win32-x86)
|
4. Download and install cmake (unpack to c:\work\cmake-2.8.7-win32-x86)
|
||||||
5. Download and install 7-Zip
|
5. Download and install 7-Zip
|
||||||
6. Adjust paths in c:\work\init.bat accordingly if needed
|
6. Adjust paths in c:\work\init.bat accordingly if needed
|
||||||
7. Download curl, apache, libxml2, lua, pcre and zlib, place them in zip files in c:\work
|
7. Download curl, apache, libxml2, lua, pcre and zlib, place them in zip files in c:\work
|
||||||
|
|
||||||
curl-7.24.0.zip
|
curl-7.24.0.zip
|
||||||
httpd-2.2.22-win32-src.zip or (httpd-2.4.3.zip (source) and httpd-2.4.3-win32.zip + httpd-2.4.3-win64.zip (binaries))
|
httpd-2.2.22-win32-src.zip or (httpd-2.4.3.zip (source) and httpd-2.4.3-win32.zip + httpd-2.4.3-win64.zip (binaries))
|
||||||
libxml2-2.7.7.zip
|
libxml2-2.7.7.zip
|
||||||
lua-5.1.5.zip
|
lua-5.1.5.zip
|
||||||
pcre-8.30.zip
|
pcre-8.30.zip
|
||||||
zlib-1.2.7.zip
|
zlib-1.2.7.zip
|
||||||
|
|
||||||
Modify c:\work\build.bat accordingly (if other versions were used)
|
Modify c:\work\build.bat accordingly (if other versions were used)
|
||||||
|
|
||||||
8. Open cmd.exe window, go to c:\work and run buildall.bat
|
8. Open cmd.exe window, go to c:\work and run buildall.bat
|
||||||
9. When done, the binaries, lib and pdb files should appear under c:\drop\x86 (32-bit) and c:\drop\amd64 (64-bit)
|
9. When done, the binaries, lib and pdb files should appear under c:\drop\x86 (32-bit) and c:\drop\amd64 (64-bit)
|
||||||
10. Open the VS ModSecurity IIS installer project
|
10. Open the VS ModSecurity IIS installer project
|
||||||
11. Copy new binaries to the installer's x86 and amd64 directories
|
11. Copy new binaries to the installer's x86 and amd64 directories
|
||||||
12. Build installer from within VS
|
12. Build installer from within VS
|
750
iis/installer.wxs
Normal file
750
iis/installer.wxs
Normal file
@ -0,0 +1,750 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
# This comment is generated by WixEdit, the specific commandline
|
||||||
|
# arguments for the WiX Toolset are stored here.
|
||||||
|
|
||||||
|
candleArgs: -nologo "<projectfile>" -out "<projectname>.wixobj" -ext WixUtilExtension -ext WixUIExtension -dPlatform="x64"
|
||||||
|
lightArgs:
|
||||||
|
-->
|
||||||
|
<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.7.6" Manufacturer="ModSecurity" UpgradeCode="82F09489-1678-4C38-ADCB-08C3757653DB">
|
||||||
|
<Package Description="ModSecurityISS" Comments="none" InstallerVersion="200" Compressed="yes" InstallPrivileges="elevated" InstallScope="perMachine" Platform="$(var.Platform)" />
|
||||||
|
<?if $(var.Platform) = x64 ?>
|
||||||
|
<?define ProductName = "ModSecuirty IIS (64 bit)" ?>
|
||||||
|
<?define Win64 = "yes" ?>
|
||||||
|
<!--<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>-->
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
|
||||||
|
<?else ?>
|
||||||
|
<?define ProductName = "ModSecuirty IIS" ?>
|
||||||
|
<?define Win64 = "no" ?>
|
||||||
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
|
||||||
|
<?endif ?>
|
||||||
|
<Property Id="IIS">
|
||||||
|
<RegistrySearch Id="IISInstalledVersion" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Type="raw" Name="MajorVersion" />
|
||||||
|
</Property>
|
||||||
|
<Property Id="FILEEXISTS" Secure="yes">
|
||||||
|
<DirectorySearch Id="CheckFileDir1" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile1" Name="ModSecurityIIS.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir2" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile2" Name="libapr-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir3" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile3" Name="libapriconv-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir4" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile4" Name="libaprutil-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir5" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile5" Name="libcurl.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir6" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile6" Name="libxml2.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir7" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile7" Name="lua5.1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir8" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile8" Name="pcre.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir9" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile9" Name="zlib1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir10" Path="C:\Windows\SysWOW64\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile10" Name="ModSecurityIIS.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir11" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile11" Name="libapr-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir12" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile12" Name="libapriconv-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir13" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile13" Name="libaprutil-1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir14" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile14" Name="libcurl.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir15" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile15" Name="libxml2.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir16" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile16" Name="lua5.1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir17" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile17" Name="pcre.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
<DirectorySearch Id="CheckFileDir18" Path="C:\Windows\System32\inetsrv" Depth="0">
|
||||||
|
<FileSearch Id="CheckFile18" Name="zlib1.dll" />
|
||||||
|
</DirectorySearch>
|
||||||
|
</Property>
|
||||||
|
<Property Id="WWWROOT">
|
||||||
|
<RegistrySearch Id="FindInetPubFolder" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="PathWWWRoot" Type="directory" />
|
||||||
|
</Property>
|
||||||
|
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
|
||||||
|
<Condition Message="This setup requires IIS 6.0, 7.0 or 8.0 is installed."><![CDATA[(IIS="#7") OR (IIS="#6") OR (IIS="#8")]]></Condition>
|
||||||
|
<!-- Version 2.7.6 had an uninstall issue that leaves some files behind. Asking the user to manually hash this out. -->
|
||||||
|
<Condition Message="A older version of ModSecurityIIS was found in your computer. Please complete uninstall by removing the following file: [FILEEXISTS]. You may have to remove ModSecurity module from IIS, use the IIS Manager to do so."><![CDATA[(NOT FILEEXISTS) OR (Installed)]]></Condition>
|
||||||
|
<!--
|
||||||
|
Won't necessary. We can install 32bits stuff in a 64 machine. If IIS is proper
|
||||||
|
configured it will work like a charm.
|
||||||
|
|
||||||
|
<Condition Message="64-bit operating system was detected, please use the 64-bit installer.">
|
||||||
|
<?if $(var.Win64) = "yes" ?>
|
||||||
|
VersionNT64
|
||||||
|
<?else?>
|
||||||
|
NOT VersionNT64
|
||||||
|
<?endif?>
|
||||||
|
</Condition>
|
||||||
|
-->
|
||||||
|
<Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
|
||||||
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
|
<Directory Id="SystemFolder" Name="SystemFolder">
|
||||||
|
<Directory Id="inetsrv" Name="inetsrv"/>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="$(var.PlatformProgramFilesFolder)">
|
||||||
|
<Directory Id="INSTALLFOLDER" Name="ModSecurity IIS">
|
||||||
|
<!-- </Directory>
|
||||||
|
<Directory Id="WWWROOT" Name="[WWWROOT]"> -->
|
||||||
|
<Directory Id="OWASP_CRS" Name="owasp_crs">
|
||||||
|
<Component Id="_.GITIGNORE" DiskId="1" Guid="64629082-F6A2-4675-9E3E-4EA363CD6502">
|
||||||
|
<File Id="_.GITIGNORE" Name=".gitignore" Source="release\owasp_crs\.gitignore" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="CHANGES" DiskId="1" Guid="F392B5B3-5703-4FB8-9578-BBF7454DA7DA">
|
||||||
|
<File Id="CHANGES" Name="CHANGES" Source="release\owasp_crs\CHANGES" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="INSTALL" DiskId="1" Guid="BCC0CA30-22B6-4D32-90EF-0E4BD688865F">
|
||||||
|
<File Id="INSTALL" Name="INSTALL" Source="release\owasp_crs\INSTALL" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LICENSE" DiskId="1" Guid="32DBDBCC-B2AC-4FA4-82AB-BFD7F9F2F089">
|
||||||
|
<File Id="LICENSE" Name="LICENSE" Source="release\owasp_crs\LICENSE" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_10_SETUP.CONF.EXAMPLE" DiskId="1" Guid="6A87F473-6E1F-4F85-9A03-CC4F6CB7F826">
|
||||||
|
<File Id="MODSECURITY_CRS_10_SETUP.CONF.EXAMPLE" Name="modsecurity_crs_10_setup.conf.example" Source="release\owasp_crs\modsecurity_crs_10_setup.conf.example" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="README.MD" DiskId="1" Guid="BED770B8-BEC9-4326-AF04-7B75E319B899">
|
||||||
|
<File Id="README.MD" Name="README.md" Source="release\owasp_crs\README.md" />
|
||||||
|
</Component>
|
||||||
|
<Directory Id="ACTIVATED_RULES" Name="activated_rules">
|
||||||
|
<Component Id="README" DiskId="1" Guid="F06FC044-52E6-412E-80E6-6644486A522B">
|
||||||
|
<File Id="README" Name="README" Source="release\owasp_crs\activated_rules\README" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="BASE_RULES" Name="base_rules">
|
||||||
|
<Component Id="MODSECURITY_35_BAD_ROBOTS.DATA" DiskId="1" Guid="66EB7DE9-E12D-4360-B096-75CAB0498E88">
|
||||||
|
<File Id="MODSECURITY_35_BAD_ROBOTS.DATA" Name="modsecurity_35_bad_robots.data" Source="release\owasp_crs\base_rules\modsecurity_35_bad_robots.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_35_SCANNERS.DATA" DiskId="1" Guid="CA206BA2-F54C-41A9-8B13-EA07C0A2CA89">
|
||||||
|
<File Id="MODSECURITY_35_SCANNERS.DATA" Name="modsecurity_35_scanners.data" Source="release\owasp_crs\base_rules\modsecurity_35_scanners.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_40_GENERIC_ATTACKS.DATA" DiskId="1" Guid="23BBF95B-D4B7-4ECA-AB52-B563DD112027">
|
||||||
|
<File Id="MODSECURITY_40_GENERIC_ATTACKS.DATA" Name="modsecurity_40_generic_attacks.data" Source="release\owasp_crs\base_rules\modsecurity_40_generic_attacks.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_50_OUTBOUND.DATA" DiskId="1" Guid="EA0D5FBB-69E5-4A42-A64D-F12F528CE3A6">
|
||||||
|
<File Id="MODSECURITY_50_OUTBOUND.DATA" Name="modsecurity_50_outbound.data" Source="release\owasp_crs\base_rules\modsecurity_50_outbound.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_50_OUTBOUND_MALWARE.DATA" DiskId="1" Guid="97BC0C05-6487-4389-A042-D840F12F5C67">
|
||||||
|
<File Id="MODSECURITY_50_OUTBOUND_MALWARE.DATA" Name="modsecurity_50_outbound_malware.data" Source="release\owasp_crs\base_rules\modsecurity_50_outbound_malware.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.CONF" DiskId="1" Guid="634C707B-27E0-46D2-A24C-1EC60BF94840">
|
||||||
|
<File Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.CONF" Name="modsecurity_crs_20_protocol_violations.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_20_protocol_violations.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.CONF" DiskId="1" Guid="BF6CA903-978F-4FEC-90C6-310C9DB00F9C">
|
||||||
|
<File Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.CONF" Name="modsecurity_crs_21_protocol_anomalies.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_21_protocol_anomalies.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_23_REQUEST_LIMITS.CONF" DiskId="1" Guid="BB32F9E8-90D0-4C6D-8B81-66E82232260E">
|
||||||
|
<File Id="MODSECURITY_CRS_23_REQUEST_LIMITS.CONF" Name="modsecurity_crs_23_request_limits.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_23_request_limits.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_30_HTTP_POLICY.CONF" DiskId="1" Guid="B396E825-30CE-47FD-9B8B-C4120C08C573">
|
||||||
|
<File Id="MODSECURITY_CRS_30_HTTP_POLICY.CONF" Name="modsecurity_crs_30_http_policy.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_30_http_policy.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_35_BAD_ROBOTS.CONF" DiskId="1" Guid="F4443062-8C25-44B6-90F4-07D3AA264119">
|
||||||
|
<File Id="MODSECURITY_CRS_35_BAD_ROBOTS.CONF" Name="modsecurity_crs_35_bad_robots.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_35_bad_robots.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.CONF" DiskId="1" Guid="F9CBEF9D-0623-46FC-9ED1-7CEB6797F632">
|
||||||
|
<File Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.CONF" Name="modsecurity_crs_40_generic_attacks.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_40_generic_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.CONF" DiskId="1" Guid="A3750D66-5EBF-4A4B-A022-BD8A960B25C6">
|
||||||
|
<File Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.CONF" Name="modsecurity_crs_41_sql_injection_attacks.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_41_sql_injection_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_41_XSS_ATTACKS.CONF" DiskId="1" Guid="0B1E8868-FEAD-4957-95F8-BDB9A6883E60">
|
||||||
|
<File Id="MODSECURITY_CRS_41_XSS_ATTACKS.CONF" Name="modsecurity_crs_41_xss_attacks.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_41_xss_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_42_TIGHT_SECURITY.CONF" DiskId="1" Guid="2B0AB195-55A3-4518-8CAE-DB6327AE13C9">
|
||||||
|
<File Id="MODSECURITY_CRS_42_TIGHT_SECURITY.CONF" Name="modsecurity_crs_42_tight_security.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_42_tight_security.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_45_TROJANS.CONF" DiskId="1" Guid="E365E9B9-00A2-49EE-88BC-62C4F3FF4B6E">
|
||||||
|
<File Id="MODSECURITY_CRS_45_TROJANS.CONF" Name="modsecurity_crs_45_trojans.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_45_trojans.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_47_COMMON_EXCEPTIONS.CONF" DiskId="1" Guid="B0AFBC61-47D6-48F2-9930-B1625207650F">
|
||||||
|
<File Id="MODSECURITY_CRS_47_COMMON_EXCEPTIONS.CONF" Name="modsecurity_crs_47_common_exceptions.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_47_common_exceptions.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_48_LOCAL_EXCEPTIONS.CONF.EXAMPLE" DiskId="1" Guid="0529CA91-785B-4FBA-A22C-DC0CFAAB2AE3">
|
||||||
|
<File Id="MODSECURITY_CRS_48_LOCAL_EXCEPTIONS.CONF.EXAMPLE" Name="modsecurity_crs_48_local_exceptions.conf.example" Source="release\owasp_crs\base_rules\modsecurity_crs_48_local_exceptions.conf.example" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_49_INBOUND_BLOCKING.CONF" DiskId="1" Guid="8708633A-3D28-4F93-AE12-27F3E7494D2C">
|
||||||
|
<File Id="MODSECURITY_CRS_49_INBOUND_BLOCKING.CONF" Name="modsecurity_crs_49_inbound_blocking.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_49_inbound_blocking.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_50_OUTBOUND.CONF" DiskId="1" Guid="A59F553E-0AB8-46C8-B3AE-D4356C2331B0">
|
||||||
|
<File Id="MODSECURITY_CRS_50_OUTBOUND.CONF" Name="modsecurity_crs_50_outbound.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_50_outbound.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_59_OUTBOUND_BLOCKING.CONF" DiskId="1" Guid="14D6B456-B9E6-4F4E-996B-2306FA72F1B4">
|
||||||
|
<File Id="MODSECURITY_CRS_59_OUTBOUND_BLOCKING.CONF" Name="modsecurity_crs_59_outbound_blocking.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_59_outbound_blocking.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_60_CORRELATION.CONF" DiskId="1" Guid="F5A97EA0-80CC-4ECD-AA3A-822780B0064A">
|
||||||
|
<File Id="MODSECURITY_CRS_60_CORRELATION.CONF" Name="modsecurity_crs_60_correlation.conf" Source="release\owasp_crs\base_rules\modsecurity_crs_60_correlation.conf" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="EXPERIMENTAL_RULES" Name="experimental_rules">
|
||||||
|
<Component Id="MODSECURITY_CRS_11_BRUTE_FORCE.CONF" DiskId="1" Guid="B2504C95-7338-49CA-9786-ACEF671ABB93">
|
||||||
|
<File Id="MODSECURITY_CRS_11_BRUTE_FORCE.CONF" Name="modsecurity_crs_11_brute_force.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_11_brute_force.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_11_DOS_PROTECTION.CONF" DiskId="1" Guid="B4B6224A-47DD-46B0-93FE-8BF2AA657525">
|
||||||
|
<File Id="MODSECURITY_CRS_11_DOS_PROTECTION.CONF" Name="modsecurity_crs_11_dos_protection.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_11_dos_protection.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_11_PROXY_ABUSE.CONF" DiskId="1" Guid="EFE8B978-7E08-4CC9-B54B-6E54FA40AFED">
|
||||||
|
<File Id="MODSECURITY_CRS_11_PROXY_ABUSE.CONF" Name="modsecurity_crs_11_proxy_abuse.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_11_proxy_abuse.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_11_SLOW_DOS_PROTECTION.CONF" DiskId="1" Guid="78C29C01-40D3-48D2-9ECA-FFF309AF5096">
|
||||||
|
<File Id="MODSECURITY_CRS_11_SLOW_DOS_PROTECTION.CONF" Name="modsecurity_crs_11_slow_dos_protection.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_11_slow_dos_protection.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_16_SCANNER_INTEGRATION.CONF" DiskId="1" Guid="F8B8A64D-0F7F-49A9-AE9C-38E323659BE1">
|
||||||
|
<File Id="MODSECURITY_CRS_16_SCANNER_INTEGRATION.CONF" Name="modsecurity_crs_16_scanner_integration.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_16_scanner_integration.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_25_CC_TRACK_PAN.CONF" DiskId="1" Guid="6C435FB6-4293-4297-9B59-72AA8F4664EC">
|
||||||
|
<File Id="MODSECURITY_CRS_25_CC_TRACK_PAN.CONF" Name="modsecurity_crs_25_cc_track_pan.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_25_cc_track_pan.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.0_SETUP.CONF" DiskId="1" Guid="3627E92F-ADF1-45E0-B249-E2DCC9587B50">
|
||||||
|
<File Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.0_SETUP.CONF" Name="modsecurity_crs_40_appsensor_detection_point_2.0_setup.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_40_appsensor_detection_point_2.0_setup.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.1_REQUEST_EXCEPTION.CONF" DiskId="1" Guid="F1A4BE30-699E-4892-B506-EB3FC9379C57">
|
||||||
|
<File Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.1_REQUEST_EXCEPTION.CONF" Name="modsecurity_crs_40_appsensor_detection_point_2.1_request_exception.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_40_appsensor_detection_point_2.1_request_exception.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.9_HONEYTRAP.CONF" DiskId="1" Guid="256EB87C-BAF5-4155-8392-5B0C8803882A">
|
||||||
|
<File Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.9_HONEYTRAP.CONF" Name="modsecurity_crs_40_appsensor_detection_point_2.9_honeytrap.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_40_appsensor_detection_point_2.9_honeytrap.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_3.0_END.CONF" DiskId="1" Guid="5B4D9A6B-F54B-4875-A64B-B4A2F74B1298">
|
||||||
|
<File Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_3.0_END.CONF" Name="modsecurity_crs_40_appsensor_detection_point_3.0_end.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_40_appsensor_detection_point_3.0_end.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_HTTP_PARAMETER_POLLUTION.CONF" DiskId="1" Guid="31C832E0-3E79-4F14-89BA-AFD1072F9A6D">
|
||||||
|
<File Id="MODSECURITY_CRS_40_HTTP_PARAMETER_POLLUTION.CONF" Name="modsecurity_crs_40_http_parameter_pollution.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_40_http_parameter_pollution.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_42_CSP_ENFORCEMENT.CONF" DiskId="1" Guid="9D853A58-A5A4-4EBD-990B-152AB4350326">
|
||||||
|
<File Id="MODSECURITY_CRS_42_CSP_ENFORCEMENT.CONF" Name="modsecurity_crs_42_csp_enforcement.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_42_csp_enforcement.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SCANNER_INTEGRATION.CONF" DiskId="1" Guid="01D4EBBD-F7DE-444D-89B4-848BC30B1233">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SCANNER_INTEGRATION.CONF" Name="modsecurity_crs_46_scanner_integration.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_46_scanner_integration.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_48_BAYES_ANALYSIS.CONF" DiskId="1" Guid="6DD49981-2CAA-4AD9-943D-60E6C71E0CE1">
|
||||||
|
<File Id="MODSECURITY_CRS_48_BAYES_ANALYSIS.CONF" Name="modsecurity_crs_48_bayes_analysis.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_48_bayes_analysis.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_55_RESPONSE_PROFILING.CONF" DiskId="1" Guid="3FF3801E-C915-4C87-9741-48449ADBBB28">
|
||||||
|
<File Id="MODSECURITY_CRS_55_RESPONSE_PROFILING.CONF" Name="modsecurity_crs_55_response_profiling.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_55_response_profiling.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_56_PVI_CHECKS.CONF" DiskId="1" Guid="184CE6CF-9999-4D28-A70E-6762B96181FD">
|
||||||
|
<File Id="MODSECURITY_CRS_56_PVI_CHECKS.CONF" Name="modsecurity_crs_56_pvi_checks.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_56_pvi_checks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_61_IP_FORENSICS.CONF" DiskId="1" Guid="F7AF0FFB-2346-4159-BC72-19FE52487231">
|
||||||
|
<File Id="MODSECURITY_CRS_61_IP_FORENSICS.CONF" Name="modsecurity_crs_61_ip_forensics.conf" Source="release\owasp_crs\experimental_rules\modsecurity_crs_61_ip_forensics.conf" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="LUA" Name="lua">
|
||||||
|
<Component Id="ADVANCED_FILTER_CONVERTER.LUA" DiskId="1" Guid="BF9033A5-C9A4-4867-92CA-CDD174CBE420">
|
||||||
|
<File Id="ADVANCED_FILTER_CONVERTER.LUA" Name="advanced_filter_converter.lua" Source="release\owasp_crs\lua\advanced_filter_converter.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="APPSENSOR_REQUEST_EXCEPTION_ENFORCE.LUA" DiskId="1" Guid="108E0164-5221-4834-8004-A54A94DD26F9">
|
||||||
|
<File Id="APPSENSOR_REQUEST_EXCEPTION_ENFORCE.LUA" Name="appsensor_request_exception_enforce.lua" Source="release\owasp_crs\lua\appsensor_request_exception_enforce.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="APPSENSOR_REQUEST_EXCEPTION_PROFILE.LUA" DiskId="1" Guid="F7C270EA-2609-4C04-A4C6-0CB247B9C854">
|
||||||
|
<File Id="APPSENSOR_REQUEST_EXCEPTION_PROFILE.LUA" Name="appsensor_request_exception_profile.lua" Source="release\owasp_crs\lua\appsensor_request_exception_profile.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="ARACHNI_INTEGRATION.LUA" DiskId="1" Guid="93653BD0-2E5B-4798-B098-73428806865A">
|
||||||
|
<File Id="ARACHNI_INTEGRATION.LUA" Name="arachni_integration.lua" Source="release\owasp_crs\lua\arachni_integration.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="BAYES_CHECK_SPAM.LUA" DiskId="1" Guid="825D79AD-5A1A-416A-B905-AC686E9FC6D8">
|
||||||
|
<File Id="BAYES_CHECK_SPAM.LUA" Name="bayes_check_spam.lua" Source="release\owasp_crs\lua\bayes_check_spam.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="BAYES_TRAIN_HAM.LUA" DiskId="1" Guid="C61EDAAD-2F43-496D-A2C1-A89B6F3DEC68">
|
||||||
|
<File Id="BAYES_TRAIN_HAM.LUA" Name="bayes_train_ham.lua" Source="release\owasp_crs\lua\bayes_train_ham.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="BAYES_TRAIN_SPAM.LUA" DiskId="1" Guid="7D1816A3-9705-4146-AC9E-C835C2EA57CB">
|
||||||
|
<File Id="BAYES_TRAIN_SPAM.LUA" Name="bayes_train_spam.lua" Source="release\owasp_crs\lua\bayes_train_spam.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="GATHER_IP_DATA.LUA" DiskId="1" Guid="F317DF73-6461-4E85-B776-153F86526CDB">
|
||||||
|
<File Id="GATHER_IP_DATA.LUA" Name="gather_ip_data.lua" Source="release\owasp_crs\lua\gather_ip_data.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="OSVDB.LUA" DiskId="1" Guid="AEED3BB6-1132-43D4-BA19-6863AE3E08C3">
|
||||||
|
<File Id="OSVDB.LUA" Name="osvdb.lua" Source="release\owasp_crs\lua\osvdb.lua" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="PROFILE_PAGE_SCRIPTS.LUA" DiskId="1" Guid="44D1B12B-3F51-4EC3-9DB5-D887F7B941CB">
|
||||||
|
<File Id="PROFILE_PAGE_SCRIPTS.LUA" Name="profile_page_scripts.lua" Source="release\owasp_crs\lua\profile_page_scripts.lua" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="OPTIONAL_RULES" Name="optional_rules">
|
||||||
|
<Component Id="MODSECURITY_42_COMMENT_SPAM.DATA" DiskId="1" Guid="8744C127-31F0-4C4E-85FB-D86BDEA3627B">
|
||||||
|
<File Id="MODSECURITY_42_COMMENT_SPAM.DATA" Name="modsecurity_42_comment_spam.data" Source="release\owasp_crs\optional_rules\modsecurity_42_comment_spam.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_10_IGNORE_STATIC.CONF" DiskId="1" Guid="38C5BB11-D5CA-4D24-A1AD-A10014225B3E">
|
||||||
|
<File Id="MODSECURITY_CRS_10_IGNORE_STATIC.CONF" Name="modsecurity_crs_10_ignore_static.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_10_ignore_static.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_11_AVS_TRAFFIC.CONF" DiskId="1" Guid="A89C0F8A-72CE-450F-ABF6-7AA3BFEB83CA">
|
||||||
|
<File Id="MODSECURITY_CRS_11_AVS_TRAFFIC.CONF" Name="modsecurity_crs_11_avs_traffic.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_11_avs_traffic.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_13_XML_ENABLER.CONF" DiskId="1" Guid="1399D33C-70B7-48BF-B757-04B77F502DEB">
|
||||||
|
<File Id="MODSECURITY_CRS_13_XML_ENABLER.CONF" Name="modsecurity_crs_13_xml_enabler.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_13_xml_enabler.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_16_AUTHENTICATION_TRACKING.CONF" DiskId="1" Guid="E2D8C3F5-7D9B-4407-9D9F-F433F4E1F01B">
|
||||||
|
<File Id="MODSECURITY_CRS_16_AUTHENTICATION_TRACKING.CONF" Name="modsecurity_crs_16_authentication_tracking.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_16_authentication_tracking.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_16_SESSION_HIJACKING.CONF" DiskId="1" Guid="1E6A5036-CF10-4D48-8209-6B0FCBE4A24B">
|
||||||
|
<File Id="MODSECURITY_CRS_16_SESSION_HIJACKING.CONF" Name="modsecurity_crs_16_session_hijacking.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_16_session_hijacking.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_16_USERNAME_TRACKING.CONF" DiskId="1" Guid="028E96D3-8C3C-4CD1-BBE4-F57A6347B85D">
|
||||||
|
<File Id="MODSECURITY_CRS_16_USERNAME_TRACKING.CONF" Name="modsecurity_crs_16_username_tracking.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_16_username_tracking.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_25_CC_KNOWN.CONF" DiskId="1" Guid="450F7C2C-8B0D-4A59-9094-6971C54318DE">
|
||||||
|
<File Id="MODSECURITY_CRS_25_CC_KNOWN.CONF" Name="modsecurity_crs_25_cc_known.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_25_cc_known.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_42_COMMENT_SPAM.CONF" DiskId="1" Guid="35A7A16E-CE14-433B-9C55-4A319CF6243B">
|
||||||
|
<File Id="MODSECURITY_CRS_42_COMMENT_SPAM.CONF" Name="modsecurity_crs_42_comment_spam.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_42_comment_spam.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_43_CSRF_PROTECTION.CONF" DiskId="1" Guid="1782BFBE-8575-4914-9694-C1825BF3C83A">
|
||||||
|
<File Id="MODSECURITY_CRS_43_CSRF_PROTECTION.CONF" Name="modsecurity_crs_43_csrf_protection.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_43_csrf_protection.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_AV_SCANNING.CONF" DiskId="1" Guid="A9F1CE92-B4F5-485E-AA1E-D99184BD8F39">
|
||||||
|
<File Id="MODSECURITY_CRS_46_AV_SCANNING.CONF" Name="modsecurity_crs_46_av_scanning.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_46_av_scanning.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_47_SKIP_OUTBOUND_CHECKS.CONF" DiskId="1" Guid="80D6A043-50DC-4E84-AC1B-1F9DEE074D89">
|
||||||
|
<File Id="MODSECURITY_CRS_47_SKIP_OUTBOUND_CHECKS.CONF" Name="modsecurity_crs_47_skip_outbound_checks.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_47_skip_outbound_checks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_49_HEADER_TAGGING.CONF" DiskId="1" Guid="6FBEA0F5-94B5-447C-9F3D-230B5C9109FB">
|
||||||
|
<File Id="MODSECURITY_CRS_49_HEADER_TAGGING.CONF" Name="modsecurity_crs_49_header_tagging.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_49_header_tagging.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_55_APPLICATION_DEFECTS.CONF" DiskId="1" Guid="BB8BDC87-4B50-4CE6-9893-7C53AD3EC971">
|
||||||
|
<File Id="MODSECURITY_CRS_55_APPLICATION_DEFECTS.CONF" Name="modsecurity_crs_55_application_defects.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_55_application_defects.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_55_MARKETING.CONF" DiskId="1" Guid="90CDE413-E4B0-4609-83F1-210545203880">
|
||||||
|
<File Id="MODSECURITY_CRS_55_MARKETING.CONF" Name="modsecurity_crs_55_marketing.conf" Source="release\owasp_crs\optional_rules\modsecurity_crs_55_marketing.conf" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="SLR_RULES" Name="slr_rules">
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_JOOMLA.DATA" DiskId="1" Guid="A880D035-8933-4A83-9D14-2FE010F4BF79">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_JOOMLA.DATA" Name="modsecurity_46_slr_et_joomla.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_joomla.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_LFI.DATA" DiskId="1" Guid="8D276187-4464-4B1C-AAB7-BBBF04B235CF">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_LFI.DATA" Name="modsecurity_46_slr_et_lfi.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_lfi.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_PHPBB.DATA" DiskId="1" Guid="4E0D55ED-B346-41E4-BA75-A1E008D5595B">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_PHPBB.DATA" Name="modsecurity_46_slr_et_phpbb.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_phpbb.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_RFI.DATA" DiskId="1" Guid="437E4792-C537-49ED-990A-FB6980E414B7">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_RFI.DATA" Name="modsecurity_46_slr_et_rfi.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_rfi.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_SQLI.DATA" DiskId="1" Guid="FD80B47F-D98E-4878-903A-15F1A971DE56">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_SQLI.DATA" Name="modsecurity_46_slr_et_sqli.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_sqli.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_WORDPRESS.DATA" DiskId="1" Guid="A7BD059D-3C96-4C36-AC72-C1697A65CAAD">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_WORDPRESS.DATA" Name="modsecurity_46_slr_et_wordpress.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_wordpress.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_46_SLR_ET_XSS.DATA" DiskId="1" Guid="2B284399-9BBD-4F25-81B9-40D5FCF66576">
|
||||||
|
<File Id="MODSECURITY_46_SLR_ET_XSS.DATA" Name="modsecurity_46_slr_et_xss.data" Source="release\owasp_crs\slr_rules\modsecurity_46_slr_et_xss.data" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_JOOMLA_ATTACKS.CONF" DiskId="1" Guid="981DAB23-63E8-4BD0-9ABD-D719B4A3313B">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_JOOMLA_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_joomla_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_joomla_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_LFI_ATTACKS.CONF" DiskId="1" Guid="AC8469DC-2DF7-49A8-9439-4F47253EAB90">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_LFI_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_lfi_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_lfi_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_PHPBB_ATTACKS.CONF" DiskId="1" Guid="92B9316A-DA96-4CF6-964F-8AE9F8F7DDAD">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_PHPBB_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_phpbb_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_phpbb_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_RFI_ATTACKS.CONF" DiskId="1" Guid="BBFCC3E1-0E62-4202-9BE8-3EA1DB0C2387">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_RFI_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_rfi_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_rfi_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_SQLI_ATTACKS.CONF" DiskId="1" Guid="5106909C-0F9A-4E1A-88F5-93B27BFD33B8">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_SQLI_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_sqli_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_sqli_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_WORDPRESS_ATTACKS.CONF" DiskId="1" Guid="E77E12C3-22DB-4F57-93FA-56256722F21A">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_WORDPRESS_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_wordpress_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_wordpress_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_46_SLR_ET_XSS_ATTACKS.CONF" DiskId="1" Guid="456D8604-CE06-498D-BC2F-105D54C66CFB">
|
||||||
|
<File Id="MODSECURITY_CRS_46_SLR_ET_XSS_ATTACKS.CONF" Name="modsecurity_crs_46_slr_et_xss_attacks.conf" Source="release\owasp_crs\slr_rules\modsecurity_crs_46_slr_et_xss_attacks.conf" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="UTIL" Name="util">
|
||||||
|
<Component Id="README_1" DiskId="1" Guid="A95D50D7-4E87-4A87-BAD1-12370B8F5B9B">
|
||||||
|
<File Id="README_1" Name="README" Source="release\owasp_crs\util\README" />
|
||||||
|
</Component>
|
||||||
|
<Directory Id="AV_SCANNING" Name="av-scanning">
|
||||||
|
<Component Id="RUNAV.PL" DiskId="1" Guid="398B0257-F78A-4F8C-B313-90D0F61581A9">
|
||||||
|
<File Id="RUNAV.PL" Name="runav.pl" Source="release\owasp_crs\util\av-scanning\runav.pl" />
|
||||||
|
</Component>
|
||||||
|
<Directory Id="RUNAV" Name="runAV">
|
||||||
|
<Component Id="COMMON.C" DiskId="1" Guid="3EA0484E-5E42-43C3-B89B-71BCC89DBB4F">
|
||||||
|
<File Id="COMMON.C" Name="common.c" Source="release\owasp_crs\util\av-scanning\runAV\common.c" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="COMMON.H" DiskId="1" Guid="29504C05-6147-4957-8390-60F039463FA9">
|
||||||
|
<File Id="COMMON.H" Name="common.h" Source="release\owasp_crs\util\av-scanning\runAV\common.h" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="COMP" DiskId="1" Guid="CEB59BC0-C76D-4DBA-B0A0-42124A020FE4">
|
||||||
|
<File Id="COMP" Name="comp" Source="release\owasp_crs\util\av-scanning\runAV\comp" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="RUNAV_CLAMD.C" DiskId="1" Guid="FB6785F2-D985-4E68-8D7C-CBB0CDB7044F">
|
||||||
|
<File Id="RUNAV_CLAMD.C" Name="runAV-clamd.c" Source="release\owasp_crs\util\av-scanning\runAV\runAV-clamd.c" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="RUNAV.C" DiskId="1" Guid="6121CDE1-8E12-41A0-812D-E8CD0540FCB9">
|
||||||
|
<File Id="RUNAV.C" Name="runAV.c" Source="release\owasp_crs\util\av-scanning\runAV\runAV.c" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="BROWSER_TOOLS" Name="browser-tools">
|
||||||
|
<Component Id="JS_OVERRIDES.JS" DiskId="1" Guid="A81D4319-9C26-4E29-A0BD-FC2DED0045A7">
|
||||||
|
<File Id="JS_OVERRIDES.JS" Name="js-overrides.js" Source="release\owasp_crs\util\browser-tools\js-overrides.js" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="HONEYPOT_SENSOR" Name="honeypot-sensor">
|
||||||
|
<Component Id="MLOGC_HONEYPOT_SENSOR.CONF" DiskId="1" Guid="3D3DD51F-70FF-41CE-A756-2C2935A71BA8">
|
||||||
|
<File Id="MLOGC_HONEYPOT_SENSOR.CONF" Name="mlogc-honeypot-sensor.conf" Source="release\owasp_crs\util\honeypot-sensor\mlogc-honeypot-sensor.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_10_HONEYPOT.CONF" DiskId="1" Guid="5F643F1F-1AEA-404B-9261-2FBE34620C70">
|
||||||
|
<File Id="MODSECURITY_CRS_10_HONEYPOT.CONF" Name="modsecurity_crs_10_honeypot.conf" Source="release\owasp_crs\util\honeypot-sensor\modsecurity_crs_10_honeypot.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="README.MD_1" DiskId="1" Guid="35D1829A-13D8-4CC9-8706-6EC4EBB56C53">
|
||||||
|
<File Id="README.MD_1" Name="README.md" Source="release\owasp_crs\util\honeypot-sensor\README.md" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="REGRESSION_TESTS" Name="regression-tests">
|
||||||
|
<Component Id="INSTALL_1" DiskId="1" Guid="02AF3C5A-DCF9-4DB6-A1C8-B1EF140C8EBC">
|
||||||
|
<File Id="INSTALL_1" Name="INSTALL" Source="release\owasp_crs\util\regression-tests\INSTALL" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_59_HEADER_TAGGING.CONF" DiskId="1" Guid="42C2D42E-DCAE-4212-8B43-ABA5F8467393">
|
||||||
|
<File Id="MODSECURITY_CRS_59_HEADER_TAGGING.CONF" Name="modsecurity_crs_59_header_tagging.conf" Source="release\owasp_crs\util\regression-tests\modsecurity_crs_59_header_tagging.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="README_2" DiskId="1" Guid="E4C933D0-810A-4CD7-9453-9D3CD91785B3">
|
||||||
|
<File Id="README_2" Name="README" Source="release\owasp_crs\util\regression-tests\README" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="RULESTEST.CONF" DiskId="1" Guid="71B11439-F036-4BEB-9052-196E66C89815">
|
||||||
|
<File Id="RULESTEST.CONF" Name="rulestest.conf" Source="release\owasp_crs\util\regression-tests\rulestest.conf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="RULESTEST.PL" DiskId="1" Guid="B6F99088-BD50-4A1D-9C50-27178593D561">
|
||||||
|
<File Id="RULESTEST.PL" Name="rulestest.pl" Source="release\owasp_crs\util\regression-tests\rulestest.pl" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="TESTSERVER.CGI" DiskId="1" Guid="F2DFC065-4342-4457-8A1D-EFC9229597FF">
|
||||||
|
<File Id="TESTSERVER.CGI" Name="testserver.cgi" Source="release\owasp_crs\util\regression-tests\testserver.cgi" />
|
||||||
|
</Component>
|
||||||
|
<Directory Id="TESTS" Name="tests">
|
||||||
|
<Component Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.TESTS" DiskId="1" Guid="FCCBB8FE-4327-4AF0-AB5C-3120858EBB16">
|
||||||
|
<File Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.TESTS" Name="modsecurity_crs_20_protocol_violations.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_20_protocol_violations.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.TESTS" DiskId="1" Guid="10EA8DFE-BEDC-46F6-8F42-6F9DB7E2BB91">
|
||||||
|
<File Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.TESTS" Name="modsecurity_crs_21_protocol_anomalies.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_21_protocol_anomalies.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_23_REQUEST_LIMITS.TESTS" DiskId="1" Guid="D6423225-9D55-44BF-8369-88F0A4169DEC">
|
||||||
|
<File Id="MODSECURITY_CRS_23_REQUEST_LIMITS.TESTS" Name="modsecurity_crs_23_request_limits.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_23_request_limits.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_30_HTTP_POLICY.TESTS" DiskId="1" Guid="AE373E10-4CF1-425A-AA71-826544A268F1">
|
||||||
|
<File Id="MODSECURITY_CRS_30_HTTP_POLICY.TESTS" Name="modsecurity_crs_30_http_policy.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_30_http_policy.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_35_BAD_ROBOTS.TESTS" DiskId="1" Guid="F8598994-3565-4900-BA68-62B4CF38079C">
|
||||||
|
<File Id="MODSECURITY_CRS_35_BAD_ROBOTS.TESTS" Name="modsecurity_crs_35_bad_robots.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_35_bad_robots.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.TESTS" DiskId="1" Guid="F5ADA896-81BD-48BE-A2D6-07B8D6914602">
|
||||||
|
<File Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.TESTS" Name="modsecurity_crs_40_generic_attacks.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_40_generic_attacks.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.TESTS" DiskId="1" Guid="FA1A3FE9-CF6E-47C2-91FD-5CB4B7C38532">
|
||||||
|
<File Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.TESTS" Name="modsecurity_crs_41_sql_injection_attacks.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_41_sql_injection_attacks.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_41_XSS_ATTACKS.TESTS" DiskId="1" Guid="371184B4-6F7C-4F5A-A7BC-CEA578FF18A5">
|
||||||
|
<File Id="MODSECURITY_CRS_41_XSS_ATTACKS.TESTS" Name="modsecurity_crs_41_xss_attacks.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_41_xss_attacks.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITY_CRS_50_OUTBOUND.TESTS" DiskId="1" Guid="5A55697D-5A14-4E45-B0A6-CD9475EA2C3D">
|
||||||
|
<File Id="MODSECURITY_CRS_50_OUTBOUND.TESTS" Name="modsecurity_crs_50_outbound.tests" Source="release\owasp_crs\util\regression-tests\tests\modsecurity_crs_50_outbound.tests" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="RUBY.TESTS" DiskId="1" Guid="F3A13399-D449-4F90-8C0E-E9E5988D45AE">
|
||||||
|
<File Id="RUBY.TESTS" Name="ruby.tests" Source="release\owasp_crs\util\regression-tests\tests\ruby.tests" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="RULE_MANAGEMENT" Name="rule-management">
|
||||||
|
<Component Id="ID_RANGE" DiskId="1" Guid="0368949F-5721-4648-A789-1D5598F327F5">
|
||||||
|
<File Id="ID_RANGE" Name="id-range" Source="release\owasp_crs\util\rule-management\id-range" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="REMOVE_2.7_ACTIONS.PL" DiskId="1" Guid="9624F10D-AFD5-4CC8-8C89-F9C969CDA31D">
|
||||||
|
<File Id="REMOVE_2.7_ACTIONS.PL" Name="remove-2.7-actions.pl" Source="release\owasp_crs\util\rule-management\remove-2.7-actions.pl" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="VERIFY.RB" DiskId="1" Guid="4D4AB297-50DB-411E-8D12-E0205CCB53B4">
|
||||||
|
<File Id="VERIFY.RB" Name="verify.rb" Source="release\owasp_crs\util\rule-management\verify.rb" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="VIRTUAL_PATCHING" Name="virtual-patching">
|
||||||
|
<Component Id="ARACHNI2MODSEC.PL" DiskId="1" Guid="DDDD3A2B-CEC1-42B3-9984-2987CA5BA311">
|
||||||
|
<File Id="ARACHNI2MODSEC.PL" Name="arachni2modsec.pl" Source="release\owasp_crs\util\virtual-patching\arachni2modsec.pl" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="ZAP2MODSEC.PL" DiskId="1" Guid="CADBD60B-235E-4B2D-94D3-7CA2E4E19D9C">
|
||||||
|
<File Id="ZAP2MODSEC.PL" Name="zap2modsec.pl" Source="release\owasp_crs\util\virtual-patching\zap2modsec.pl" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id="ProgramMenuFolder">
|
||||||
|
<Directory Id="ProgramMenuDir" Name="ModSecurity IIS">
|
||||||
|
<Component Id="StartMenuShortcuts" Guid="43C26B13-C4D8-42F8-8715-3AF78E66C902">
|
||||||
|
<util:InternetShortcut Id="WebsiteShortcut" Name="ModSecurity" Target="http://www.modsecurity.org/" />
|
||||||
|
<util:InternetShortcut Id="CSR" Name="OWASP ModSecurity Core Rule Set" Target="http://spIderlabs.github.io/owasp-modsecurity-crs/" />
|
||||||
|
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
|
||||||
|
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" />
|
||||||
|
<Shortcut Id="UninstallProduct" Name="Uninstall" Description="Uninstalls the ModSecurity IIS" Target="[System64Folder]msiexec.exe" Arguments="/x [ProductCode]" />
|
||||||
|
<Shortcut Id="EULA" Name="EULA" Description="EULA" Target="[INSTALLFOLDER]EULA.rtf" WorkingDirectory="INSTALLFOLDER" />
|
||||||
|
<Shortcut Id="Readme" Name="EULA" Description="EULA" Target="[INSTALLFOLDER]README.TXT" WorkingDirectory="INSTALLFOLDER" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
<DirectoryRef Id="INSTALLFOLDER">
|
||||||
|
<Component Id="README.TXT" DiskId="1" Guid="980270DF-81AB-469B-AB0E-64FA3BA160B6">
|
||||||
|
<File Id="README.TXT" Name="README.TXT" Source="wix\README.TXT" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="EULA.RTF" DiskId="1" Guid="980270DF-81AB-469B-AB0E-64FA3BA160B1">
|
||||||
|
<File Id="EULA.RTF" Name="EULA.rtf" Source="wix\EULA.rtf" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="modsecurity.conf" DiskId="1" Guid="980270DF-81AB-469B-AB0E-64FA3BA163B1">
|
||||||
|
<File Id="modsecurity.conf" Name="modsecurity.conf" Source="wix\modsecurity.conf" />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id="modsecurity_iis.conf" DiskId="1" Guid="980270DF-81AB-469B-AB0E-64FA3BA161B1">
|
||||||
|
<File Id="modsecurity_iis.conf" Name="modsecurity_iis.conf" Source="wix\modsecurity_iis.conf" />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id="modsecurity_crs_10_setup.conf" DiskId="1" Guid="980270DF-81AB-469B-AB0E-64FA3BA166B1">
|
||||||
|
<File Id="modsecurity_crs_10_setup.conf" Name="modsecurity_crs_10_setup.conf" Source="wix\modsecurity_crs_10_setup.conf" />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
</DirectoryRef>
|
||||||
|
<?if $(var.Win64) = "yes" ?>
|
||||||
|
<DirectoryRef Id="inetsrv">
|
||||||
|
<Component Id="LIBAPR_1.DLL" DiskId="1" Guid="514A81F0-2413-42EF-B19F-E2613125ECE0">
|
||||||
|
<File Id="LIBAPR_1.DLL" Name="libapr-1.dll" Source="Release\amd64\libapr-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBAPRICONV_1.DLL" DiskId="1" Guid="BAB541D1-9B8E-4220-9112-4B2ED7FD119D">
|
||||||
|
<File Id="LIBAPRICONV_1.DLL" Name="libapriconv-1.dll" Source="Release\amd64\libapriconv-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBAPRUTIL_1.DLL" DiskId="1" Guid="2B4762E0-FC6C-4156-A1CA-58504B2F0C8B">
|
||||||
|
<File Id="LIBAPRUTIL_1.DLL" Name="libaprutil-1.dll" Source="Release\amd64\libaprutil-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBCURL.DLL" DiskId="1" Guid="7E3AFCBA-8E8E-4B75-9957-91932325CC69">
|
||||||
|
<File Id="LIBCURL.DLL" Name="libcurl.dll" Source="Release\amd64\libcurl.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBXML2.DLL" DiskId="1" Guid="23562703-C4EE-4EF8-B6E4-1E35A2A6BDBB">
|
||||||
|
<File Id="LIBXML2.DLL" Name="libxml2.dll" Source="Release\amd64\libxml2.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LUA5.1.DLL" DiskId="1" Guid="F2A09A92-F564-4C93-AB17-569A6FDA3A7C">
|
||||||
|
<File Id="LUA5.1.DLL" Name="lua5.1.dll" Source="Release\amd64\lua5.1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MLOGC.EXE" DiskId="1" Guid="49A1606F-F374-453F-B968-C22CF6FBF9FF">
|
||||||
|
<File Id="MLOGC.EXE" Name="mlogc.exe" Source="Release\amd64\mlogc.exe" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITYIIS.DLL" DiskId="1" Guid="8EFD370B-D4D9-456C-A065-C8E9C81201A2">
|
||||||
|
<File Id="MODSECURITYIIS.DLL" Name="ModSecurityIIS.dll" Source="Release\amd64\ModSecurityIIS.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="PCRE.DLL" DiskId="1" Guid="F166E5BE-E2F8-47DB-9D17-3A4EB16C222F">
|
||||||
|
<File Id="PCRE.DLL" Name="pcre.dll" Source="Release\amd64\pcre.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="ZLIB1.DLL" DiskId="1" Guid="067F28EC-DD5A-4E18-9824-05C2C0CC8C59">
|
||||||
|
<File Id="ZLIB1.DLL" Name="zlib1.dll" Source="Release\amd64\zlib1.dll" />
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
|
<?else ?>
|
||||||
|
<DirectoryRef Id="inetsrv">
|
||||||
|
<Component Id="LIBAPR_1.DLL" DiskId="1" Guid="514A81F0-2413-42EF-B19F-E2613125ECE1">
|
||||||
|
<File Id="LIBAPR_1.DLL" Name="libapr-1.dll" Source="Release\x86\libapr-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBAPRICONV_1.DLL" DiskId="1" Guid="BAB541D1-9B8E-4220-9112-4B2ED7FD1191">
|
||||||
|
<File Id="LIBAPRICONV_1.DLL" Name="libapriconv-1.dll" Source="Release\x86\libapriconv-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBAPRUTIL_1.DLL" DiskId="1" Guid="2B4762E0-FC6C-4156-A1CA-58504B2F0C81">
|
||||||
|
<File Id="LIBAPRUTIL_1.DLL" Name="libaprutil-1.dll" Source="Release\x86\libaprutil-1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBCURL.DLL" DiskId="1" Guid="7E3AFCBA-8E8E-4B75-9957-91932325CC61">
|
||||||
|
<File Id="LIBCURL.DLL" Name="libcurl.dll" Source="Release\x86\libcurl.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LIBXML2.DLL" DiskId="1" Guid="23562703-C4EE-4EF8-B6E4-1E35A2A6BDB1">
|
||||||
|
<File Id="LIBXML2.DLL" Name="libxml2.dll" Source="Release\x86\libxml2.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="LUA5.1.DLL" DiskId="1" Guid="F2A09A92-F564-4C93-AB17-569A6FDA3A71">
|
||||||
|
<File Id="LUA5.1.DLL" Name="lua5.1.dll" Source="Release\x86\lua5.1.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MLOGC.EXE" DiskId="1" Guid="49A1606F-F374-453F-B968-C22CF6FBF9F1">
|
||||||
|
<File Id="MLOGC.EXE" Name="mlogc.exe" Source="Release\x86\mlogc.exe" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="MODSECURITYIIS.DLL" DiskId="1" Guid="8EFD370B-D4D9-456C-A065-C8E9C81201A1">
|
||||||
|
<File Id="MODSECURITYIIS.DLL" Name="ModSecurityIIS.dll" Source="Release\x86\ModSecurityIIS.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="PCRE.DLL" DiskId="1" Guid="F166E5BE-E2F8-47DB-9D17-3A4EB16C2221">
|
||||||
|
<File Id="PCRE.DLL" Name="pcre.dll" Source="Release\x86\pcre.dll" />
|
||||||
|
</Component>
|
||||||
|
<Component Id="ZLIB1.DLL" DiskId="1" Guid="067F28EC-DD5A-4E18-9824-05C2C0CC8C51">
|
||||||
|
<File Id="ZLIB1.DLL" Name="zlib1.dll" Source="Release\x86\zlib1.dll" />
|
||||||
|
</Component>
|
||||||
|
</DirectoryRef>
|
||||||
|
<?endif ?>
|
||||||
|
<Feature Id="DefaultFeature" Title="ModSecurity IIS" Level="1">
|
||||||
|
<ComponentRef Id="README.TXT" />
|
||||||
|
<ComponentRef Id="EULA.RTF" />
|
||||||
|
<ComponentRef Id="LIBAPR_1.DLL" />
|
||||||
|
<ComponentRef Id="LIBAPRICONV_1.DLL" />
|
||||||
|
<ComponentRef Id="LIBAPRUTIL_1.DLL" />
|
||||||
|
<ComponentRef Id="LIBCURL.DLL" />
|
||||||
|
<ComponentRef Id="LIBXML2.DLL" />
|
||||||
|
<ComponentRef Id="LUA5.1.DLL" />
|
||||||
|
<ComponentRef Id="MLOGC.EXE" />
|
||||||
|
<ComponentRef Id="MODSECURITYIIS.DLL" />
|
||||||
|
<ComponentRef Id="PCRE.DLL" />
|
||||||
|
<ComponentRef Id="ZLIB1.DLL" />
|
||||||
|
<ComponentRef Id="StartMenuShortcuts" />
|
||||||
|
<ComponentRef Id="modsecurity.conf" />
|
||||||
|
<ComponentRef Id="modsecurity_iis.conf" />
|
||||||
|
<ComponentRef Id="modsecurity_crs_10_setup.conf" />
|
||||||
|
|
||||||
|
<Feature Id="OWASP_ModSecurity_CRS_v2.2.8" Level="1" Title="OWASP ModSecurity CRS v2.2.8">
|
||||||
|
<ComponentRef Id="_.GITIGNORE" />
|
||||||
|
<ComponentRef Id="CHANGES" />
|
||||||
|
<ComponentRef Id="INSTALL" />
|
||||||
|
<ComponentRef Id="LICENSE" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_10_SETUP.CONF.EXAMPLE" />
|
||||||
|
<ComponentRef Id="README.MD" />
|
||||||
|
<ComponentRef Id="README" />
|
||||||
|
<ComponentRef Id="MODSECURITY_35_BAD_ROBOTS.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_35_SCANNERS.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_40_GENERIC_ATTACKS.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_50_OUTBOUND.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_50_OUTBOUND_MALWARE.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_23_REQUEST_LIMITS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_30_HTTP_POLICY.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_35_BAD_ROBOTS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_41_XSS_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_42_TIGHT_SECURITY.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_45_TROJANS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_47_COMMON_EXCEPTIONS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_48_LOCAL_EXCEPTIONS.CONF.EXAMPLE" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_49_INBOUND_BLOCKING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_50_OUTBOUND.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_59_OUTBOUND_BLOCKING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_60_CORRELATION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_11_BRUTE_FORCE.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_11_DOS_PROTECTION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_11_PROXY_ABUSE.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_11_SLOW_DOS_PROTECTION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_16_SCANNER_INTEGRATION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_25_CC_TRACK_PAN.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.0_SETUP.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.1_REQUEST_EXCEPTION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_2.9_HONEYTRAP.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_APPSENSOR_DETECTION_POINT_3.0_END.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_HTTP_PARAMETER_POLLUTION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_42_CSP_ENFORCEMENT.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SCANNER_INTEGRATION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_48_BAYES_ANALYSIS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_55_RESPONSE_PROFILING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_56_PVI_CHECKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_61_IP_FORENSICS.CONF" />
|
||||||
|
<ComponentRef Id="ADVANCED_FILTER_CONVERTER.LUA" />
|
||||||
|
<ComponentRef Id="APPSENSOR_REQUEST_EXCEPTION_ENFORCE.LUA" />
|
||||||
|
<ComponentRef Id="APPSENSOR_REQUEST_EXCEPTION_PROFILE.LUA" />
|
||||||
|
<ComponentRef Id="ARACHNI_INTEGRATION.LUA" />
|
||||||
|
<ComponentRef Id="BAYES_CHECK_SPAM.LUA" />
|
||||||
|
<ComponentRef Id="BAYES_TRAIN_HAM.LUA" />
|
||||||
|
<ComponentRef Id="BAYES_TRAIN_SPAM.LUA" />
|
||||||
|
<ComponentRef Id="GATHER_IP_DATA.LUA" />
|
||||||
|
<ComponentRef Id="OSVDB.LUA" />
|
||||||
|
<ComponentRef Id="PROFILE_PAGE_SCRIPTS.LUA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_42_COMMENT_SPAM.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_10_IGNORE_STATIC.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_11_AVS_TRAFFIC.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_13_XML_ENABLER.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_16_AUTHENTICATION_TRACKING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_16_SESSION_HIJACKING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_16_USERNAME_TRACKING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_25_CC_KNOWN.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_42_COMMENT_SPAM.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_43_CSRF_PROTECTION.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_AV_SCANNING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_47_SKIP_OUTBOUND_CHECKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_49_HEADER_TAGGING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_55_APPLICATION_DEFECTS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_55_MARKETING.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_JOOMLA.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_LFI.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_PHPBB.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_RFI.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_SQLI.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_WORDPRESS.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_46_SLR_ET_XSS.DATA" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_JOOMLA_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_LFI_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_PHPBB_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_RFI_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_SQLI_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_WORDPRESS_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_46_SLR_ET_XSS_ATTACKS.CONF" />
|
||||||
|
<ComponentRef Id="README_1" />
|
||||||
|
<ComponentRef Id="RUNAV.PL" />
|
||||||
|
<ComponentRef Id="COMMON.C" />
|
||||||
|
<ComponentRef Id="COMMON.H" />
|
||||||
|
<ComponentRef Id="COMP" />
|
||||||
|
<ComponentRef Id="RUNAV_CLAMD.C" />
|
||||||
|
<ComponentRef Id="RUNAV.C" />
|
||||||
|
<ComponentRef Id="JS_OVERRIDES.JS" />
|
||||||
|
<ComponentRef Id="MLOGC_HONEYPOT_SENSOR.CONF" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_10_HONEYPOT.CONF" />
|
||||||
|
<ComponentRef Id="README.MD_1" />
|
||||||
|
<ComponentRef Id="INSTALL_1" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_59_HEADER_TAGGING.CONF" />
|
||||||
|
<ComponentRef Id="README_2" />
|
||||||
|
<ComponentRef Id="RULESTEST.CONF" />
|
||||||
|
<ComponentRef Id="RULESTEST.PL" />
|
||||||
|
<ComponentRef Id="TESTSERVER.CGI" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_20_PROTOCOL_VIOLATIONS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_21_PROTOCOL_ANOMALIES.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_23_REQUEST_LIMITS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_30_HTTP_POLICY.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_35_BAD_ROBOTS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_40_GENERIC_ATTACKS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_41_SQL_INJECTION_ATTACKS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_41_XSS_ATTACKS.TESTS" />
|
||||||
|
<ComponentRef Id="MODSECURITY_CRS_50_OUTBOUND.TESTS" />
|
||||||
|
<ComponentRef Id="RUBY.TESTS" />
|
||||||
|
<ComponentRef Id="ID_RANGE" />
|
||||||
|
<ComponentRef Id="REMOVE_2.7_ACTIONS.PL" />
|
||||||
|
<ComponentRef Id="VERIFY.RB" />
|
||||||
|
<ComponentRef Id="ARACHNI2MODSEC.PL" />
|
||||||
|
<ComponentRef Id="ZAP2MODSEC.PL" />
|
||||||
|
</Feature>
|
||||||
|
</Feature>
|
||||||
|
<UIRef Id="WixUI_Mondo" />
|
||||||
|
<WixVariable Id="WixUILicenseRtf" Value="wix\EULA.rtf" />
|
||||||
|
<WixVariable Id="WixUIBannerBmp" Value="wix\banner.jpg" />
|
||||||
|
<WixVariable Id="WixUIDialogBmp" Value="wix\dialog.jpg" />
|
||||||
|
<InstallExecuteSequence>
|
||||||
|
<Custom Action="InstallModule" Before="InstallFinalize"><![CDATA[NOT Installed]]></Custom>
|
||||||
|
<Custom Action="InstallConf" After="InstallModule"><![CDATA[NOT Installed]]></Custom>
|
||||||
|
<Custom Action="UninstallConf" Before="RemoveFiles"><![CDATA[Installed]]></Custom>
|
||||||
|
<Custom Action="UninstallModule" After="UninstallConf"><![CDATA[Installed]]></Custom>
|
||||||
|
</InstallExecuteSequence>
|
||||||
|
<CustomAction Id="InstallModule" Execute="deferred" Impersonate="no" Return="check" Directory="INSTALLFOLDER" ExeCommand=""[SystemFolder]inetsrv\appcmd.exe" install module /name:"ModSecurity IIS" /image:"[SystemFolder]inetsrv\ModSecurityIIS.dll"" />
|
||||||
|
|
||||||
|
<CustomAction Id="InstallConf" Execute="deferred" Impersonate="no" Return="check" Directory="INSTALLFOLDER" ExeCommand=""[SystemFolder]inetsrv\appcmd.exe" set config /section:"system.webServer/ModSecurity" /"enabled:true" /"configFile:[INSTALLFOLDER]modsecurity_iis.conf"" />
|
||||||
|
|
||||||
|
<CustomAction Id="UninstallModule" Execute="deferred" Impersonate="no" Return="check" Directory="INSTALLFOLDER" ExeCommand=""[SystemFolder]inetsrv\appcmd.exe" uninstall module /module.name:"ModSecurity IIS"" />
|
||||||
|
|
||||||
|
<CustomAction Id="UninstallConf" Execute="deferred" Impersonate="no" Return="check" Directory="INSTALLFOLDER" ExeCommand=""[SystemFolder]inetsrv\appcmd.exe" clear config -section:"system.webServer/ModSecurity"" />
|
||||||
|
|
||||||
|
<UI>
|
||||||
|
</UI>
|
||||||
|
</Product>
|
||||||
|
</Wix>
|
320
iis/readme.htm
320
iis/readme.htm
@ -1,320 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
|
||||||
<head>
|
|
||||||
<title>Creating a Native Module for IIS7</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>
|
|
||||||
Creating a Native Module for IIS7</h1>
|
|
||||||
<p>
|
|
||||||
To extend the server, IIS7 provides a new (C++) native core server API, which replaces
|
|
||||||
ISAPI filter and extension API from previous IIS releases. The new API features
|
|
||||||
object-oriented development with an intuitive object model, provides more control
|
|
||||||
over request processing, and uses simpler design patterns to help you write robust
|
|
||||||
code. Please visit <a target="_new" href="http://www.iis.net/default.aspx?tabid=2&subtabid=25&i=942">Developing a Native Module for IIS7</a> for more information about this sample.<br />
|
|
||||||
<br />
|
|
||||||
<strong>NOTE</strong>: The IIS7 native (C++) server API is declared in the Platform
|
|
||||||
SDK <strong>httpserv.h</strong> header file. <strong>You must obtain this SDK
|
|
||||||
and register it with Visual Studio in order to compile this module.</strong></p>
|
|
||||||
<p>
|
|
||||||
A native module is a Windows DLL that contains an the following:</p>
|
|
||||||
<ol>
|
|
||||||
<li><strong>RegisterModule</strong> exported function. This function is responsible
|
|
||||||
for creating a module factory, and registering the module for one or more server
|
|
||||||
events.<br />
|
|
||||||
<br />
|
|
||||||
<em>
|
|
||||||
This function is implemented in <strong>main.cpp</strong>.<br />
|
|
||||||
</em>
|
|
||||||
</li>
|
|
||||||
<li>Implementation of the module class inheriting from the <strong>CHttpModule</strong>
|
|
||||||
base class. This class is provides the main functionality of your module.
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<em>
|
|
||||||
This class is declared in <strong>mymodule.h</strong>, with method implementations
|
|
||||||
in <strong>mymodule.cpp</strong>.<br />
|
|
||||||
</em>
|
|
||||||
</li>
|
|
||||||
<li>Implementation of the module factory class implementing the <strong>IHttpModuleFactory</strong>
|
|
||||||
interface. The class is responsible for creating instances of your module.<br />
|
|
||||||
<br />
|
|
||||||
<em>
|
|
||||||
This class is declared and implemented in <strong>mymodulefactory.h</strong>.</em></li></ol>
|
|
||||||
<h2>
|
|
||||||
0. Prerequisites</h2>
|
|
||||||
<p class="MsoNormal" style="margin: 0in 0in 0pt">
|
|
||||||
<span style="font-family: Verdana"><span style="font-size: 9pt">In order to compile
|
|
||||||
the module, you will need to install the Windows Platform SDK that contains the
|
|
||||||
required IIS header files.
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
After installing the SDK</span></span><span style="font-size: 9pt; font-family: Verdana;
|
|
||||||
mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-ansi-language: EN-US;
|
|
||||||
mso-fareast-language: EN-US; mso-bidi-language: AR-SA">, you will need to register
|
|
||||||
the SDK with Visual Studio 2005.<span style="mso-spacerun: yes"> </span>You
|
|
||||||
can do this via <b style="mso-bidi-font-weight: normal">Start > Programs > Microsoft
|
|
||||||
Windows SDK > Visual Studio Registration > Register Windows SDK Directories
|
|
||||||
with Visual Studio</b>.</span></p>
|
|
||||||
<h2>
|
|
||||||
1. Implement RegisterModule entrypoint</h2>
|
|
||||||
<p>
|
|
||||||
A native module must export the RegisterModule function. This function will
|
|
||||||
be invoked by the server when the module DLL is loaded, so that your DLL can register
|
|
||||||
for the required server events, and provide a mechanism for the server to create
|
|
||||||
instances of your module class.<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-size: 10pt; font-family: Courier New">__stdcall
|
|
||||||
<br />
|
|
||||||
HRESULT RegisterModule( DWORD dwServerVersion, IHttpModuleRegistrationInfo
|
|
||||||
* pModuleInfo, IHttpServer * pHttpServer );<br />
|
|
||||||
</span>
|
|
||||||
<br />
|
|
||||||
<em>This function is implemented for you in the <strong>main.cpp</strong> source file.
|
|
||||||
</em>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
It does the following:</p>
|
|
||||||
<ol>
|
|
||||||
<li><strong>Create module factory</strong>.<strong> </strong>This is an instance
|
|
||||||
of your CMyModuleFactory class that implements
|
|
||||||
the IHttpModuleFactory inteface:<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-family: Courier New"><span style="font-size: 10pt"><span style="color: #009900">
|
|
||||||
// step 2: create module factory</span><br />
|
|
||||||
pFactory = new CMyHttpModuleFactory();</span></span><br />
|
|
||||||
</li>
|
|
||||||
<li><strong>Register module factory for desired server events</strong>. This registers
|
|
||||||
the module factory for one or more server events that occur during request processing.
|
|
||||||
The server will use the factory to create an instance of your module class for each
|
|
||||||
request, and call the appropriate event handler method on your module instance for
|
|
||||||
each of the requested events:<br />
|
|
||||||
<br />
|
|
||||||
<span style="color: #000000;"><span style="font-family: Courier New"><span style="font-size: 10pt">
|
|
||||||
<span style="color: #009900">
|
|
||||||
// step 3: register for server events
|
|
||||||
<br />
|
|
||||||
// TODO: register for more server events here
|
|
||||||
<br />
|
|
||||||
</span>hr = pModuleInfo->SetRequestNotifications( pFactory, </span></span><span
|
|
||||||
style="font-family: Courier New"><span style="font-size: 10pt"><span style="color: #009900">
|
|
||||||
/* module factory */
|
|
||||||
<br />
|
|
||||||
</span>
|
|
||||||
RQ_ACQUIRE_REQUEST_STATE,
|
|
||||||
<span style="color: #009900">/* server event mask */</span><br />
|
|
||||||
|
|
||||||
0 <span style="color: #009900">
|
|
||||||
/* server post event mask */</span> );<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-size: 12pt; font-family: Times New Roman">
|
|
||||||
The server event mask is a bit mask of one or more request processing event names
|
|
||||||
declared in </span>
|
|
||||||
</span></span><span style="font-family: Courier New"><span style="font-size: 10pt">
|
|
||||||
<strong><span style="font-size: 12pt; font-family: Times New Roman">httpserv.h:</span><br />
|
|
||||||
<br />
|
|
||||||
</strong><span style="color: #009900">//
|
|
||||||
<br />
|
|
||||||
// Request deterministic notifications
|
|
||||||
<br />
|
|
||||||
//
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
// request is beginning </span>
|
|
||||||
<br />
|
|
||||||
#define RQ_BEGIN_REQUEST 0x00000001
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// request is being authenticated
|
|
||||||
<br />
|
|
||||||
</span>#define RQ_AUTHENTICATE_REQUEST 0x00000002
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// request is being authorized </span>
|
|
||||||
<br />
|
|
||||||
#define RQ_AUTHORIZE_REQUEST 0x00000004
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// satisfy request from cache </span>
|
|
||||||
<br />
|
|
||||||
#define RQ_RESOLVE_REQUEST_CACHE 0x00000008
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// map handler for request</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_MAP_REQUEST_HANDLER 0x00000010
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// acquire request state</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_ACQUIRE_REQUEST_STATE 0x00000020
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// pre-execute handler</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_PRE_EXECUTE_REQUEST_HANDLER 0x00000040
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// execute handler</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_EXECUTE_REQUEST_HANDLER 0x00000080
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// release request state</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_RELEASE_REQUEST_STATE 0x00000100
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// update cache</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_UPDATE_REQUEST_CACHE 0x00000200
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// log request</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_LOG_REQUEST 0x00000400
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// end request</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_END_REQUEST 0x00000800
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">//
|
|
||||||
<br />
|
|
||||||
// Request non-deterministic notifications
|
|
||||||
<br />
|
|
||||||
//</span>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// custom notification</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_CUSTOM_NOTIFICATION 0x10000000
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// send response</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_SEND_RESPONSE 0x20000000
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// read entity</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_READ_ENTITY 0x40000000
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900">// map a url to a physical path</span>
|
|
||||||
<br />
|
|
||||||
#define RQ_MAP_PATH 0x80000000<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-size: 12pt; font-family: Times New Roman">
|
|
||||||
The post event mask is a bit mask of the same events, allowing to subscribe
|
|
||||||
to the post events for each of the specified events.<br />
|
|
||||||
</span>
|
|
||||||
</span></span>
|
|
||||||
</span></li>
|
|
||||||
</ol>
|
|
||||||
<h2>
|
|
||||||
</h2>
|
|
||||||
<h2>
|
|
||||||
2. Implement module factory class</h2>
|
|
||||||
<p>
|
|
||||||
The server requires a module factory class in order to obtain instances of your
|
|
||||||
module. The factory class must implement the IHttpModuleFactory interface
|
|
||||||
declared in the httpserv.h Windows SDK header file.<br />
|
|
||||||
<br />
|
|
||||||
<em>This factory is implemented for you in the <strong>mymodulefactory.h</strong> header
|
|
||||||
file.<br />
|
|
||||||
<br />
|
|
||||||
</em>The <strong>GetHttpModule</strong> method of the factory class is called at the beginning of
|
|
||||||
each request in order to obtain an instance of your module. The typical implementation
|
|
||||||
simply returns a new instance of your module class:<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-family: Courier New; font-size: 10pt;">class CMyHttpModuleFactory : public IHttpModuleFactory
|
|
||||||
<br />
|
|
||||||
{
|
|
||||||
<br />
|
|
||||||
public:
|
|
||||||
<br />
|
|
||||||
virtual HRESULT GetHttpModule( OUT CHttpModule **ppModule, IN IModuleAllocator
|
|
||||||
* )
|
|
||||||
<br />
|
|
||||||
{ <br />
|
|
||||||
...<br />
|
|
||||||
pModule = new CMyHttpModule(); <br />
|
|
||||||
...<br />
|
|
||||||
*ppModule = pModule; <br />
|
|
||||||
...<br />
|
|
||||||
} <br />
|
|
||||||
<br />
|
|
||||||
virtual void Terminate() { }<br />
|
|
||||||
}</span></p>
|
|
||||||
<p>
|
|
||||||
The <strong>Terminate</strong> method of the factory class is called during the
|
|
||||||
shutdown of the worker process, before your module DLL is unloaded. It typically
|
|
||||||
releases any resources you may have initialized inside the <strong>RegisterModule</strong>
|
|
||||||
function.</p>
|
|
||||||
<h2>
|
|
||||||
3. Implement module class</h2>
|
|
||||||
<p>
|
|
||||||
The module class inherits from the <strong>CHttpModule</strong> base class, which
|
|
||||||
defines an event handler method for each of the server events discussed earlier.
|
|
||||||
When the server executes each event during the processing of a request, it will
|
|
||||||
invoke the associated event handler method on each of the module instances that
|
|
||||||
have registered for that event. <br />
|
|
||||||
<br />
|
|
||||||
<em>This class is declared in the <strong>mymodule.h</strong> header file, and its event
|
|
||||||
handler methods are implemented in the <strong>mymodule.cpp</strong> source file.</em><br />
|
|
||||||
<br />
|
|
||||||
In order to provide processing for each server event, the module class MUST override
|
|
||||||
the corresponding method. The signature of each event handler method is the
|
|
||||||
following:<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-size: 10pt; font-family: Courier New">REQUEST_NOTIFICATION_STATUS
|
|
||||||
On<EVENT NAME>(
|
|
||||||
IN IHttpContext * pHttpContext,
|
|
||||||
IN OUT IHttpEventProvider * pProvider
|
|
||||||
);
|
|
||||||
<br />
|
|
||||||
</span>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
Where <EVENT NAME> is one of the server events we listed earlier. For
|
|
||||||
example, the module in this project initially overrides only the <strong>OnAcquireRequestState</strong> method since we register only for the <span style="font-size: 10pt;
|
|
||||||
font-family: Courier New"><strong>RQ_ACQUIRE_REQUEST_STATE</strong></span> event:<br />
|
|
||||||
<br />
|
|
||||||
<span style="font-size: 10pt; font-family: Courier New">class CMyHttpModule : public
|
|
||||||
CHttpModule
|
|
||||||
<br />
|
|
||||||
{
|
|
||||||
<br />
|
|
||||||
public:
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900"> // Implementation of the AcquireRequestState
|
|
||||||
event handler method. </span>
|
|
||||||
<br />
|
|
||||||
REQUEST_NOTIFICATION_STATUS OnAcquireRequestState( IN IHttpContext
|
|
||||||
* pHttpContext, IN OUT IHttpEventProvider * pProvider );
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<span style="color: #009900"> // TODO: override additional event handler
|
|
||||||
methods below. </span>
|
|
||||||
<br />
|
|
||||||
};</span><br />
|
|
||||||
<br />
|
|
||||||
The implementation of this method provides the module functionality desired for
|
|
||||||
processing the request in the appropriate pipeline stage. This project provides
|
|
||||||
a dummy implementation in the <strong>mymodule.cpp</strong> source file.</p>
|
|
||||||
<h2>
|
|
||||||
4. Deploy the module to the server</h2>
|
|
||||||
<p>
|
|
||||||
After you have compiled your module, you need to deploy it on the server.
|
|
||||||
You can do that by compiling the module, and then copying <strong>IIS7NativeModule.dll</strong>
|
|
||||||
(and the <strong>IIS7NativeModule.pdb</strong> debugging symbols file if desired)
|
|
||||||
to any location on the machine running IIS7.<br />
|
|
||||||
<br />
|
|
||||||
You can install your module on the server by running the following command from an Elevated command line prompt:<br />
|
|
||||||
<br />
|
|
||||||
<strong>%systemroot%\system32\inetsrv\APPCMD.EXE install module /name:MyModule /image:<FULL
|
|
||||||
PATH TO DLL></strong><br />
|
|
||||||
<br />
|
|
||||||
Where <strong><FULL_PATH_TO_DLL></strong> is the full path to the module DLL
|
|
||||||
file.<br />
|
|
||||||
<br />
|
|
||||||
You can also install your module using the IIS7 Administration Tool. After installation,
|
|
||||||
your module will be loaded and enabled in all application pools on the server.
|
|
||||||
To learn ore about installing modules, and selecting modules to execute on your
|
|
||||||
server and for specific applications, please visit <a href="http://www.iis.net">www.iis.net</a>.</p>
|
|
||||||
<h2>
|
|
||||||
Congratulations!</h2>
|
|
||||||
<p>
|
|
||||||
You have succesfully built and deployed your own IIS7 module. To learn more
|
|
||||||
about building IIS7 modules, and to download sample modules, be sure to visit <a href="http://www.iis.net">www.iis.net</a>.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,863 +0,0 @@
|
|||||||
# cURL/libcurl CMake script
|
|
||||||
# by Tetetest and Sukender (Benoit Neil)
|
|
||||||
|
|
||||||
# TODO:
|
|
||||||
# The output .so file lacks the soname number which we currently have within the lib/Makefile.am file
|
|
||||||
# Add full (4 or 5 libs) SSL support
|
|
||||||
# Add INSTALL target (EXTRA_DIST variables in Makefile.am may be moved to Makefile.inc so that CMake/CPack is aware of what's to include).
|
|
||||||
# Add CTests(?)
|
|
||||||
# Check on all possible platforms
|
|
||||||
# Test with as many configurations possible (With or without any option)
|
|
||||||
# Create scripts that help keeping the CMake build system up to date (to reduce maintenance). According to Tetetest:
|
|
||||||
# - lists of headers that 'configure' checks for;
|
|
||||||
# - curl-specific tests (the ones that are in m4/curl-*.m4 files);
|
|
||||||
# - (most obvious thing:) curl version numbers.
|
|
||||||
# Add documentation subproject
|
|
||||||
#
|
|
||||||
# To check:
|
|
||||||
# (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not.
|
|
||||||
# (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options.
|
|
||||||
cmake_minimum_required(VERSION 2.6.2 FATAL_ERROR)
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
|
|
||||||
include(Utilities)
|
|
||||||
|
|
||||||
project( CURL C )
|
|
||||||
|
|
||||||
file (READ ${CURL_SOURCE_DIR}/include/curl/curlver.h CURL_VERSION_H_CONTENTS)
|
|
||||||
string (REGEX MATCH "LIBCURL_VERSION_MAJOR[ \t]+([0-9]+)"
|
|
||||||
LIBCURL_VERSION_MJ ${CURL_VERSION_H_CONTENTS})
|
|
||||||
string (REGEX MATCH "([0-9]+)"
|
|
||||||
LIBCURL_VERSION_MJ ${LIBCURL_VERSION_MJ})
|
|
||||||
string (REGEX MATCH
|
|
||||||
"LIBCURL_VERSION_MINOR[ \t]+([0-9]+)"
|
|
||||||
LIBCURL_VERSION_MI ${CURL_VERSION_H_CONTENTS})
|
|
||||||
string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_MI ${LIBCURL_VERSION_MI})
|
|
||||||
string (REGEX MATCH
|
|
||||||
"LIBCURL_VERSION_PATCH[ \t]+([0-9]+)"
|
|
||||||
LIBCURL_VERSION_PT ${CURL_VERSION_H_CONTENTS})
|
|
||||||
string (REGEX MATCH "([0-9]+)" LIBCURL_VERSION_PT ${LIBCURL_VERSION_PT})
|
|
||||||
set (CURL_MAJOR_VERSION ${LIBCURL_VERSION_MJ})
|
|
||||||
set (CURL_MINOR_VERSION ${LIBCURL_VERSION_MI})
|
|
||||||
set (CURL_PATCH_VERSION ${LIBCURL_VERSION_PT})
|
|
||||||
|
|
||||||
include_regular_expression("^.*$") # Sukender: Is it necessary?
|
|
||||||
|
|
||||||
# Setup package meta-data
|
|
||||||
# SET(PACKAGE "curl")
|
|
||||||
set(CURL_VERSION ${CURL_MAJOR_VERSION}.${CURL_MINOR_VERSION}.${CURL_PATCH_VERSION})
|
|
||||||
message(STATUS "curl version=[${CURL_VERSION}]")
|
|
||||||
# SET(PACKAGE_TARNAME "curl")
|
|
||||||
# SET(PACKAGE_NAME "curl")
|
|
||||||
# SET(PACKAGE_VERSION "-")
|
|
||||||
# SET(PACKAGE_STRING "curl-")
|
|
||||||
# SET(PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/")
|
|
||||||
set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}")
|
|
||||||
set(OS "\"${CMAKE_SYSTEM_NAME}\"")
|
|
||||||
|
|
||||||
include_directories(${PROJECT_BINARY_DIR}/include/curl)
|
|
||||||
include_directories( ${CURL_SOURCE_DIR}/include )
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(NATIVE_WINDOWS ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(BUILD_CURL_EXE "Set to ON to build cURL executable." ON)
|
|
||||||
option(BUILD_CURL_TESTS "Set to ON to build cURL tests." ON)
|
|
||||||
option(CURL_STATICLIB "Set to ON to build libcurl with static linking." OFF)
|
|
||||||
option(CURL_USE_ARES "Set to ON to enable c-ares support" OFF)
|
|
||||||
# initialize CURL_LIBS
|
|
||||||
set(CURL_LIBS "")
|
|
||||||
|
|
||||||
if(CURL_USE_ARES)
|
|
||||||
set(USE_ARES ${CURL_USE_ARES})
|
|
||||||
find_package(CARES REQUIRED)
|
|
||||||
list(APPEND CURL_LIBS ${CARES_LIBRARY} )
|
|
||||||
set(CURL_LIBS ${CURL_LIBS} ${CARES_LIBRARY})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(BUILD_DASHBOARD_REPORTS "Set to ON to activate reporting of cURL builds here http://www.cdash.org/CDashPublic/index.php?project=CURL" OFF)
|
|
||||||
if(BUILD_DASHBOARD_REPORTS)
|
|
||||||
#INCLUDE(Dart)
|
|
||||||
include(CTest)
|
|
||||||
endif(BUILD_DASHBOARD_REPORTS)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
option(BUILD_RELEASE_DEBUG_DIRS "Set OFF to build each configuration to a separate directory" OFF)
|
|
||||||
mark_as_advanced(BUILD_RELEASE_DEBUG_DIRS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(CURL_HIDDEN_SYMBOLS "Set to ON to hide libcurl internal symbols (=hide all symbols that aren't officially external)." ON)
|
|
||||||
mark_as_advanced(CURL_HIDDEN_SYMBOLS)
|
|
||||||
|
|
||||||
# IF(WIN32)
|
|
||||||
# OPTION(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON)
|
|
||||||
# MARK_AS_ADVANCED(CURL_WINDOWS_SSPI)
|
|
||||||
# ENDIF()
|
|
||||||
|
|
||||||
option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" OFF)
|
|
||||||
mark_as_advanced(HTTP_ONLY)
|
|
||||||
option(CURL_DISABLE_FTP "disables FTP" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_FTP)
|
|
||||||
option(CURL_DISABLE_LDAP "disables LDAP" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_LDAP)
|
|
||||||
option(CURL_DISABLE_TELNET "disables Telnet" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_TELNET)
|
|
||||||
option(CURL_DISABLE_DICT "disables DICT" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_DICT)
|
|
||||||
option(CURL_DISABLE_FILE "disables FILE" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_FILE)
|
|
||||||
option(CURL_DISABLE_TFTP "disables TFTP" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_TFTP)
|
|
||||||
option(CURL_DISABLE_HTTP "disables HTTP" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_HTTP)
|
|
||||||
|
|
||||||
option(CURL_DISABLE_LDAPS "to disable LDAPS" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_LDAPS)
|
|
||||||
if(WIN32)
|
|
||||||
set(CURL_DEFAULT_DISABLE_LDAP OFF)
|
|
||||||
# some windows compilers do not have wldap32
|
|
||||||
if( NOT HAVE_WLDAP32)
|
|
||||||
set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
|
|
||||||
message(STATUS "wldap32 not found CURL_DISABLE_LDAP set ON")
|
|
||||||
option(CURL_LDAP_WIN "Use Windows LDAP implementation" OFF)
|
|
||||||
else()
|
|
||||||
option(CURL_LDAP_WIN "Use Windows LDAP implementation" ON)
|
|
||||||
endif()
|
|
||||||
mark_as_advanced(CURL_LDAP_WIN)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(HTTP_ONLY)
|
|
||||||
set(CURL_DISABLE_FTP ON)
|
|
||||||
set(CURL_DISABLE_LDAP ON)
|
|
||||||
set(CURL_DISABLE_TELNET ON)
|
|
||||||
set(CURL_DISABLE_DICT ON)
|
|
||||||
set(CURL_DISABLE_FILE ON)
|
|
||||||
set(CURL_DISABLE_TFTP ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(CURL_DISABLE_COOKIES "to disable cookies support" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_COOKIES)
|
|
||||||
|
|
||||||
option(CURL_DISABLE_CRYPTO_AUTH "to disable cryptographic authentication" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_CRYPTO_AUTH)
|
|
||||||
option(CURL_DISABLE_VERBOSE_STRINGS "to disable verbose strings" OFF)
|
|
||||||
mark_as_advanced(CURL_DISABLE_VERBOSE_STRINGS)
|
|
||||||
option(DISABLED_THREADSAFE "Set to explicitly specify we don't want to use thread-safe functions" OFF)
|
|
||||||
mark_as_advanced(DISABLED_THREADSAFE)
|
|
||||||
option(ENABLE_IPV6 "Define if you want to enable IPv6 support" OFF)
|
|
||||||
mark_as_advanced(ENABLE_IPV6)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
list_spaces_append_once(CMAKE_C_STANDARD_LIBRARIES wsock32.lib ws2_32.lib) # bufferoverflowu.lib
|
|
||||||
if(CURL_DISABLE_LDAP)
|
|
||||||
# Remove wldap32.lib from space-separated list
|
|
||||||
string(REPLACE " " ";" _LIST ${CMAKE_C_STANDARD_LIBRARIES})
|
|
||||||
list(REMOVE_ITEM _LIST "wldap32.lib")
|
|
||||||
to_list_spaces(_LIST CMAKE_C_STANDARD_LIBRARIES)
|
|
||||||
else()
|
|
||||||
# Append wldap32.lib
|
|
||||||
list_spaces_append_once(CMAKE_C_STANDARD_LIBRARIES wldap32.lib)
|
|
||||||
endif()
|
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}" CACHE STRING "" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
# We need ansi c-flags, especially on HP
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
|
|
||||||
set(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
|
|
||||||
|
|
||||||
# Disable warnings on Borland to avoid changing 3rd party code.
|
|
||||||
if(BORLAND)
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
|
|
||||||
endif(BORLAND)
|
|
||||||
|
|
||||||
# If we are on AIX, do the _ALL_SOURCE magic
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
|
|
||||||
set(_ALL_SOURCE 1)
|
|
||||||
endif(${CMAKE_SYSTEM_NAME} MATCHES AIX)
|
|
||||||
|
|
||||||
# Include all the necessary files for macros
|
|
||||||
include (CheckFunctionExists)
|
|
||||||
include (CheckIncludeFile)
|
|
||||||
include (CheckIncludeFiles)
|
|
||||||
include (CheckLibraryExists)
|
|
||||||
include (CheckSymbolExists)
|
|
||||||
include (CheckTypeSize)
|
|
||||||
|
|
||||||
# On windows preload settings
|
|
||||||
if(WIN32)
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/Platforms/WindowsCache.cmake)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
||||||
# This macro checks if the symbol exists in the library and if it
|
|
||||||
# does, it prepends library to the list.
|
|
||||||
macro(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
|
|
||||||
check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} "${CMAKE_LIBRARY_PATH}"
|
|
||||||
${VARIABLE})
|
|
||||||
if(${VARIABLE})
|
|
||||||
set(CURL_LIBS ${LIBRARY} ${CURL_LIBS})
|
|
||||||
endif(${VARIABLE})
|
|
||||||
endmacro(CHECK_LIBRARY_EXISTS_CONCAT)
|
|
||||||
|
|
||||||
# Check for all needed libraries
|
|
||||||
check_library_exists_concat("dl" dlopen HAVE_LIBDL)
|
|
||||||
check_library_exists_concat("socket" connect HAVE_LIBSOCKET)
|
|
||||||
check_library_exists("c" gethostbyname "" NOT_NEED_LIBNSL)
|
|
||||||
|
|
||||||
# Yellowtab Zeta needs different libraries than BeOS 5.
|
|
||||||
if(BEOS)
|
|
||||||
set(NOT_NEED_LIBNSL 1)
|
|
||||||
check_library_exists_concat("bind" gethostbyname HAVE_LIBBIND)
|
|
||||||
check_library_exists_concat("bnetapi" closesocket HAVE_LIBBNETAPI)
|
|
||||||
endif(BEOS)
|
|
||||||
|
|
||||||
if(NOT NOT_NEED_LIBNSL)
|
|
||||||
check_library_exists_concat("nsl" gethostbyname HAVE_LIBNSL)
|
|
||||||
endif(NOT NOT_NEED_LIBNSL)
|
|
||||||
|
|
||||||
check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32)
|
|
||||||
check_library_exists_concat("winmm" getch HAVE_LIBWINMM)
|
|
||||||
check_library_exists("wldap32" cldap_open "" HAVE_WLDAP32)
|
|
||||||
|
|
||||||
# IF(NOT CURL_SPECIAL_LIBZ)
|
|
||||||
# CHECK_LIBRARY_EXISTS_CONCAT("z" inflateEnd HAVE_LIBZ)
|
|
||||||
# ENDIF(NOT CURL_SPECIAL_LIBZ)
|
|
||||||
|
|
||||||
# Check for idn
|
|
||||||
check_library_exists_concat("idn" idna_to_ascii_lz HAVE_LIBIDN)
|
|
||||||
|
|
||||||
# Check for LDAP
|
|
||||||
check_library_exists_concat("ldap" ldap_init HAVE_LIBLDAP)
|
|
||||||
# if(NOT HAVE_LIBLDAP)
|
|
||||||
# SET(CURL_DISABLE_LDAP ON)
|
|
||||||
# endif(NOT HAVE_LIBLDAP)
|
|
||||||
|
|
||||||
# Check for symbol dlopen (same as HAVE_LIBDL)
|
|
||||||
check_library_exists("${CURL_LIBS}" dlopen "" HAVE_DLOPEN)
|
|
||||||
|
|
||||||
# For other tests to use the same libraries
|
|
||||||
set(CMAKE_REQUIRED_LIBRARIES ${CURL_LIBS})
|
|
||||||
|
|
||||||
option(CURL_ZLIB "Set to ON to enable building cURL with zlib support." ON)
|
|
||||||
set(HAVE_LIBZ OFF)
|
|
||||||
set(HAVE_ZLIB_H OFF)
|
|
||||||
set(HAVE_ZLIB OFF)
|
|
||||||
if(CURL_ZLIB) # AND CURL_CONFIG_HAS_BEEN_RUN_BEFORE
|
|
||||||
find_package(ZLIB QUIET)
|
|
||||||
if(ZLIB_FOUND)
|
|
||||||
set(HAVE_ZLIB_H ON)
|
|
||||||
set(HAVE_ZLIB ON)
|
|
||||||
set(HAVE_LIBZ ON)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON)
|
|
||||||
mark_as_advanced(CMAKE_USE_OPENSSL)
|
|
||||||
if(CMAKE_USE_OPENSSL)
|
|
||||||
if(WIN32)
|
|
||||||
find_package(OpenSSL)
|
|
||||||
if(OPENSSL_FOUND)
|
|
||||||
set(USE_SSLEAY TRUE)
|
|
||||||
set(USE_OPENSSL TRUE)
|
|
||||||
list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES} )
|
|
||||||
else()
|
|
||||||
set(CMAKE_USE_OPENSSL FALSE)
|
|
||||||
message(STATUS "OpenSSL NOT Found, disabling CMAKE_USE_OPENSSL")
|
|
||||||
endif()
|
|
||||||
else(WIN32)
|
|
||||||
check_library_exists_concat("crypto" CRYPTO_lock HAVE_LIBCRYPTO)
|
|
||||||
check_library_exists_concat("ssl" SSL_connect HAVE_LIBSSL)
|
|
||||||
endif(WIN32)
|
|
||||||
endif(CMAKE_USE_OPENSSL)
|
|
||||||
|
|
||||||
# If we have features.h, then do the _BSD_SOURCE magic
|
|
||||||
check_include_file("features.h" HAVE_FEATURES_H)
|
|
||||||
|
|
||||||
# Check if header file exists and add it to the list.
|
|
||||||
macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
|
|
||||||
check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
|
|
||||||
if(${VARIABLE})
|
|
||||||
set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
|
|
||||||
set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D${VARIABLE}")
|
|
||||||
endif(${VARIABLE})
|
|
||||||
endmacro(CHECK_INCLUDE_FILE_CONCAT)
|
|
||||||
|
|
||||||
|
|
||||||
# Check for header files
|
|
||||||
if(NOT UNIX)
|
|
||||||
check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H)
|
|
||||||
check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H)
|
|
||||||
endif(NOT UNIX)
|
|
||||||
check_include_file_concat("stdio.h" HAVE_STDIO_H)
|
|
||||||
if(NOT UNIX)
|
|
||||||
check_include_file_concat("windows.h" HAVE_WINDOWS_H)
|
|
||||||
check_include_file_concat("winsock.h" HAVE_WINSOCK_H)
|
|
||||||
endif(NOT UNIX)
|
|
||||||
|
|
||||||
check_include_file_concat("inttypes.h" HAVE_INTTYPES_H)
|
|
||||||
check_include_file_concat("sys/filio.h" HAVE_SYS_FILIO_H)
|
|
||||||
check_include_file_concat("sys/ioctl.h" HAVE_SYS_IOCTL_H)
|
|
||||||
check_include_file_concat("sys/param.h" HAVE_SYS_PARAM_H)
|
|
||||||
check_include_file_concat("sys/poll.h" HAVE_SYS_POLL_H)
|
|
||||||
check_include_file_concat("sys/resource.h" HAVE_SYS_RESOURCE_H)
|
|
||||||
check_include_file_concat("sys/select.h" HAVE_SYS_SELECT_H)
|
|
||||||
check_include_file_concat("sys/socket.h" HAVE_SYS_SOCKET_H)
|
|
||||||
check_include_file_concat("sys/sockio.h" HAVE_SYS_SOCKIO_H)
|
|
||||||
check_include_file_concat("sys/stat.h" HAVE_SYS_STAT_H)
|
|
||||||
check_include_file_concat("sys/time.h" HAVE_SYS_TIME_H)
|
|
||||||
check_include_file_concat("sys/types.h" HAVE_SYS_TYPES_H)
|
|
||||||
check_include_file_concat("sys/uio.h" HAVE_SYS_UIO_H)
|
|
||||||
check_include_file_concat("sys/un.h" HAVE_SYS_UN_H)
|
|
||||||
check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H)
|
|
||||||
check_include_file_concat("alloca.h" HAVE_ALLOCA_H)
|
|
||||||
check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H)
|
|
||||||
check_include_file_concat("arpa/tftp.h" HAVE_ARPA_TFTP_H)
|
|
||||||
check_include_file_concat("assert.h" HAVE_ASSERT_H)
|
|
||||||
check_include_file_concat("crypto.h" HAVE_CRYPTO_H)
|
|
||||||
check_include_file_concat("des.h" HAVE_DES_H)
|
|
||||||
check_include_file_concat("err.h" HAVE_ERR_H)
|
|
||||||
check_include_file_concat("errno.h" HAVE_ERRNO_H)
|
|
||||||
check_include_file_concat("fcntl.h" HAVE_FCNTL_H)
|
|
||||||
check_include_file_concat("gssapi/gssapi.h" HAVE_GSSAPI_GSSAPI_H)
|
|
||||||
check_include_file_concat("gssapi/gssapi_generic.h" HAVE_GSSAPI_GSSAPI_GENERIC_H)
|
|
||||||
check_include_file_concat("gssapi/gssapi_krb5.h" HAVE_GSSAPI_GSSAPI_KRB5_H)
|
|
||||||
check_include_file_concat("idn-free.h" HAVE_IDN_FREE_H)
|
|
||||||
check_include_file_concat("ifaddrs.h" HAVE_IFADDRS_H)
|
|
||||||
check_include_file_concat("io.h" HAVE_IO_H)
|
|
||||||
check_include_file_concat("krb.h" HAVE_KRB_H)
|
|
||||||
check_include_file_concat("libgen.h" HAVE_LIBGEN_H)
|
|
||||||
check_include_file_concat("libssh2.h" HAVE_LIBSSH2_H)
|
|
||||||
check_include_file_concat("limits.h" HAVE_LIMITS_H)
|
|
||||||
check_include_file_concat("locale.h" HAVE_LOCALE_H)
|
|
||||||
check_include_file_concat("net/if.h" HAVE_NET_IF_H)
|
|
||||||
check_include_file_concat("netdb.h" HAVE_NETDB_H)
|
|
||||||
check_include_file_concat("netinet/in.h" HAVE_NETINET_IN_H)
|
|
||||||
check_include_file_concat("netinet/tcp.h" HAVE_NETINET_TCP_H)
|
|
||||||
check_include_file_concat("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H)
|
|
||||||
check_include_file_concat("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
|
|
||||||
check_include_file_concat("openssl/err.h" HAVE_OPENSSL_ERR_H)
|
|
||||||
check_include_file_concat("openssl/pem.h" HAVE_OPENSSL_PEM_H)
|
|
||||||
check_include_file_concat("openssl/pkcs12.h" HAVE_OPENSSL_PKCS12_H)
|
|
||||||
check_include_file_concat("openssl/rsa.h" HAVE_OPENSSL_RSA_H)
|
|
||||||
check_include_file_concat("openssl/ssl.h" HAVE_OPENSSL_SSL_H)
|
|
||||||
check_include_file_concat("openssl/x509.h" HAVE_OPENSSL_X509_H)
|
|
||||||
check_include_file_concat("pem.h" HAVE_PEM_H)
|
|
||||||
check_include_file_concat("poll.h" HAVE_POLL_H)
|
|
||||||
check_include_file_concat("pwd.h" HAVE_PWD_H)
|
|
||||||
check_include_file_concat("rsa.h" HAVE_RSA_H)
|
|
||||||
check_include_file_concat("setjmp.h" HAVE_SETJMP_H)
|
|
||||||
check_include_file_concat("sgtty.h" HAVE_SGTTY_H)
|
|
||||||
check_include_file_concat("signal.h" HAVE_SIGNAL_H)
|
|
||||||
check_include_file_concat("ssl.h" HAVE_SSL_H)
|
|
||||||
check_include_file_concat("stdbool.h" HAVE_STDBOOL_H)
|
|
||||||
check_include_file_concat("stdint.h" HAVE_STDINT_H)
|
|
||||||
check_include_file_concat("stdio.h" HAVE_STDIO_H)
|
|
||||||
check_include_file_concat("stdlib.h" HAVE_STDLIB_H)
|
|
||||||
check_include_file_concat("string.h" HAVE_STRING_H)
|
|
||||||
check_include_file_concat("strings.h" HAVE_STRINGS_H)
|
|
||||||
check_include_file_concat("stropts.h" HAVE_STROPTS_H)
|
|
||||||
check_include_file_concat("termio.h" HAVE_TERMIO_H)
|
|
||||||
check_include_file_concat("termios.h" HAVE_TERMIOS_H)
|
|
||||||
check_include_file_concat("time.h" HAVE_TIME_H)
|
|
||||||
check_include_file_concat("tld.h" HAVE_TLD_H)
|
|
||||||
check_include_file_concat("unistd.h" HAVE_UNISTD_H)
|
|
||||||
check_include_file_concat("utime.h" HAVE_UTIME_H)
|
|
||||||
check_include_file_concat("x509.h" HAVE_X509_H)
|
|
||||||
|
|
||||||
check_include_file_concat("process.h" HAVE_PROCESS_H)
|
|
||||||
check_include_file_concat("stddef.h" HAVE_STDDEF_H)
|
|
||||||
check_include_file_concat("dlfcn.h" HAVE_DLFCN_H)
|
|
||||||
check_include_file_concat("malloc.h" HAVE_MALLOC_H)
|
|
||||||
check_include_file_concat("memory.h" HAVE_MEMORY_H)
|
|
||||||
check_include_file_concat("ldap.h" HAVE_LDAP_H)
|
|
||||||
check_include_file_concat("netinet/if_ether.h" HAVE_NETINET_IF_ETHER_H)
|
|
||||||
check_include_file_concat("stdint.h" HAVE_STDINT_H)
|
|
||||||
check_include_file_concat("sockio.h" HAVE_SOCKIO_H)
|
|
||||||
check_include_file_concat("sys/utsname.h" HAVE_SYS_UTSNAME_H)
|
|
||||||
check_include_file_concat("idna.h" HAVE_IDNA_H)
|
|
||||||
|
|
||||||
if(CMAKE_USE_OPENSSL)
|
|
||||||
check_include_file_concat("openssl/rand.h" HAVE_OPENSSL_RAND_H)
|
|
||||||
endif(CMAKE_USE_OPENSSL)
|
|
||||||
|
|
||||||
if(NOT HAVE_LDAP_H)
|
|
||||||
message(STATUS "LDAP_H not found CURL_DISABLE_LDAP set ON")
|
|
||||||
set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
check_type_size(size_t SIZEOF_SIZE_T)
|
|
||||||
check_type_size(ssize_t SIZEOF_SSIZE_T)
|
|
||||||
check_type_size("long long" SIZEOF_LONG_LONG)
|
|
||||||
check_type_size("long" SIZEOF_LONG)
|
|
||||||
check_type_size("short" SIZEOF_SHORT)
|
|
||||||
check_type_size("int" SIZEOF_INT)
|
|
||||||
check_type_size("__int64" SIZEOF___INT64)
|
|
||||||
check_type_size("long double" SIZEOF_LONG_DOUBLE)
|
|
||||||
check_type_size("time_t" SIZEOF_TIME_T)
|
|
||||||
if(NOT HAVE_SIZEOF_SSIZE_T)
|
|
||||||
if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
|
|
||||||
set(ssize_t long)
|
|
||||||
endif(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
|
|
||||||
if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
|
|
||||||
set(ssize_t __int64)
|
|
||||||
endif(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
|
|
||||||
endif(NOT HAVE_SIZEOF_SSIZE_T)
|
|
||||||
|
|
||||||
# Different sizeofs, etc.
|
|
||||||
|
|
||||||
# define CURL_SIZEOF_LONG 4
|
|
||||||
# define CURL_TYPEOF_CURL_OFF_T long long
|
|
||||||
# define CURL_FORMAT_CURL_OFF_T "lld"
|
|
||||||
# define CURL_FORMAT_CURL_OFF_TU "llu"
|
|
||||||
# define CURL_FORMAT_OFF_T "%lld"
|
|
||||||
# define CURL_SIZEOF_CURL_OFF_T 8
|
|
||||||
# define CURL_SUFFIX_CURL_OFF_T LL
|
|
||||||
# define CURL_SUFFIX_CURL_OFF_TU ULL
|
|
||||||
|
|
||||||
set(CURL_SIZEOF_LONG ${SIZEOF_LONG})
|
|
||||||
|
|
||||||
if(SIZEOF_LONG EQUAL 8)
|
|
||||||
set(CURL_TYPEOF_CURL_OFF_T long)
|
|
||||||
set(CURL_SIZEOF_CURL_OFF_T 8)
|
|
||||||
set(CURL_FORMAT_CURL_OFF_T "ld")
|
|
||||||
set(CURL_FORMAT_CURL_OFF_TU "lu")
|
|
||||||
set(CURL_FORMAT_OFF_T "%ld")
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_T L)
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_TU LU)
|
|
||||||
endif(SIZEOF_LONG EQUAL 8)
|
|
||||||
|
|
||||||
if(SIZEOF_LONG_LONG EQUAL 8)
|
|
||||||
set(CURL_TYPEOF_CURL_OFF_T "long long")
|
|
||||||
set(CURL_SIZEOF_CURL_OFF_T 8)
|
|
||||||
set(CURL_FORMAT_CURL_OFF_T "lld")
|
|
||||||
set(CURL_FORMAT_CURL_OFF_TU "llu")
|
|
||||||
set(CURL_FORMAT_OFF_T "%lld")
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_T LL)
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_TU LLU)
|
|
||||||
endif(SIZEOF_LONG_LONG EQUAL 8)
|
|
||||||
|
|
||||||
if(NOT CURL_TYPEOF_CURL_OFF_T)
|
|
||||||
set(CURL_TYPEOF_CURL_OFF_T ${ssize_t})
|
|
||||||
set(CURL_SIZEOF_CURL_OFF_T ${SIZEOF_SSIZE_T})
|
|
||||||
# TODO: need adjustment here.
|
|
||||||
set(CURL_FORMAT_CURL_OFF_T "ld")
|
|
||||||
set(CURL_FORMAT_CURL_OFF_TU "lu")
|
|
||||||
set(CURL_FORMAT_OFF_T "%ld")
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_T L)
|
|
||||||
set(CURL_SUFFIX_CURL_OFF_TU LU)
|
|
||||||
endif(NOT CURL_TYPEOF_CURL_OFF_T)
|
|
||||||
|
|
||||||
if(HAVE_SIZEOF_LONG_LONG)
|
|
||||||
set(HAVE_LONGLONG 1)
|
|
||||||
set(HAVE_LL 1)
|
|
||||||
endif(HAVE_SIZEOF_LONG_LONG)
|
|
||||||
|
|
||||||
find_file(RANDOM_FILE urandom /dev)
|
|
||||||
mark_as_advanced(RANDOM_FILE)
|
|
||||||
|
|
||||||
# Check for some functions that are used
|
|
||||||
check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME)
|
|
||||||
check_symbol_exists(socket "${CURL_INCLUDES}" HAVE_SOCKET)
|
|
||||||
check_symbol_exists(poll "${CURL_INCLUDES}" HAVE_POLL)
|
|
||||||
check_symbol_exists(select "${CURL_INCLUDES}" HAVE_SELECT)
|
|
||||||
check_symbol_exists(strdup "${CURL_INCLUDES}" HAVE_STRDUP)
|
|
||||||
check_symbol_exists(strstr "${CURL_INCLUDES}" HAVE_STRSTR)
|
|
||||||
check_symbol_exists(strtok_r "${CURL_INCLUDES}" HAVE_STRTOK_R)
|
|
||||||
check_symbol_exists(strftime "${CURL_INCLUDES}" HAVE_STRFTIME)
|
|
||||||
check_symbol_exists(uname "${CURL_INCLUDES}" HAVE_UNAME)
|
|
||||||
check_symbol_exists(strcasecmp "${CURL_INCLUDES}" HAVE_STRCASECMP)
|
|
||||||
check_symbol_exists(stricmp "${CURL_INCLUDES}" HAVE_STRICMP)
|
|
||||||
check_symbol_exists(strcmpi "${CURL_INCLUDES}" HAVE_STRCMPI)
|
|
||||||
check_symbol_exists(strncmpi "${CURL_INCLUDES}" HAVE_STRNCMPI)
|
|
||||||
check_symbol_exists(alarm "${CURL_INCLUDES}" HAVE_ALARM)
|
|
||||||
if(NOT HAVE_STRNCMPI)
|
|
||||||
set(HAVE_STRCMPI)
|
|
||||||
endif(NOT HAVE_STRNCMPI)
|
|
||||||
check_symbol_exists(gethostbyaddr "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR)
|
|
||||||
check_symbol_exists(gethostbyaddr_r "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR_R)
|
|
||||||
check_symbol_exists(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
|
|
||||||
check_symbol_exists(inet_addr "${CURL_INCLUDES}" HAVE_INET_ADDR)
|
|
||||||
check_symbol_exists(inet_ntoa "${CURL_INCLUDES}" HAVE_INET_NTOA)
|
|
||||||
check_symbol_exists(inet_ntoa_r "${CURL_INCLUDES}" HAVE_INET_NTOA_R)
|
|
||||||
check_symbol_exists(tcsetattr "${CURL_INCLUDES}" HAVE_TCSETATTR)
|
|
||||||
check_symbol_exists(tcgetattr "${CURL_INCLUDES}" HAVE_TCGETATTR)
|
|
||||||
check_symbol_exists(perror "${CURL_INCLUDES}" HAVE_PERROR)
|
|
||||||
check_symbol_exists(closesocket "${CURL_INCLUDES}" HAVE_CLOSESOCKET)
|
|
||||||
check_symbol_exists(setvbuf "${CURL_INCLUDES}" HAVE_SETVBUF)
|
|
||||||
check_symbol_exists(sigsetjmp "${CURL_INCLUDES}" HAVE_SIGSETJMP)
|
|
||||||
check_symbol_exists(getpass_r "${CURL_INCLUDES}" HAVE_GETPASS_R)
|
|
||||||
check_symbol_exists(strlcat "${CURL_INCLUDES}" HAVE_STRLCAT)
|
|
||||||
check_symbol_exists(getpwuid "${CURL_INCLUDES}" HAVE_GETPWUID)
|
|
||||||
check_symbol_exists(geteuid "${CURL_INCLUDES}" HAVE_GETEUID)
|
|
||||||
check_symbol_exists(utime "${CURL_INCLUDES}" HAVE_UTIME)
|
|
||||||
if(CMAKE_USE_OPENSSL)
|
|
||||||
check_symbol_exists(RAND_status "${CURL_INCLUDES}" HAVE_RAND_STATUS)
|
|
||||||
check_symbol_exists(RAND_screen "${CURL_INCLUDES}" HAVE_RAND_SCREEN)
|
|
||||||
check_symbol_exists(RAND_egd "${CURL_INCLUDES}" HAVE_RAND_EGD)
|
|
||||||
check_symbol_exists(CRYPTO_cleanup_all_ex_data "${CURL_INCLUDES}"
|
|
||||||
HAVE_CRYPTO_CLEANUP_ALL_EX_DATA)
|
|
||||||
if(HAVE_LIBCRYPTO AND HAVE_LIBSSL)
|
|
||||||
set(USE_OPENSSL 1)
|
|
||||||
set(USE_SSLEAY 1)
|
|
||||||
endif(HAVE_LIBCRYPTO AND HAVE_LIBSSL)
|
|
||||||
endif(CMAKE_USE_OPENSSL)
|
|
||||||
check_symbol_exists(gmtime_r "${CURL_INCLUDES}" HAVE_GMTIME_R)
|
|
||||||
check_symbol_exists(localtime_r "${CURL_INCLUDES}" HAVE_LOCALTIME_R)
|
|
||||||
|
|
||||||
check_symbol_exists(gethostbyname "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME)
|
|
||||||
check_symbol_exists(gethostbyname_r "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R)
|
|
||||||
|
|
||||||
check_symbol_exists(signal "${CURL_INCLUDES}" HAVE_SIGNAL_FUNC)
|
|
||||||
check_symbol_exists(SIGALRM "${CURL_INCLUDES}" HAVE_SIGNAL_MACRO)
|
|
||||||
if(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
|
|
||||||
set(HAVE_SIGNAL 1)
|
|
||||||
endif(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
|
|
||||||
check_symbol_exists(uname "${CURL_INCLUDES}" HAVE_UNAME)
|
|
||||||
check_symbol_exists(strtoll "${CURL_INCLUDES}" HAVE_STRTOLL)
|
|
||||||
check_symbol_exists(_strtoi64 "${CURL_INCLUDES}" HAVE__STRTOI64)
|
|
||||||
check_symbol_exists(strerror_r "${CURL_INCLUDES}" HAVE_STRERROR_R)
|
|
||||||
check_symbol_exists(siginterrupt "${CURL_INCLUDES}" HAVE_SIGINTERRUPT)
|
|
||||||
check_symbol_exists(perror "${CURL_INCLUDES}" HAVE_PERROR)
|
|
||||||
check_symbol_exists(fork "${CURL_INCLUDES}" HAVE_FORK)
|
|
||||||
check_symbol_exists(freeaddrinfo "${CURL_INCLUDES}" HAVE_FREEADDRINFO)
|
|
||||||
check_symbol_exists(freeifaddrs "${CURL_INCLUDES}" HAVE_FREEIFADDRS)
|
|
||||||
check_symbol_exists(pipe "${CURL_INCLUDES}" HAVE_PIPE)
|
|
||||||
check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE)
|
|
||||||
check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME)
|
|
||||||
check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT)
|
|
||||||
check_symbol_exists(idn_free "${CURL_INCLUDES}" HAVE_IDN_FREE)
|
|
||||||
check_symbol_exists(idna_strerror "${CURL_INCLUDES}" HAVE_IDNA_STRERROR)
|
|
||||||
check_symbol_exists(tld_strerror "${CURL_INCLUDES}" HAVE_TLD_STRERROR)
|
|
||||||
check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE)
|
|
||||||
check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT)
|
|
||||||
check_symbol_exists(fcntl "${CURL_INCLUDES}" HAVE_FCNTL)
|
|
||||||
check_symbol_exists(ioctl "${CURL_INCLUDES}" HAVE_IOCTL)
|
|
||||||
check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT)
|
|
||||||
|
|
||||||
# symbol exists in win32, but function does not.
|
|
||||||
check_function_exists(inet_pton HAVE_INET_PTON)
|
|
||||||
|
|
||||||
# sigaction and sigsetjmp are special. Use special mechanism for
|
|
||||||
# detecting those, but only if previous attempt failed.
|
|
||||||
if(HAVE_SIGNAL_H)
|
|
||||||
check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
|
|
||||||
endif(HAVE_SIGNAL_H)
|
|
||||||
|
|
||||||
if(NOT HAVE_SIGSETJMP)
|
|
||||||
if(HAVE_SETJMP_H)
|
|
||||||
check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
|
|
||||||
if(HAVE_MACRO_SIGSETJMP)
|
|
||||||
set(HAVE_SIGSETJMP 1)
|
|
||||||
endif(HAVE_MACRO_SIGSETJMP)
|
|
||||||
endif(HAVE_SETJMP_H)
|
|
||||||
endif(NOT HAVE_SIGSETJMP)
|
|
||||||
|
|
||||||
# If there is no stricmp(), do not allow LDAP to parse URLs
|
|
||||||
if(NOT HAVE_STRICMP)
|
|
||||||
set(HAVE_LDAP_URL_PARSE 1)
|
|
||||||
endif(NOT HAVE_STRICMP)
|
|
||||||
|
|
||||||
# For other curl specific tests, use this macro.
|
|
||||||
macro(CURL_INTERNAL_TEST CURL_TEST)
|
|
||||||
if("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
|
|
||||||
set(MACRO_CHECK_FUNCTION_DEFINITIONS
|
|
||||||
"-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
|
|
||||||
if(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
set(CURL_TEST_ADD_LIBRARIES
|
|
||||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
|
||||||
endif(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST}")
|
|
||||||
try_compile(${CURL_TEST}
|
|
||||||
${CMAKE_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
|
|
||||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
|
||||||
"${CURL_TEST_ADD_LIBRARIES}"
|
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
|
||||||
if(${CURL_TEST})
|
|
||||||
set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
|
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
|
||||||
"Performing Curl Test ${CURL_TEST} passed with the following output:\n"
|
|
||||||
"${OUTPUT}\n")
|
|
||||||
else(${CURL_TEST})
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
|
|
||||||
set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
|
||||||
"Performing Curl Test ${CURL_TEST} failed with the following output:\n"
|
|
||||||
"${OUTPUT}\n")
|
|
||||||
endif(${CURL_TEST})
|
|
||||||
endif("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
|
|
||||||
endmacro(CURL_INTERNAL_TEST)
|
|
||||||
|
|
||||||
macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
|
|
||||||
if("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
|
|
||||||
set(MACRO_CHECK_FUNCTION_DEFINITIONS
|
|
||||||
"-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
|
||||||
if(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
set(CURL_TEST_ADD_LIBRARIES
|
|
||||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
|
||||||
endif(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST}")
|
|
||||||
try_run(${CURL_TEST} ${CURL_TEST}_COMPILE
|
|
||||||
${CMAKE_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
|
|
||||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
|
||||||
"${CURL_TEST_ADD_LIBRARIES}"
|
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
|
||||||
if(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
|
|
||||||
set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
|
|
||||||
else(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
|
|
||||||
set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"Performing Curl Test ${CURL_TEST} failed with the following output:\n"
|
|
||||||
"${OUTPUT}")
|
|
||||||
if(${CURL_TEST}_COMPILE)
|
|
||||||
file(APPEND
|
|
||||||
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"There was a problem running this test\n")
|
|
||||||
endif(${CURL_TEST}_COMPILE)
|
|
||||||
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"\n\n")
|
|
||||||
endif(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
|
|
||||||
endif("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
|
|
||||||
endmacro(CURL_INTERNAL_TEST_RUN)
|
|
||||||
|
|
||||||
# Do curl specific tests
|
|
||||||
foreach(CURL_TEST
|
|
||||||
HAVE_FCNTL_O_NONBLOCK
|
|
||||||
HAVE_IOCTLSOCKET
|
|
||||||
HAVE_IOCTLSOCKET_CAMEL
|
|
||||||
HAVE_IOCTLSOCKET_CAMEL_FIONBIO
|
|
||||||
HAVE_IOCTLSOCKET_FIONBIO
|
|
||||||
HAVE_IOCTL_FIONBIO
|
|
||||||
HAVE_IOCTL_SIOCGIFADDR
|
|
||||||
HAVE_SETSOCKOPT_SO_NONBLOCK
|
|
||||||
HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
|
|
||||||
TIME_WITH_SYS_TIME
|
|
||||||
HAVE_O_NONBLOCK
|
|
||||||
HAVE_GETHOSTBYADDR_R_5
|
|
||||||
HAVE_GETHOSTBYADDR_R_7
|
|
||||||
HAVE_GETHOSTBYADDR_R_8
|
|
||||||
HAVE_GETHOSTBYADDR_R_5_REENTRANT
|
|
||||||
HAVE_GETHOSTBYADDR_R_7_REENTRANT
|
|
||||||
HAVE_GETHOSTBYADDR_R_8_REENTRANT
|
|
||||||
HAVE_GETHOSTBYNAME_R_3
|
|
||||||
HAVE_GETHOSTBYNAME_R_5
|
|
||||||
HAVE_GETHOSTBYNAME_R_6
|
|
||||||
HAVE_GETHOSTBYNAME_R_3_REENTRANT
|
|
||||||
HAVE_GETHOSTBYNAME_R_5_REENTRANT
|
|
||||||
HAVE_GETHOSTBYNAME_R_6_REENTRANT
|
|
||||||
HAVE_SOCKLEN_T
|
|
||||||
HAVE_IN_ADDR_T
|
|
||||||
HAVE_BOOL_T
|
|
||||||
STDC_HEADERS
|
|
||||||
RETSIGTYPE_TEST
|
|
||||||
HAVE_INET_NTOA_R_DECL
|
|
||||||
HAVE_INET_NTOA_R_DECL_REENTRANT
|
|
||||||
HAVE_GETADDRINFO
|
|
||||||
HAVE_FILE_OFFSET_BITS
|
|
||||||
)
|
|
||||||
curl_internal_test(${CURL_TEST})
|
|
||||||
endforeach(CURL_TEST)
|
|
||||||
if(HAVE_FILE_OFFSET_BITS)
|
|
||||||
set(_FILE_OFFSET_BITS 64)
|
|
||||||
endif(HAVE_FILE_OFFSET_BITS)
|
|
||||||
foreach(CURL_TEST
|
|
||||||
HAVE_GLIBC_STRERROR_R
|
|
||||||
HAVE_POSIX_STRERROR_R
|
|
||||||
)
|
|
||||||
curl_internal_test_run(${CURL_TEST})
|
|
||||||
endforeach(CURL_TEST)
|
|
||||||
|
|
||||||
# Check for reentrant
|
|
||||||
foreach(CURL_TEST
|
|
||||||
HAVE_GETHOSTBYADDR_R_5
|
|
||||||
HAVE_GETHOSTBYADDR_R_7
|
|
||||||
HAVE_GETHOSTBYADDR_R_8
|
|
||||||
HAVE_GETHOSTBYNAME_R_3
|
|
||||||
HAVE_GETHOSTBYNAME_R_5
|
|
||||||
HAVE_GETHOSTBYNAME_R_6
|
|
||||||
HAVE_INET_NTOA_R_DECL_REENTRANT)
|
|
||||||
if(NOT ${CURL_TEST})
|
|
||||||
if(${CURL_TEST}_REENTRANT)
|
|
||||||
set(NEED_REENTRANT 1)
|
|
||||||
endif(${CURL_TEST}_REENTRANT)
|
|
||||||
endif(NOT ${CURL_TEST})
|
|
||||||
endforeach(CURL_TEST)
|
|
||||||
|
|
||||||
if(NEED_REENTRANT)
|
|
||||||
foreach(CURL_TEST
|
|
||||||
HAVE_GETHOSTBYADDR_R_5
|
|
||||||
HAVE_GETHOSTBYADDR_R_7
|
|
||||||
HAVE_GETHOSTBYADDR_R_8
|
|
||||||
HAVE_GETHOSTBYNAME_R_3
|
|
||||||
HAVE_GETHOSTBYNAME_R_5
|
|
||||||
HAVE_GETHOSTBYNAME_R_6)
|
|
||||||
set(${CURL_TEST} 0)
|
|
||||||
if(${CURL_TEST}_REENTRANT)
|
|
||||||
set(${CURL_TEST} 1)
|
|
||||||
endif(${CURL_TEST}_REENTRANT)
|
|
||||||
endforeach(CURL_TEST)
|
|
||||||
endif(NEED_REENTRANT)
|
|
||||||
|
|
||||||
if(HAVE_INET_NTOA_R_DECL_REENTRANT)
|
|
||||||
set(HAVE_INET_NTOA_R_DECL 1)
|
|
||||||
set(NEED_REENTRANT 1)
|
|
||||||
endif(HAVE_INET_NTOA_R_DECL_REENTRANT)
|
|
||||||
|
|
||||||
# Some other minor tests
|
|
||||||
|
|
||||||
if(NOT HAVE_IN_ADDR_T)
|
|
||||||
set(in_addr_t "unsigned long")
|
|
||||||
endif(NOT HAVE_IN_ADDR_T)
|
|
||||||
|
|
||||||
# Fix libz / zlib.h
|
|
||||||
|
|
||||||
if(NOT CURL_SPECIAL_LIBZ)
|
|
||||||
if(NOT HAVE_LIBZ)
|
|
||||||
set(HAVE_ZLIB_H 0)
|
|
||||||
endif(NOT HAVE_LIBZ)
|
|
||||||
|
|
||||||
if(NOT HAVE_ZLIB_H)
|
|
||||||
set(HAVE_LIBZ 0)
|
|
||||||
endif(NOT HAVE_ZLIB_H)
|
|
||||||
endif(NOT CURL_SPECIAL_LIBZ)
|
|
||||||
|
|
||||||
if(_FILE_OFFSET_BITS)
|
|
||||||
set(_FILE_OFFSET_BITS 64)
|
|
||||||
endif(_FILE_OFFSET_BITS)
|
|
||||||
set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64")
|
|
||||||
set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/curl/curl.h")
|
|
||||||
check_type_size("curl_off_t" SIZEOF_CURL_OFF_T)
|
|
||||||
set(CMAKE_EXTRA_INCLUDE_FILES)
|
|
||||||
set(CMAKE_REQUIRED_FLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
# Check for nonblocking
|
|
||||||
set(HAVE_DISABLED_NONBLOCKING 1)
|
|
||||||
if(HAVE_FIONBIO OR
|
|
||||||
HAVE_IOCTLSOCKET OR
|
|
||||||
HAVE_IOCTLSOCKET_CASE OR
|
|
||||||
HAVE_O_NONBLOCK)
|
|
||||||
set(HAVE_DISABLED_NONBLOCKING)
|
|
||||||
endif(HAVE_FIONBIO OR
|
|
||||||
HAVE_IOCTLSOCKET OR
|
|
||||||
HAVE_IOCTLSOCKET_CASE OR
|
|
||||||
HAVE_O_NONBLOCK)
|
|
||||||
|
|
||||||
if(RETSIGTYPE_TEST)
|
|
||||||
set(RETSIGTYPE void)
|
|
||||||
else(RETSIGTYPE_TEST)
|
|
||||||
set(RETSIGTYPE int)
|
|
||||||
endif(RETSIGTYPE_TEST)
|
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
|
|
||||||
include(CheckCCompilerFlag)
|
|
||||||
check_c_compiler_flag(-Wno-long-double HAVE_C_FLAG_Wno_long_double)
|
|
||||||
if(HAVE_C_FLAG_Wno_long_double)
|
|
||||||
# The Mac version of GCC warns about use of long double. Disable it.
|
|
||||||
get_source_file_property(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
|
|
||||||
if(MPRINTF_COMPILE_FLAGS)
|
|
||||||
set(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
|
|
||||||
else(MPRINTF_COMPILE_FLAGS)
|
|
||||||
set(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
|
|
||||||
endif(MPRINTF_COMPILE_FLAGS)
|
|
||||||
set_source_files_properties(mprintf.c PROPERTIES
|
|
||||||
COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
|
|
||||||
endif(HAVE_C_FLAG_Wno_long_double)
|
|
||||||
endif(CMAKE_COMPILER_IS_GNUCC AND APPLE)
|
|
||||||
|
|
||||||
if(HAVE_SOCKLEN_T)
|
|
||||||
set(CURL_TYPEOF_CURL_SOCKLEN_T "socklen_t")
|
|
||||||
if(WIN32)
|
|
||||||
set(CMAKE_EXTRA_INCLUDE_FILES "winsock2.h;ws2tcpip.h")
|
|
||||||
elseif(HAVE_SYS_SOCKET_H)
|
|
||||||
set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
|
|
||||||
endif()
|
|
||||||
check_type_size("socklen_t" CURL_SIZEOF_CURL_SOCKLEN_T)
|
|
||||||
set(CMAKE_EXTRA_INCLUDE_FILES)
|
|
||||||
if(NOT HAVE_CURL_SIZEOF_CURL_SOCKLEN_T)
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"Check for sizeof socklen_t failed, see CMakeFiles/CMakerror.log")
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(CURL_TYPEOF_CURL_SOCKLEN_T int)
|
|
||||||
set(CURL_SIZEOF_CURL_SOCKLEN_T ${SIZEOF_INT})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(CMake/OtherTests.cmake)
|
|
||||||
|
|
||||||
add_definitions(-DHAVE_CONFIG_H)
|
|
||||||
|
|
||||||
# For windows, do not allow the compiler to use default target (Vista).
|
|
||||||
if(WIN32)
|
|
||||||
add_definitions(-D_WIN32_WINNT=0x0501)
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
|
|
||||||
endif(MSVC)
|
|
||||||
|
|
||||||
# Sets up the dependencies (zlib, OpenSSL, etc.) of a cURL subproject according to options.
|
|
||||||
# TODO This is far to be complete!
|
|
||||||
function(SETUP_CURL_DEPENDENCIES TARGET_NAME)
|
|
||||||
if(CURL_ZLIB AND ZLIB_FOUND)
|
|
||||||
include_directories(${ZLIB_INCLUDE_DIR})
|
|
||||||
endif()
|
|
||||||
if(CURL_ZLIB AND ZLIB_FOUND)
|
|
||||||
target_link_libraries(${TARGET_NAME} ${ZLIB_LIBRARIES})
|
|
||||||
#ADD_DEFINITIONS( -DHAVE_ZLIB_H -DHAVE_ZLIB -DHAVE_LIBZ )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_USE_OPENSSL AND OPENSSL_FOUND)
|
|
||||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
|
||||||
endif()
|
|
||||||
if(CMAKE_USE_OPENSSL AND CURL_CONFIG_HAS_BEEN_RUN_BEFORE)
|
|
||||||
target_link_libraries(${TARGET_NAME} ${OPENSSL_LIBRARIES})
|
|
||||||
#ADD_DEFINITIONS( -DUSE_SSLEAY )
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
|
|
||||||
function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
|
|
||||||
file(READ ${INPUT_FILE} MAKEFILE_INC_TEXT)
|
|
||||||
string(REPLACE "$(top_srcdir)" "\${CURL_SOURCE_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
|
|
||||||
string(REPLACE "$(top_builddir)" "\${CURL_BINARY_DIR}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
|
|
||||||
|
|
||||||
string(REGEX REPLACE "\\\\\n" "§!§" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
|
|
||||||
string(REGEX REPLACE "([a-zA-Z_][a-zA-Z0-9_]*)[\t ]*=[\t ]*([^\n]*)" "SET(\\1 \\2)" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
|
|
||||||
string(REPLACE "§!§" "\n" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT})
|
|
||||||
|
|
||||||
string(REGEX REPLACE "\\$\\(([a-zA-Z_][a-zA-Z0-9_]*)\\)" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT}) # Replace $() with ${}
|
|
||||||
string(REGEX REPLACE "@([a-zA-Z_][a-zA-Z0-9_]*)@" "\${\\1}" MAKEFILE_INC_TEXT ${MAKEFILE_INC_TEXT}) # Replace @@ with ${}, even if that may not be read by CMake scripts.
|
|
||||||
file(WRITE ${OUTPUT_FILE} ${MAKEFILE_INC_TEXT})
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
add_subdirectory(lib)
|
|
||||||
if(BUILD_CURL_EXE)
|
|
||||||
add_subdirectory(src)
|
|
||||||
endif()
|
|
||||||
if(BUILD_CURL_TESTS)
|
|
||||||
add_subdirectory(tests)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# This needs to be run very last so other parts of the scripts can take advantage of this.
|
|
||||||
if(NOT CURL_CONFIG_HAS_BEEN_RUN_BEFORE)
|
|
||||||
set(CURL_CONFIG_HAS_BEEN_RUN_BEFORE 1 CACHE INTERNAL "Flag to track whether this is the first time running CMake or if CMake has been configured before")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Installation.
|
|
||||||
# First, install generated curlbuild.h
|
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/curl/curlbuild.h"
|
|
||||||
DESTINATION include/curl )
|
|
||||||
# Next, install other headers excluding curlbuild.h
|
|
||||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl"
|
|
||||||
DESTINATION include
|
|
||||||
FILES_MATCHING PATTERN "*.h"
|
|
||||||
PATTERN "curlbuild.h" EXCLUDE)
|
|
@ -1,57 +0,0 @@
|
|||||||
###########################################################################
|
|
||||||
### You Will need to modify the following variables for your system
|
|
||||||
###########################################################################
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
# Path to Apache httpd installation
|
|
||||||
BASE = %APACHE%
|
|
||||||
|
|
||||||
# Paths to required libraries
|
|
||||||
PCRE = %PCRE%
|
|
||||||
CURL = %CURL%
|
|
||||||
|
|
||||||
# Linking libraries
|
|
||||||
LIBS = $(BASE)\lib\libapr-1.lib \
|
|
||||||
$(BASE)\lib\libaprutil-1.lib \
|
|
||||||
$(PCRE)\pcre.lib \
|
|
||||||
$(CURL)\libcurl_imp.lib \
|
|
||||||
wsock32.lib
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
CC = cL
|
|
||||||
|
|
||||||
MT = mt
|
|
||||||
|
|
||||||
DEFS = /nologo /O2 /W3 -DWIN32 -DWINNT -Dinline=APR_INLINE -D_CONSOLE -D$(VERSION)
|
|
||||||
|
|
||||||
EXE = mlogc.exe
|
|
||||||
|
|
||||||
INCLUDES = -I. -I..\apache2 \
|
|
||||||
-I$(PCRE)\include -I$(PCRE) \
|
|
||||||
-I$(CURL)\include -I$(CURL) \
|
|
||||||
-I$(BASE)\include
|
|
||||||
|
|
||||||
CFLAGS= -MT $(INCLUDES) $(DEFS)
|
|
||||||
|
|
||||||
LDFLAGS =
|
|
||||||
|
|
||||||
OBJS = mlogc.obj
|
|
||||||
|
|
||||||
all: $(EXE)
|
|
||||||
|
|
||||||
.c.obj:
|
|
||||||
$(CC) $(CFLAGS) -c $< -Fo$@
|
|
||||||
|
|
||||||
.cpp.obj:
|
|
||||||
$(CC) $(CFLAGS) -c $< -Fo$@
|
|
||||||
|
|
||||||
$(EXE): $(OBJS)
|
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) /link /NODEFAULTLIB:MSVCRT.lib /subsystem:console
|
|
||||||
|
|
||||||
install: $(EXE)
|
|
||||||
copy $(EXE) $(BASE)\bin
|
|
||||||
|
|
||||||
clean:
|
|
||||||
del $(OBJS) $(EXE) *.dll *.lib *.pdb *.idb *.ilk *.exp *.res *.rc *.bin *.manifest
|
|
@ -1,224 +0,0 @@
|
|||||||
@call :GetWindowsSdkDir
|
|
||||||
@call :GetVSInstallDir
|
|
||||||
@call :GetVCInstallDir
|
|
||||||
@call :GetFSharpInstallDir
|
|
||||||
@if "%1"=="32bit" (
|
|
||||||
@call :GetFrameworkDir32
|
|
||||||
@call :GetFrameworkVer32
|
|
||||||
)
|
|
||||||
@if "%2"=="64bit" (
|
|
||||||
@call :GetFrameworkDir64
|
|
||||||
@call :GetFrameworkVer64
|
|
||||||
)
|
|
||||||
@SET Framework35Version=v3.5
|
|
||||||
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetWindowsSdkDir
|
|
||||||
@set WindowsSdkDir=
|
|
||||||
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetWindowsSdkDirHelper
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" /v "InstallationFolder"') DO (
|
|
||||||
@if "%%i"=="InstallationFolder" (
|
|
||||||
@SET "WindowsSdkDir=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%WindowsSdkDir%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetVSInstallDir
|
|
||||||
@set VSINSTALLDIR=
|
|
||||||
@call :GetVSInstallDirHelper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSInstallDirHelper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSInstallDirHelper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSInstallDirHelper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSInstallDirHelper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VSINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VSINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSInstallDirHelper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VSINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VSINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetVCInstallDir
|
|
||||||
@set VCINSTALLDIR=
|
|
||||||
@call :GetVCInstallDirHelper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVCInstallDirHelper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVCInstallDirHelper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVCInstallDirHelper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVCInstallDirHelper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VCINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VCINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVCInstallDirHelper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VCINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VCINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetFSharpInstallDir
|
|
||||||
@set FSHARPINSTALLDIR=
|
|
||||||
@call :GetFSharpInstallDirHelper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFSharpInstallDirHelper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFSharpInstallDirHelper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFSharpInstallDirHelper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFSharpInstallDirHelper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\10.0\Setup\F#" /v "ProductDir"') DO (
|
|
||||||
@if "%%i"=="ProductDir" (
|
|
||||||
@SET "FSHARPINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FSHARPINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFSharpInstallDirHelper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\F#" /v "ProductDir"') DO (
|
|
||||||
@if "%%i"=="ProductDir" (
|
|
||||||
@SET "FSHARPINSTALLDIR=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FSHARPINSTALLDIR%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetFrameworkDir32
|
|
||||||
@set FrameworkDir32=
|
|
||||||
@call :GetFrameworkDir32Helper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir32Helper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir32Helper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir32Helper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkDir32Helper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkDir32"') DO (
|
|
||||||
@if "%%i"=="FrameworkDir32" (
|
|
||||||
@SET "FrameworkDIR32=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkDir32%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkDir32Helper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkDir32"') DO (
|
|
||||||
@if "%%i"=="FrameworkDir32" (
|
|
||||||
@SET "FrameworkDIR32=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkDIR32%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetFrameworkDir64
|
|
||||||
@set FrameworkDir64=
|
|
||||||
@call :GetFrameworkDir64Helper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir64Helper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir64Helper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkDir64Helper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkDir64Helper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkDir64"') DO (
|
|
||||||
@if "%%i"=="FrameworkDir64" (
|
|
||||||
@SET "FrameworkDIR64=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkDIR64%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkDir64Helper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkDir64"') DO (
|
|
||||||
@if "%%i"=="FrameworkDir64" (
|
|
||||||
@SET "FrameworkDIR64=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkDIR64%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetFrameworkVer32
|
|
||||||
@set FrameworkVer32=
|
|
||||||
@call :GetFrameworkVer32Helper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer32Helper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer32Helper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer32Helper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkVer32Helper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkVer32"') DO (
|
|
||||||
@if "%%i"=="FrameworkVer32" (
|
|
||||||
@SET "FrameworkVersion32=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkVersion32%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkVer32Helper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkVer32"') DO (
|
|
||||||
@if "%%i"=="FrameworkVer32" (
|
|
||||||
@SET "FrameworkVersion32=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkVersion32%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetFrameworkVer64
|
|
||||||
@set FrameworkVer64=
|
|
||||||
@call :GetFrameworkVer64Helper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer64Helper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer64Helper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetFrameworkVer64Helper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkVer64Helper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkVer64"') DO (
|
|
||||||
@if "%%i"=="FrameworkVer64" (
|
|
||||||
@SET "FrameworkVersion64=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkVersion64%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetFrameworkVer64Helper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7" /v "FrameworkVer64"') DO (
|
|
||||||
@if "%%i"=="FrameworkVer64" (
|
|
||||||
@SET "FrameworkVersion64=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%FrameworkVersion64%"=="" exit /B 1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:end
|
|
1779
iis/winbuild/apr.mak
1779
iis/winbuild/apr.mak
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,11 +0,0 @@
|
|||||||
c:
|
|
||||||
|
|
||||||
call build_apache.bat
|
|
||||||
call build_pcre.bat
|
|
||||||
call build_zlib.bat
|
|
||||||
call build_libxml2.bat
|
|
||||||
call build_lua.bat
|
|
||||||
call build_curl.bat
|
|
||||||
call build_module.bat
|
|
||||||
|
|
||||||
cd %WORK%
|
|
@ -1,5 +0,0 @@
|
|||||||
SET APACHE24_ZIP=httpd-2.4.3-win32.zip
|
|
||||||
mkdir %DROP%
|
|
||||||
call vsvars32.bat
|
|
||||||
call init.bat
|
|
||||||
call build.bat
|
|
@ -1,6 +0,0 @@
|
|||||||
SET APACHE24_ZIP=httpd-2.4.3-win64.zip
|
|
||||||
mkdir %DROP%
|
|
||||||
call vcvars64.bat
|
|
||||||
call init.bat
|
|
||||||
SET CL=/D "WIN64" /D "_WIN64"
|
|
||||||
call build.bat
|
|
@ -1,40 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %APACHE%
|
|
||||||
rmdir /s /q %HTTPD%
|
|
||||||
IF NOT DEFINED BUILD_APACHE GOTO USE_APACHE_24
|
|
||||||
7z.exe x %HTTPD%-win32-src.zip
|
|
||||||
fart.exe -r -i -C %WORK%\%HTTPD%\*.mak \x2Fmachine:x86 " "
|
|
||||||
fart.exe -r -i -C %WORK%\%HTTPD%\*.mk.win \x2Fmachine:x86 " "
|
|
||||||
copy /y %WORK%\libhttpd.mak %WORK%\%HTTPD%
|
|
||||||
copy /y %WORK%\mod_ssl.mak %WORK%\%HTTPD%\modules\ssl
|
|
||||||
copy /y %WORK%\apr.mak %WORK%\%HTTPD%\srclib\apr
|
|
||||||
copy /y %WORK%\libapr.mak %WORK%\%HTTPD%\srclib\apr
|
|
||||||
copy /y %WORK%\aprutil.mak %WORK%\%HTTPD%\srclib\apr-util
|
|
||||||
copy /y %WORK%\libaprutil.mak %WORK%\%HTTPD%\srclib\apr-util
|
|
||||||
copy /y %WORK%\dftables.mak %WORK%\%HTTPD%\srclib\pcre
|
|
||||||
copy /y %WORK%\pcre.mak %WORK%\%HTTPD%\srclib\pcre
|
|
||||||
cd %HTTPD%
|
|
||||||
nmake -f Makefile.win installr
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
GOTO END
|
|
||||||
|
|
||||||
:USE_APACHE_24
|
|
||||||
set APACHE=%WORK%\Apache24
|
|
||||||
del /q /f --*.*
|
|
||||||
del /q /f readme.txt
|
|
||||||
rmdir /s /q %APACHE%
|
|
||||||
7z.exe x %APACHE24_ZIP%
|
|
||||||
7z.exe x %HTTPD%.zip
|
|
||||||
|
|
||||||
:END
|
|
||||||
copy /y %APACHE%\bin\libapr-1.dll %DROP%
|
|
||||||
copy /y %APACHE%\bin\libapr-1.pdb %DROP%
|
|
||||||
copy /y %APACHE%\lib\libapr-1.lib %DROP%
|
|
||||||
copy /y %APACHE%\bin\libapriconv-1.dll %DROP%
|
|
||||||
copy /y %APACHE%\bin\libapriconv-1.pdb %DROP%
|
|
||||||
copy /y %APACHE%\lib\libapriconv-1.lib %DROP%
|
|
||||||
copy /y %APACHE%\bin\libaprutil-1.dll %DROP%
|
|
||||||
copy /y %APACHE%\bin\libaprutil-1.pdb %DROP%
|
|
||||||
copy /y %APACHE%\lib\libaprutil-1.lib %DROP%
|
|
||||||
SET HTTPD_BUILD=%WORK%\%HTTPD%
|
|
||||||
cd %WORK%
|
|
@ -1,14 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %CURL%
|
|
||||||
7z.exe x %CURL%.zip
|
|
||||||
copy /y CMakeLists.txt %CURL%
|
|
||||||
CD %CURL%
|
|
||||||
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True -DCURL_ZLIB=True
|
|
||||||
%WORK%\fart.exe -r -C %WORK%\%CURL%\include\curl\curlbuild.h LLU ULL
|
|
||||||
NMAKE
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\%CURL%\libcurl.dll %DROP%
|
|
||||||
copy /y %WORK%\%CURL%\libcurl.pdb %DROP%
|
|
||||||
copy /y %WORK%\%CURL%\libcurl_imp.lib %DROP%
|
|
@ -1,12 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %LIBXML2%
|
|
||||||
7z.exe x %LIBXML2%.zip
|
|
||||||
fart.exe -r -i -C %WORK%\%LIBXML2%\win32\*.* \x2Fopt:nowin98 " "
|
|
||||||
cd %LIBXML2%\win32
|
|
||||||
CSCRIPT configure.js iconv=no vcmanifest=yes zlib=yes
|
|
||||||
NMAKE -f Makefile.msvc
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\%LIBXML2%\win32\bin.msvc\libxml2.dll %DROP%
|
|
||||||
copy /y %WORK%\%LIBXML2%\win32\bin.msvc\libxml2.lib %DROP%
|
|
@ -1,14 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %LUA%
|
|
||||||
7z.exe x %LUA%.zip
|
|
||||||
CD %LUA%\src
|
|
||||||
CL /Ox /arch:SSE2 /GF /GL /Gy /FD /EHsc /MD /Zi /TC /wd4005 /D "_MBCS" /D "LUA_CORE" /D "LUA_BUILD_AS_DLL" /D "_CRT_SECURE_NO_WARNINGS" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_WIN32" /D "_WINDLL" /c *.c
|
|
||||||
DEL lua.obj luac.obj
|
|
||||||
LINK /DLL /LTCG /DEBUG /OUT:lua5.1.dll *.obj
|
|
||||||
IF EXIST lua5.1.dll.manifest MT -manifest lua5.1.dll.manifest -outputresource:lua5.1.dll;2
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\%LUA%\src\lua5.1.dll %DROP%
|
|
||||||
copy /y %WORK%\%LUA%\src\lua5.1.pdb %DROP%
|
|
||||||
copy /y %WORK%\%LUA%\src\lua5.1.lib %DROP%
|
|
@ -1,16 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
CD mod_security\apache2
|
|
||||||
del *.obj *.dll *.lib
|
|
||||||
NMAKE -f Makefile.win APACHE=%APACHE% PCRE=%WORK%\%PCRE% LIBXML2=%WORK%\%LIBXML2% LUA=%WORK%\%LUA%\src VERSION=VERSION_IIS
|
|
||||||
cd ..\mlogc
|
|
||||||
copy /y %WORK%\Makefile.win .
|
|
||||||
nmake -f Makefile.win clean
|
|
||||||
nmake -f Makefile.win APACHE=%APACHE% PCRE=%WORK%\%PCRE% CURL=%WORK%\%CURL% VERSION=VERSION_IIS
|
|
||||||
cd ..\iis
|
|
||||||
nmake -f Makefile.win clean
|
|
||||||
NMAKE -f Makefile.win APACHE=%APACHE% PCRE=%WORK%\%PCRE% LIBXML2=%WORK%\%LIBXML2% LUA=%WORK%\%LUA%\src VERSION=VERSION_IIS
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\mod_security\mlogc\mlogc.exe %DROP%
|
|
||||||
copy /y %WORK%\mod_security\iis\modsecurityiis.dll %DROP%
|
|
||||||
copy /y %WORK%\mod_security\iis\modsecurityiis.pdb %DROP%
|
|
@ -1,12 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %PCRE%
|
|
||||||
7z.exe x %PCRE%.zip
|
|
||||||
cd %PCRE%
|
|
||||||
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True
|
|
||||||
NMAKE
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\%PCRE%\pcre.dll %DROP%
|
|
||||||
copy /y %WORK%\%PCRE%\pcre.pdb %DROP%
|
|
||||||
copy /y %WORK%\%PCRE%\pcre.lib %DROP%
|
|
@ -1,13 +0,0 @@
|
|||||||
cd %WORK%
|
|
||||||
rmdir /s /q %ZLIB%
|
|
||||||
7z.exe x %ZLIB%.zip
|
|
||||||
cd %ZLIB%
|
|
||||||
nmake -f win32\Makefile.msc
|
|
||||||
SET INCLUDE=%INCLUDE%;%WORK%\%ZLIB%
|
|
||||||
SET LIB=%LIB%;%WORK%\%ZLIB%
|
|
||||||
IF NOT DEFINED FULLBUILD pause
|
|
||||||
cd %WORK%
|
|
||||||
|
|
||||||
copy /y %WORK%\%ZLIB%\zlib1.dll %DROP%
|
|
||||||
copy /y %WORK%\%ZLIB%\zlib1.pdb %DROP%
|
|
||||||
copy /y %WORK%\%ZLIB%\zdll.lib %DROP%
|
|
@ -1,7 +0,0 @@
|
|||||||
set FULLBUILD=1
|
|
||||||
|
|
||||||
set DROP=c:\drop\amd64
|
|
||||||
cmd.exe /c build64.bat
|
|
||||||
|
|
||||||
set DROP=c:\drop\x86
|
|
||||||
cmd.exe /c build32.bat
|
|
@ -1,238 +0,0 @@
|
|||||||
# Microsoft Developer Studio Generated NMAKE File, Based on dftables.dsp
|
|
||||||
!IF "$(CFG)" == ""
|
|
||||||
CFG=dftables - Win32 Debug
|
|
||||||
!MESSAGE No configuration specified. Defaulting to dftables - Win32 Debug.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" != "dftables - Win32 Release" && "$(CFG)" != "dftables - Win32 Debug"
|
|
||||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "dftables.mak" CFG="dftables - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "dftables - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "dftables - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
!ERROR An invalid configuration is specified.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(OS)" == "Windows_NT"
|
|
||||||
NULL=
|
|
||||||
!ELSE
|
|
||||||
NULL=nul
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "dftables - Win32 Release"
|
|
||||||
|
|
||||||
OUTDIR=.
|
|
||||||
INTDIR=.\Release
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
ALL : "$(OUTDIR)\dftables.exe"
|
|
||||||
|
|
||||||
|
|
||||||
CLEAN :
|
|
||||||
-@erase "$(INTDIR)\dftables.idb"
|
|
||||||
-@erase "$(INTDIR)\dftables.obj"
|
|
||||||
-@erase "$(OUTDIR)\dftables.exe"
|
|
||||||
|
|
||||||
"$(INTDIR)" :
|
|
||||||
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MD /W3 /O2 /D "_WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\dftables" /FD /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
RSC=rc.exe
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dftables.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LINK32=link.exe
|
|
||||||
LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Release\dftables.pdb" /out:"$(OUTDIR)\dftables.exe" /opt:ref
|
|
||||||
LINK32_OBJS= \
|
|
||||||
"$(INTDIR)\dftables.obj"
|
|
||||||
|
|
||||||
"$(OUTDIR)\dftables.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
|
||||||
$(LINK32) @<<
|
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
|
|
||||||
|
|
||||||
OUTDIR=.
|
|
||||||
INTDIR=.\Debug
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
ALL : ".\pcre.h" ".\config.h" "$(OUTDIR)\dftables.exe"
|
|
||||||
|
|
||||||
|
|
||||||
CLEAN :
|
|
||||||
-@erase "$(INTDIR)\dftables.idb"
|
|
||||||
-@erase "$(INTDIR)\dftables.obj"
|
|
||||||
-@erase "$(OUTDIR)\Debug\dftables.pdb"
|
|
||||||
-@erase "$(OUTDIR)\dftables.exe"
|
|
||||||
-@erase ".\config.h"
|
|
||||||
-@erase ".\pcre.h"
|
|
||||||
|
|
||||||
"$(INTDIR)" :
|
|
||||||
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MDd /W3 /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\dftables" /FD /EHsc /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
RSC=rc.exe
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dftables.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LINK32=link.exe
|
|
||||||
LINK32_FLAGS=kernel32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\Debug\dftables.pdb" /debug /out:"$(OUTDIR)\dftables.exe"
|
|
||||||
LINK32_OBJS= \
|
|
||||||
"$(INTDIR)\dftables.obj"
|
|
||||||
|
|
||||||
"$(OUTDIR)\dftables.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
|
||||||
$(LINK32) @<<
|
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
|
||||||
!IF EXISTS("dftables.dep")
|
|
||||||
!INCLUDE "dftables.dep"
|
|
||||||
!ELSE
|
|
||||||
!MESSAGE Warning: cannot find "dftables.dep"
|
|
||||||
!ENDIF
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "dftables - Win32 Release" || "$(CFG)" == "dftables - Win32 Debug"
|
|
||||||
SOURCE=.\dftables.c
|
|
||||||
|
|
||||||
"$(INTDIR)\dftables.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\config.hw
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "dftables - Win32 Release"
|
|
||||||
|
|
||||||
InputPath=.\config.hw
|
|
||||||
|
|
||||||
".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile27.bat
|
|
||||||
@echo off
|
|
||||||
type .\config.hw > .\config.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
|
|
||||||
|
|
||||||
InputPath=.\config.hw
|
|
||||||
|
|
||||||
".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile28.bat
|
|
||||||
@echo off
|
|
||||||
type .\config.hw > .\config.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
SOURCE=.\maketables.c
|
|
||||||
SOURCE=.\pcre.hw
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "dftables - Win32 Release"
|
|
||||||
|
|
||||||
InputPath=.\pcre.hw
|
|
||||||
|
|
||||||
".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile29.bat
|
|
||||||
@echo off
|
|
||||||
type .\pcre.hw > .\pcre.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "dftables - Win32 Debug"
|
|
||||||
|
|
||||||
InputPath=.\pcre.hw
|
|
||||||
|
|
||||||
".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile30.bat
|
|
||||||
@echo off
|
|
||||||
type .\pcre.hw > .\pcre.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
Binary file not shown.
@ -1,13 +0,0 @@
|
|||||||
set PATH=%PATH%;c:\work\cmake-2.8.7-win32-x86\bin;"c:\program files\7-zip"
|
|
||||||
|
|
||||||
rem set BUILD_APACHE=YES
|
|
||||||
set HTTPD=httpd-2.2.22
|
|
||||||
IF NOT DEFINED BUILD_APACHE SET HTTPD=httpd-2.4.3
|
|
||||||
|
|
||||||
set WORK=c:\work
|
|
||||||
set APACHE=c:\Apache22
|
|
||||||
set PCRE=pcre-8.30
|
|
||||||
set ZLIB=zlib-1.2.7
|
|
||||||
set LIBXML2=libxml2-2.7.7
|
|
||||||
set LUA=lua-5.1.5
|
|
||||||
set CURL=curl-7.24.0
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,733 +0,0 @@
|
|||||||
# Microsoft Developer Studio Generated NMAKE File, Based on mod_ssl.dsp
|
|
||||||
!IF "$(CFG)" == ""
|
|
||||||
CFG=mod_ssl - Win32 Release
|
|
||||||
!MESSAGE No configuration specified. Defaulting to mod_ssl - Win32 Release.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" != "mod_ssl - Win32 Release" && "$(CFG)" != "mod_ssl - Win32 Debug" && "$(CFG)" != "mod_ssl - Win32 Lexical"
|
|
||||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "mod_ssl.mak" CFG="mod_ssl - Win32 Release"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "mod_ssl - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "mod_ssl - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "mod_ssl - Win32 Lexical" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE
|
|
||||||
!ERROR An invalid configuration is specified.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(OS)" == "Windows_NT"
|
|
||||||
NULL=
|
|
||||||
!ELSE
|
|
||||||
NULL=nul
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
OUTDIR=.\Release
|
|
||||||
INTDIR=.\Release
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Release
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "0"
|
|
||||||
|
|
||||||
ALL : "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ELSE
|
|
||||||
|
|
||||||
ALL : "libhttpd - Win32 Release" "libaprutil - Win32 Release" "libapr - Win32 Release" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "1"
|
|
||||||
CLEAN :"libapr - Win32 ReleaseCLEAN" "libaprutil - Win32 ReleaseCLEAN" "libhttpd - Win32 ReleaseCLEAN"
|
|
||||||
!ELSE
|
|
||||||
CLEAN :
|
|
||||||
!ENDIF
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.obj"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.res"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.idb"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.pdb"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_config.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_dh.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_init.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_io.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_kernel.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_log.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_mutex.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_pphrase.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_rand.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_vars.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_eval.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_parse.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_scan.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dbm.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dc.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_shmcb.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util_ssl.obj"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.exp"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.lib"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.pdb"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.so"
|
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
MTL=midl.exe
|
|
||||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
RSC=rc.exe
|
|
||||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LINK32=link.exe
|
|
||||||
LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so /opt:ref
|
|
||||||
LINK32_OBJS= \
|
|
||||||
"$(INTDIR)\mod_ssl.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_config.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_dh.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_init.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_io.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_kernel.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_log.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_mutex.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_pphrase.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_rand.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_vars.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_eval.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_parse.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_scan.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dbm.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_shmcb.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dc.obj" \
|
|
||||||
"$(INTDIR)\ssl_util.obj" \
|
|
||||||
"$(INTDIR)\ssl_util_ssl.obj" \
|
|
||||||
"$(INTDIR)\mod_ssl.res" \
|
|
||||||
"..\..\srclib\apr\Release\libapr-1.lib" \
|
|
||||||
"..\..\srclib\apr-util\Release\libaprutil-1.lib" \
|
|
||||||
"..\..\Release\libhttpd.lib"
|
|
||||||
|
|
||||||
"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
|
||||||
$(LINK32) @<<
|
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
TargetPath=.\Release\mod_ssl.so
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Desc=Embed .manifest
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Release
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
|
|
||||||
if exist .\Release\mod_ssl.so.manifest mt.exe -manifest .\Release\mod_ssl.so.manifest -outputresource:.\Release\mod_ssl.so;2
|
|
||||||
echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
OUTDIR=.\Debug
|
|
||||||
INTDIR=.\Debug
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Debug
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "0"
|
|
||||||
|
|
||||||
ALL : "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ELSE
|
|
||||||
|
|
||||||
ALL : "libhttpd - Win32 Debug" "libaprutil - Win32 Debug" "libapr - Win32 Debug" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "1"
|
|
||||||
CLEAN :"libapr - Win32 DebugCLEAN" "libaprutil - Win32 DebugCLEAN" "libhttpd - Win32 DebugCLEAN"
|
|
||||||
!ELSE
|
|
||||||
CLEAN :
|
|
||||||
!ENDIF
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.obj"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.res"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.idb"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.pdb"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_config.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_dh.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_init.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_io.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_kernel.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_log.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_mutex.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_pphrase.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_rand.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_vars.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_eval.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_parse.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_scan.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dbm.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dc.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_shmcb.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util_ssl.obj"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.exp"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.lib"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.pdb"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.so"
|
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /EHsc /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
MTL=midl.exe
|
|
||||||
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
RSC=rc.exe
|
|
||||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LINK32=link.exe
|
|
||||||
LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll.dbg" /libpath:"../../srclib/openssl/out32.dbg" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so
|
|
||||||
LINK32_OBJS= \
|
|
||||||
"$(INTDIR)\mod_ssl.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_config.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_dh.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_init.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_io.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_kernel.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_log.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_mutex.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_pphrase.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_rand.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_vars.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_eval.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_parse.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_scan.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dbm.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_shmcb.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dc.obj" \
|
|
||||||
"$(INTDIR)\ssl_util.obj" \
|
|
||||||
"$(INTDIR)\ssl_util_ssl.obj" \
|
|
||||||
"$(INTDIR)\mod_ssl.res" \
|
|
||||||
"..\..\srclib\apr\Debug\libapr-1.lib" \
|
|
||||||
"..\..\srclib\apr-util\Debug\libaprutil-1.lib" \
|
|
||||||
"..\..\Debug\libhttpd.lib"
|
|
||||||
|
|
||||||
"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
|
||||||
$(LINK32) @<<
|
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
TargetPath=.\Debug\mod_ssl.so
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Desc=Embed .manifest
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Debug
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
|
|
||||||
if exist .\Debug\mod_ssl.so.manifest mt.exe -manifest .\Debug\mod_ssl.so.manifest -outputresource:.\Debug\mod_ssl.so;2
|
|
||||||
echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
OUTDIR=.\Release
|
|
||||||
INTDIR=.\Release
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Release
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "0"
|
|
||||||
|
|
||||||
ALL : ".\ssl_expr_parse.h" ".\ssl_expr_parse.c" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ELSE
|
|
||||||
|
|
||||||
ALL : ".\ssl_expr_parse.h" ".\ssl_expr_parse.c" "$(OUTDIR)\mod_ssl.so" "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "1"
|
|
||||||
CLEAN :
|
|
||||||
!ELSE
|
|
||||||
CLEAN :
|
|
||||||
!ENDIF
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.obj"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl.res"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.idb"
|
|
||||||
-@erase "$(INTDIR)\mod_ssl_src.pdb"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_config.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_dh.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_init.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_io.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_kernel.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_log.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_mutex.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_pphrase.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_rand.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_engine_vars.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_eval.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_parse.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_expr_scan.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dbm.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_dc.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_scache_shmcb.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util.obj"
|
|
||||||
-@erase "$(INTDIR)\ssl_util_ssl.obj"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.exp"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.lib"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.pdb"
|
|
||||||
-@erase "$(OUTDIR)\mod_ssl.so"
|
|
||||||
-@erase "ssl_expr_parse.c"
|
|
||||||
-@erase "ssl_expr_parse.h"
|
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "../../include" /I "../generators" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/openssl/inc32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /D "OPENSSL_NO_IDEA" /D "OPENSSL_NO_RC5" /D "OPENSSL_NO_MDC2" /D "HAVE_OPENSSL" /D "HAVE_SSL_SET_STATE" /D "HAVE_OPENSSL_ENGINE_H" /D "HAVE_ENGINE_INIT" /D "HAVE_ENGINE_LOAD_BUILTIN_ENGINES" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\mod_ssl_src" /FD /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
MTL=midl.exe
|
|
||||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
RSC=rc.exe
|
|
||||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\mod_ssl.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LINK32=link.exe
|
|
||||||
LINK32_FLAGS=kernel32.lib user32.lib wsock32.lib ws2_32.lib advapi32.lib gdi32.lib libeay32.lib ssleay32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\mod_ssl.pdb" /debug /out:"$(OUTDIR)\mod_ssl.so" /implib:"$(OUTDIR)\mod_ssl.lib" /libpath:"../../srclib/openssl/out32dll" /libpath:"../../srclib/openssl/out32" /base:@..\..\os\win32\BaseAddr.ref,mod_ssl.so /opt:ref
|
|
||||||
LINK32_OBJS= \
|
|
||||||
"$(INTDIR)\mod_ssl.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_config.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_dh.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_init.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_io.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_kernel.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_log.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_mutex.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_pphrase.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_rand.obj" \
|
|
||||||
"$(INTDIR)\ssl_engine_vars.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_eval.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_parse.obj" \
|
|
||||||
"$(INTDIR)\ssl_expr_scan.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dbm.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_shmcb.obj" \
|
|
||||||
"$(INTDIR)\ssl_scache_dc.obj" \
|
|
||||||
"$(INTDIR)\ssl_util.obj" \
|
|
||||||
"$(INTDIR)\ssl_util_ssl.obj" \
|
|
||||||
"$(INTDIR)\mod_ssl.res"
|
|
||||||
|
|
||||||
"$(OUTDIR)\mod_ssl.so" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
|
||||||
$(LINK32) @<<
|
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
TargetPath=.\Release\mod_ssl.so
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Desc=Embed .manifest
|
|
||||||
DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
|
|
||||||
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\Release
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\mod_ssl.so"
|
|
||||||
if exist .\Release\mod_ssl.so.manifest mt.exe -manifest .\Release\mod_ssl.so.manifest -outputresource:.\Release\mod_ssl.so;2
|
|
||||||
echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
|
||||||
!IF EXISTS("mod_ssl.dep")
|
|
||||||
!INCLUDE "mod_ssl.dep"
|
|
||||||
!ELSE
|
|
||||||
!MESSAGE Warning: cannot find "mod_ssl.dep"
|
|
||||||
!ENDIF
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release" || "$(CFG)" == "mod_ssl - Win32 Debug" || "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
SOURCE=.\mod_ssl.c
|
|
||||||
|
|
||||||
"$(INTDIR)\mod_ssl.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_config.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_config.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_dh.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_dh.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_init.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_init.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_io.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_io.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_kernel.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_kernel.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_log.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_log.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_mutex.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_mutex.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_pphrase.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_pphrase.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_rand.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_rand.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_engine_vars.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_engine_vars.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_expr.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr_eval.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_expr_eval.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr_parse.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_expr_parse.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr_scan.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_expr_scan.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_scache.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_scache.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_scache_dbm.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_scache_dbm.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_scache_dc.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_scache_dc.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_scache_shmcb.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_scache_shmcb.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_util.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_util.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_util_ssl.c
|
|
||||||
|
|
||||||
"$(INTDIR)\ssl_util_ssl.obj" : $(SOURCE) "$(INTDIR)"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr_parse.y
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
InputPath=.\ssl_expr_parse.y
|
|
||||||
|
|
||||||
".\ssl_expr_parse.c" ".\ssl_expr_parse.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile77.bat
|
|
||||||
@echo off
|
|
||||||
bison -y -d ssl_expr_parse.y
|
|
||||||
sed -e "s;yy;ssl_expr_yy;g" -e "/#if defined(c_plusplus) || defined(__cplusplus)/,/#endif/d" <y.tab.c >ssl_expr_parse.c
|
|
||||||
del y.tab.c
|
|
||||||
sed -e "s;yy;ssl_expr_yy;g" <y.tab.h >ssl_expr_parse.h
|
|
||||||
del y.tab.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
SOURCE=.\ssl_expr_scan.l
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
InputPath=.\ssl_expr_scan.l
|
|
||||||
|
|
||||||
".\ssl_expr_scan.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile78.bat
|
|
||||||
@echo off
|
|
||||||
flex -Pssl_expr_yy -s -B ssl_expr_scan.l
|
|
||||||
sed -e "/$$Header:/d" <lex.ssl_expr_yy.c >ssl_expr_scan.c
|
|
||||||
del lex.ssl_expr_yy.c
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
"libapr - Win32 Release" :
|
|
||||||
cd ".\..\..\srclib\apr"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release"
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
"libapr - Win32 ReleaseCLEAN" :
|
|
||||||
cd ".\..\..\srclib\apr"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Release" RECURSE=1 CLEAN
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
"libapr - Win32 Debug" :
|
|
||||||
cd ".\..\..\srclib\apr"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug"
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
"libapr - Win32 DebugCLEAN" :
|
|
||||||
cd ".\..\..\srclib\apr"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libapr.mak" CFG="libapr - Win32 Debug" RECURSE=1 CLEAN
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
"libaprutil - Win32 Release" :
|
|
||||||
cd ".\..\..\srclib\apr-util"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release"
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
"libaprutil - Win32 ReleaseCLEAN" :
|
|
||||||
cd ".\..\..\srclib\apr-util"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Release" RECURSE=1 CLEAN
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
"libaprutil - Win32 Debug" :
|
|
||||||
cd ".\..\..\srclib\apr-util"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug"
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
"libaprutil - Win32 DebugCLEAN" :
|
|
||||||
cd ".\..\..\srclib\apr-util"
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libaprutil.mak" CFG="libaprutil - Win32 Debug" RECURSE=1 CLEAN
|
|
||||||
cd "..\..\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
"libhttpd - Win32 Release" :
|
|
||||||
cd ".\..\.."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release"
|
|
||||||
cd ".\modules\ssl"
|
|
||||||
|
|
||||||
"libhttpd - Win32 ReleaseCLEAN" :
|
|
||||||
cd ".\..\.."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Release" RECURSE=1 CLEAN
|
|
||||||
cd ".\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
"libhttpd - Win32 Debug" :
|
|
||||||
cd ".\..\.."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug"
|
|
||||||
cd ".\modules\ssl"
|
|
||||||
|
|
||||||
"libhttpd - Win32 DebugCLEAN" :
|
|
||||||
cd ".\..\.."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\libhttpd.mak" CFG="libhttpd - Win32 Debug" RECURSE=1 CLEAN
|
|
||||||
cd ".\modules\ssl"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
SOURCE=..\..\build\win32\httpd.rc
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "mod_ssl - Win32 Release"
|
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
|
|
||||||
$(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Debug"
|
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
|
|
||||||
$(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "_DEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "mod_ssl - Win32 Lexical"
|
|
||||||
|
|
||||||
|
|
||||||
"$(INTDIR)\mod_ssl.res" : $(SOURCE) "$(INTDIR)"
|
|
||||||
$(RSC) /l 0x409 /fo"$(INTDIR)\mod_ssl.res" /i "../../include" /i "../../srclib/apr/include" /i ".\..\..\build\win32" /d "NDEBUG" /d BIN_NAME="mod_ssl.so" /d LONG_NAME="proxy_ssl_module for Apache" $(SOURCE)
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
@ -1,340 +0,0 @@
|
|||||||
# Microsoft Developer Studio Generated NMAKE File, Based on pcre.dsp
|
|
||||||
!IF "$(CFG)" == ""
|
|
||||||
CFG=pcre - Win32 Debug
|
|
||||||
!MESSAGE No configuration specified. Defaulting to pcre - Win32 Debug.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" != "pcre - Win32 Release" && "$(CFG)" != "pcre - Win32 Debug"
|
|
||||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "pcre.mak" CFG="pcre - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "pcre - Win32 Release" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "pcre - Win32 Debug" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE
|
|
||||||
!ERROR An invalid configuration is specified.
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(OS)" == "Windows_NT"
|
|
||||||
NULL=
|
|
||||||
!ELSE
|
|
||||||
NULL=nul
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release"
|
|
||||||
|
|
||||||
OUTDIR=.\LibR
|
|
||||||
INTDIR=.\LibR
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\LibR
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "0"
|
|
||||||
|
|
||||||
ALL : "$(OUTDIR)\pcre.lib"
|
|
||||||
|
|
||||||
!ELSE
|
|
||||||
|
|
||||||
ALL : "dftables - Win32 Release" "$(OUTDIR)\pcre.lib"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "1"
|
|
||||||
CLEAN :"dftables - Win32 ReleaseCLEAN"
|
|
||||||
!ELSE
|
|
||||||
CLEAN :
|
|
||||||
!ENDIF
|
|
||||||
-@erase "$(INTDIR)\get.obj"
|
|
||||||
-@erase "$(INTDIR)\maketables.obj"
|
|
||||||
-@erase "$(INTDIR)\pcre.obj"
|
|
||||||
-@erase "$(INTDIR)\pcre_src.idb"
|
|
||||||
-@erase "$(INTDIR)\pcre_src.pdb"
|
|
||||||
-@erase "$(INTDIR)\study.obj"
|
|
||||||
-@erase "$(OUTDIR)\pcre.lib"
|
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MD /W3 /Zi /O2 /D "_WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PCRE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\pcre_src" /FD /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
RSC=rc.exe
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\pcre.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)\pcre.lib"
|
|
||||||
LIB32_OBJS= \
|
|
||||||
"$(INTDIR)\get.obj" \
|
|
||||||
"$(INTDIR)\maketables.obj" \
|
|
||||||
"$(INTDIR)\pcre.obj" \
|
|
||||||
"$(INTDIR)\study.obj"
|
|
||||||
|
|
||||||
"$(OUTDIR)\pcre.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
|
||||||
$(LIB32) @<<
|
|
||||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
|
|
||||||
OUTDIR=.\LibD
|
|
||||||
INTDIR=.\LibD
|
|
||||||
# Begin Custom Macros
|
|
||||||
OutDir=.\LibD
|
|
||||||
# End Custom Macros
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "0"
|
|
||||||
|
|
||||||
ALL : ".\pcre.h" ".\config.h" ".\chartables.c" "$(OUTDIR)\pcre.lib"
|
|
||||||
|
|
||||||
!ELSE
|
|
||||||
|
|
||||||
ALL : "dftables - Win32 Debug" ".\pcre.h" ".\config.h" ".\chartables.c" "$(OUTDIR)\pcre.lib"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(RECURSE)" == "1"
|
|
||||||
CLEAN :"dftables - Win32 DebugCLEAN"
|
|
||||||
!ELSE
|
|
||||||
CLEAN :
|
|
||||||
!ENDIF
|
|
||||||
-@erase "$(INTDIR)\get.obj"
|
|
||||||
-@erase "$(INTDIR)\maketables.obj"
|
|
||||||
-@erase "$(INTDIR)\pcre.obj"
|
|
||||||
-@erase "$(INTDIR)\pcre_src.idb"
|
|
||||||
-@erase "$(INTDIR)\pcre_src.pdb"
|
|
||||||
-@erase "$(INTDIR)\study.obj"
|
|
||||||
-@erase "$(OUTDIR)\pcre.lib"
|
|
||||||
-@erase ".\chartables.c"
|
|
||||||
-@erase ".\config.h"
|
|
||||||
-@erase ".\pcre.h"
|
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
|
||||||
|
|
||||||
CPP=cl.exe
|
|
||||||
CPP_PROJ=/nologo /MDd /W3 /Zi /Od /D "_WIN32" /D "_DEBUG" /D "_WINDOWS" /D "PCRE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\pcre_src" /FD /EHsc /c
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.obj::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.c{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cpp{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
.cxx{$(INTDIR)}.sbr::
|
|
||||||
$(CPP) @<<
|
|
||||||
$(CPP_PROJ) $<
|
|
||||||
<<
|
|
||||||
|
|
||||||
RSC=rc.exe
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\pcre.bsc"
|
|
||||||
BSC32_SBRS= \
|
|
||||||
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)\pcre.lib"
|
|
||||||
LIB32_OBJS= \
|
|
||||||
"$(INTDIR)\get.obj" \
|
|
||||||
"$(INTDIR)\maketables.obj" \
|
|
||||||
"$(INTDIR)\pcre.obj" \
|
|
||||||
"$(INTDIR)\study.obj"
|
|
||||||
|
|
||||||
"$(OUTDIR)\pcre.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
|
||||||
$(LIB32) @<<
|
|
||||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
|
||||||
!IF EXISTS("pcre.dep")
|
|
||||||
!INCLUDE "pcre.dep"
|
|
||||||
!ELSE
|
|
||||||
!MESSAGE Warning: cannot find "pcre.dep"
|
|
||||||
!ENDIF
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release" || "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
SOURCE=.\dftables.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release"
|
|
||||||
|
|
||||||
InputPath=.\dftables.exe
|
|
||||||
|
|
||||||
".\chartables.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile79.bat
|
|
||||||
@echo off
|
|
||||||
.\dftables.exe chartables.c
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
|
|
||||||
InputPath=.\dftables.exe
|
|
||||||
|
|
||||||
".\chartables.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile80.bat
|
|
||||||
@echo off
|
|
||||||
.\dftables.exe chartables.c
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
SOURCE=.\get.c
|
|
||||||
|
|
||||||
"$(INTDIR)\get.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\maketables.c
|
|
||||||
|
|
||||||
"$(INTDIR)\maketables.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\pcre.c
|
|
||||||
|
|
||||||
"$(INTDIR)\pcre.obj" : $(SOURCE) "$(INTDIR)" ".\chartables.c" ".\config.h" ".\pcre.h"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\study.c
|
|
||||||
|
|
||||||
"$(INTDIR)\study.obj" : $(SOURCE) "$(INTDIR)" ".\config.h" ".\pcre.h"
|
|
||||||
|
|
||||||
|
|
||||||
SOURCE=.\config.hw
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release"
|
|
||||||
|
|
||||||
InputPath=.\config.hw
|
|
||||||
|
|
||||||
".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile81.bat
|
|
||||||
@echo off
|
|
||||||
type .\config.hw > .\config.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
|
|
||||||
InputPath=.\config.hw
|
|
||||||
|
|
||||||
".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile82.bat
|
|
||||||
@echo off
|
|
||||||
type .\config.hw > .\config.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
SOURCE=.\pcre.hw
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release"
|
|
||||||
|
|
||||||
InputPath=.\pcre.hw
|
|
||||||
|
|
||||||
".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile83.bat
|
|
||||||
@echo off
|
|
||||||
type .\pcre.hw > .\pcre.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
|
|
||||||
InputPath=.\pcre.hw
|
|
||||||
|
|
||||||
".\pcre.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
|
||||||
<<tempfile84.bat
|
|
||||||
@echo off
|
|
||||||
type .\pcre.hw > .\pcre.h
|
|
||||||
<<
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "pcre - Win32 Release"
|
|
||||||
|
|
||||||
"dftables - Win32 Release" :
|
|
||||||
cd "."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Release"
|
|
||||||
cd "."
|
|
||||||
|
|
||||||
"dftables - Win32 ReleaseCLEAN" :
|
|
||||||
cd "."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Release" RECURSE=1 CLEAN
|
|
||||||
cd "."
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
|
|
||||||
|
|
||||||
"dftables - Win32 Debug" :
|
|
||||||
cd "."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Debug"
|
|
||||||
cd "."
|
|
||||||
|
|
||||||
"dftables - Win32 DebugCLEAN" :
|
|
||||||
cd "."
|
|
||||||
$(MAKE) /$(MAKEFLAGS) /F ".\dftables.mak" CFG="dftables - Win32 Debug" RECURSE=1 CLEAN
|
|
||||||
cd "."
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
|||||||
@echo Setting environment for using Microsoft Visual Studio 2010 x64 tools.
|
|
||||||
|
|
||||||
@call :GetVSCommonToolsDir
|
|
||||||
@if "%VS100COMNTOOLS%"=="" goto error_no_VS100COMNTOOLSDIR
|
|
||||||
|
|
||||||
@call "%VS100COMNTOOLS%VCVarsQueryRegistry.bat" No32bit 64bit
|
|
||||||
|
|
||||||
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
|
|
||||||
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR
|
|
||||||
@if "%FrameworkDir64%"=="" goto error_no_FrameworkDIR64
|
|
||||||
@if "%FrameworkVersion64%"=="" goto error_no_FrameworkVer64
|
|
||||||
@if "%Framework35Version%"=="" goto error_no_Framework35Version
|
|
||||||
|
|
||||||
@set FrameworkDir=%FrameworkDir64%
|
|
||||||
@set FrameworkVersion=%FrameworkVersion64%
|
|
||||||
|
|
||||||
@if not "%WindowsSdkDir%" == "" (
|
|
||||||
@set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools\x64;%WindowsSdkDir%bin\x64;%WindowsSdkDir%bin;%PATH%"
|
|
||||||
@set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
|
|
||||||
@set "LIB=%WindowsSdkDir%lib\x64;%LIB%"
|
|
||||||
)
|
|
||||||
|
|
||||||
@rem PATH
|
|
||||||
@rem ----
|
|
||||||
@if exist "%VSINSTALLDIR%Team Tools\Performance Tools\x64" (
|
|
||||||
@set "PATH=%VSINSTALLDIR%Team Tools\Performance Tools\x64;%VSINSTALLDIR%Team Tools\Performance Tools;%PATH%"
|
|
||||||
)
|
|
||||||
@if exist "%ProgramFiles%\HTML Help Workshop" set PATH=%ProgramFiles%\HTML Help Workshop;%PATH%
|
|
||||||
@if exist "%ProgramFiles(x86)%\HTML Help Workshop" set PATH=%ProgramFiles(x86)%\HTML Help Workshop;%PATH%
|
|
||||||
@set PATH=%VSINSTALLDIR%Common7\Tools;%PATH%
|
|
||||||
@set PATH=%VSINSTALLDIR%Common7\IDE;%PATH%
|
|
||||||
@set PATH=%VCINSTALLDIR%VCPackages;%PATH%
|
|
||||||
@set PATH=%FrameworkDir%\%Framework35Version%;%PATH%
|
|
||||||
@set PATH=%FrameworkDir%\%FrameworkVersion%;%PATH%
|
|
||||||
@set PATH=%VCINSTALLDIR%BIN\amd64;%PATH%
|
|
||||||
|
|
||||||
@rem INCLUDE
|
|
||||||
@rem -------
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\INCLUDE" set INCLUDE=%VCINSTALLDIR%ATLMFC\INCLUDE;%INCLUDE%
|
|
||||||
@set INCLUDE=%VCINSTALLDIR%INCLUDE;%INCLUDE%
|
|
||||||
|
|
||||||
@rem LIB
|
|
||||||
@rem ---
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB\amd64" set LIB=%VCINSTALLDIR%ATLMFC\LIB\amd64;%LIB%
|
|
||||||
@set LIB=%VCINSTALLDIR%LIB\amd64;%LIB%
|
|
||||||
|
|
||||||
@rem LIBPATH
|
|
||||||
@rem -------
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB\amd64" set LIBPATH=%VCINSTALLDIR%ATLMFC\LIB\amd64;%LIBPATH%
|
|
||||||
@set LIBPATH=%VCINSTALLDIR%LIB\amd64;%LIBPATH%
|
|
||||||
@set LIBPATH=%FrameworkDir%\%Framework35Version%;%LIBPATH%
|
|
||||||
@set LIBPATH=%FrameworkDir%\%FrameworkVersion%;%LIBPATH%
|
|
||||||
|
|
||||||
@set Platform=X64
|
|
||||||
@set CommandPromptType=Native
|
|
||||||
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetVSCommonToolsDir
|
|
||||||
@set VS100COMNTOOLS=
|
|
||||||
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSCommonToolsDirHelper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VS100COMNTOOLS=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
|
||||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSCommonToolsDirHelper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VS100COMNTOOLS=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
|
||||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:error_no_VS100COMNTOOLSDIR
|
|
||||||
@echo ERROR: Cannot determine the location of the VS Common Tools folder.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_VSINSTALLDIR
|
|
||||||
@echo ERROR: Cannot determine the location of the VS installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_VCINSTALLDIR
|
|
||||||
@echo ERROR: Cannot determine the location of the VC installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_FrameworkDIR64
|
|
||||||
@echo ERROR: Cannot determine the location of the .NET Framework 64bit installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_FrameworkVer64
|
|
||||||
@echo ERROR: Cannot determine the version of the .NET Framework 64bit installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_Framework35Version
|
|
||||||
@echo ERROR: Cannot determine the .NET Framework 3.5 version.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:end
|
|
@ -1,118 +0,0 @@
|
|||||||
@echo Setting environment for using Microsoft Visual Studio 2010 x86 tools.
|
|
||||||
|
|
||||||
@call :GetVSCommonToolsDir
|
|
||||||
@if "%VS100COMNTOOLS%"=="" goto error_no_VS100COMNTOOLSDIR
|
|
||||||
|
|
||||||
@call "%VS100COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit
|
|
||||||
|
|
||||||
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
|
|
||||||
@if "%FrameworkDir32%"=="" goto error_no_FrameworkDIR32
|
|
||||||
@if "%FrameworkVersion32%"=="" goto error_no_FrameworkVer32
|
|
||||||
@if "%Framework35Version%"=="" goto error_no_Framework35Version
|
|
||||||
|
|
||||||
@set FrameworkDir=%FrameworkDir32%
|
|
||||||
@set FrameworkVersion=%FrameworkVersion32%
|
|
||||||
|
|
||||||
@if not "%WindowsSdkDir%" == "" (
|
|
||||||
@set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools;%WindowsSdkDir%bin;%PATH%"
|
|
||||||
@set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
|
|
||||||
@set "LIB=%WindowsSdkDir%lib;%LIB%"
|
|
||||||
)
|
|
||||||
|
|
||||||
@rem
|
|
||||||
@rem Root of Visual Studio IDE installed files.
|
|
||||||
@rem
|
|
||||||
@set DevEnvDir=%VSINSTALLDIR%Common7\IDE\
|
|
||||||
|
|
||||||
@rem PATH
|
|
||||||
@rem ----
|
|
||||||
@if exist "%VSINSTALLDIR%Team Tools\Performance Tools" (
|
|
||||||
@set "PATH=%VSINSTALLDIR%Team Tools\Performance Tools;%PATH%"
|
|
||||||
)
|
|
||||||
@if exist "%ProgramFiles%\HTML Help Workshop" set PATH=%ProgramFiles%\HTML Help Workshop;%PATH%
|
|
||||||
@if exist "%ProgramFiles(x86)%\HTML Help Workshop" set PATH=%ProgramFiles(x86)%\HTML Help Workshop;%PATH%
|
|
||||||
@if exist "%VCINSTALLDIR%VCPackages" set PATH=%VCINSTALLDIR%VCPackages;%PATH%
|
|
||||||
@set PATH=%FrameworkDir%%Framework35Version%;%PATH%
|
|
||||||
@set PATH=%FrameworkDir%%FrameworkVersion%;%PATH%
|
|
||||||
@set PATH=%VSINSTALLDIR%Common7\Tools;%PATH%
|
|
||||||
@if exist "%VCINSTALLDIR%BIN" set PATH=%VCINSTALLDIR%BIN;%PATH%
|
|
||||||
@set PATH=%DevEnvDir%;%PATH%
|
|
||||||
|
|
||||||
@if exist "%VSINSTALLDIR%VSTSDB\Deploy" (
|
|
||||||
@set "PATH=%VSINSTALLDIR%VSTSDB\Deploy;%PATH%"
|
|
||||||
)
|
|
||||||
|
|
||||||
@if not "%FSHARPINSTALLDIR%" == "" (
|
|
||||||
@set "PATH=%FSHARPINSTALLDIR%;%PATH%"
|
|
||||||
)
|
|
||||||
|
|
||||||
@rem INCLUDE
|
|
||||||
@rem -------
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\INCLUDE" set INCLUDE=%VCINSTALLDIR%ATLMFC\INCLUDE;%INCLUDE%
|
|
||||||
@if exist "%VCINSTALLDIR%INCLUDE" set INCLUDE=%VCINSTALLDIR%INCLUDE;%INCLUDE%
|
|
||||||
|
|
||||||
@rem LIB
|
|
||||||
@rem ---
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIB=%VCINSTALLDIR%ATLMFC\LIB;%LIB%
|
|
||||||
@if exist "%VCINSTALLDIR%LIB" set LIB=%VCINSTALLDIR%LIB;%LIB%
|
|
||||||
|
|
||||||
@rem LIBPATH
|
|
||||||
@rem -------
|
|
||||||
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIBPATH=%VCINSTALLDIR%ATLMFC\LIB;%LIBPATH%
|
|
||||||
@if exist "%VCINSTALLDIR%LIB" set LIBPATH=%VCINSTALLDIR%LIB;%LIBPATH%
|
|
||||||
@set LIBPATH=%FrameworkDir%%Framework35Version%;%LIBPATH%
|
|
||||||
@set LIBPATH=%FrameworkDir%%FrameworkVersion%;%LIBPATH%
|
|
||||||
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:GetVSCommonToolsDir
|
|
||||||
@set VS100COMNTOOLS=
|
|
||||||
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKLM > nul 2>&1
|
|
||||||
@if errorlevel 1 call :GetVSCommonToolsDirHelper64 HKCU > nul 2>&1
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSCommonToolsDirHelper32
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VS100COMNTOOLS=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
|
||||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
:GetVSCommonToolsDirHelper64
|
|
||||||
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
|
|
||||||
@if "%%i"=="10.0" (
|
|
||||||
@SET "VS100COMNTOOLS=%%k"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@if "%VS100COMNTOOLS%"=="" exit /B 1
|
|
||||||
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
|
|
||||||
@exit /B 0
|
|
||||||
|
|
||||||
@REM -----------------------------------------------------------------------
|
|
||||||
:error_no_VS100COMNTOOLSDIR
|
|
||||||
@echo ERROR: Cannot determine the location of the VS Common Tools folder.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_VSINSTALLDIR
|
|
||||||
@echo ERROR: Cannot determine the location of the VS installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_FrameworkDIR32
|
|
||||||
@echo ERROR: Cannot determine the location of the .NET Framework 32bit installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_FrameworkVer32
|
|
||||||
@echo ERROR: Cannot determine the version of the .NET Framework 32bit installation.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:error_no_Framework35Version
|
|
||||||
@echo ERROR: Cannot determine the .NET Framework 3.5 version.
|
|
||||||
@goto end
|
|
||||||
|
|
||||||
:end
|
|
31
iis/wix/EULA.rtf
Normal file
31
iis/wix/EULA.rtf
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fswiss\fprq2\fcharset0 Calibri;}}
|
||||||
|
{\colortbl ;\red0\green0\blue255;}
|
||||||
|
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sb100\sa100\lang9\f0\fs24 Apache License\line\line Version 2.0, January 2004\line\line\pard{\field{\*\fldinst{HYPERLINK "http://www.apache.org/licenses/"}}{\fldrslt{\ul\cf1 http://www.apache.org/licenses/}}}\f0\fs24 \par
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par
|
||||||
|
\b 1. Definitions\b0 .\par
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par
|
||||||
|
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par
|
||||||
|
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par
|
||||||
|
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par
|
||||||
|
\b 2. Grant of Copyright License\b0 . Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par
|
||||||
|
\b 3. Grant of Patent License\b0 . Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par
|
||||||
|
\b 4. Redistribution\b0 . You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par
|
||||||
|
\pard\fi-360\li720\sb100\sa100\tx720 1.\tab You must give any other recipients of the Work or Derivative Works a copy of this License; and\par
|
||||||
|
\pard\fi-360\li720\sb100\sa100 2.\tab You must cause any modified files to carry prominent notices stating that You changed the files; and\par
|
||||||
|
3.\tab You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par
|
||||||
|
4.\tab If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par
|
||||||
|
\pard\sb100\sa100\b 5. Submission of Contributions\b0 . Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par
|
||||||
|
\b 6. Trademarks\b0 . This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par
|
||||||
|
\b 7. Disclaimer of Warranty\b0 . Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par
|
||||||
|
\b 8. Limitation of Liability\b0 . In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par
|
||||||
|
\b 9. Accepting Warranty or Additional Liability\b0 . While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par
|
||||||
|
END OF TERMS AND CONDITIONS\par
|
||||||
|
\pard\sa200\sl276\slmult1\lang1033\f1\fs22\par
|
||||||
|
}
|
||||||
|
|