mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 05:45:59 +03:00
Improved IIS build process and more fixes to handle Apache 2.4.
This commit is contained in:
parent
a63008b164
commit
e4d2dabe08
@ -4,11 +4,11 @@
|
||||
###########################################################################
|
||||
|
||||
# Path to Apache httpd installation
|
||||
BASE = C:\Apache22
|
||||
BASE = %APACHE%
|
||||
|
||||
# Paths to required libraries
|
||||
PCRE = C:\work\pcre-8.30
|
||||
CURL = C:\work\curl-7.24.0
|
||||
PCRE = %PCRE%
|
||||
CURL = %CURL%
|
||||
|
||||
# Linking libraries
|
||||
LIBS = $(BASE)\lib\libapr-1.lib \
|
||||
@ -24,7 +24,7 @@ CC = cL
|
||||
|
||||
MT = mt
|
||||
|
||||
DEFS = /nologo /O2 /W3 -DWIN32 -DWINNT -Dinline=APR_INLINE -D_CONSOLE
|
||||
DEFS = /nologo /O2 /W3 -DWIN32 -DWINNT -Dinline=APR_INLINE -D_CONSOLE -D$(VERSION)
|
||||
|
||||
EXE = mlogc.exe
|
||||
|
||||
|
@ -1,115 +1,11 @@
|
||||
c:
|
||||
set WORK=c:\work
|
||||
set HTTPD=httpd-2.2.22
|
||||
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
|
||||
|
||||
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%
|
||||
rmdir /s /q %APACHE%
|
||||
rmdir /s /q %HTTPD%
|
||||
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
|
||||
SET HTTPD_BUILD=%WORK%\%HTTPD%
|
||||
IF NOT DEFINED FULLBUILD pause
|
||||
|
||||
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%
|
||||
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%
|
||||
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%
|
||||
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%
|
||||
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%
|
||||
CD mod_security\apache2
|
||||
del *.obj *.dll *.lib
|
||||
NMAKE -f Makefile.win APACHE=C:\Apache22 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
|
||||
cd ..\iis
|
||||
nmake -f Makefile.win clean
|
||||
NMAKE -f Makefile.win APACHE=C:\Apache22 PCRE=%WORK%\%PCRE% LIBXML2=%WORK%\%LIBXML2% LUA=%WORK%\%LUA%\src VERSION=VERSION_IIS
|
||||
|
||||
cd %WORK%
|
||||
|
||||
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%
|
||||
copy /y %WORK%\%LIBXML2%\win32\bin.msvc\libxml2.dll %DROP%
|
||||
copy /y %WORK%\%LIBXML2%\win32\bin.msvc\libxml2.lib %DROP%
|
||||
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%
|
||||
copy /y %WORK%\%PCRE%\pcre.dll %DROP%
|
||||
copy /y %WORK%\%PCRE%\pcre.pdb %DROP%
|
||||
copy /y %WORK%\%PCRE%\pcre.lib %DROP%
|
||||
copy /y %WORK%\%ZLIB%\zlib1.dll %DROP%
|
||||
copy /y %WORK%\%ZLIB%\zlib1.pdb %DROP%
|
||||
copy /y %WORK%\%ZLIB%\zdll.lib %DROP%
|
||||
copy /y %WORK%\%CURL%\libcurl.dll %DROP%
|
||||
copy /y %WORK%\%CURL%\libcurl.pdb %DROP%
|
||||
copy /y %WORK%\%CURL%\libcurl_imp.lib %DROP%
|
||||
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,3 +1,4 @@
|
||||
SET APACHE24_ZIP=httpd-2.4.3-win32.zip
|
||||
mkdir %DROP%
|
||||
call vsvars32.bat
|
||||
call init.bat
|
||||
|
@ -1,3 +1,4 @@
|
||||
SET APACHE24_ZIP=httpd-2.4.3-win64.zip
|
||||
mkdir %DROP%
|
||||
call vcvars64.bat
|
||||
call init.bat
|
||||
|
40
iis/winbuild/build_apache.bat
Normal file
40
iis/winbuild/build_apache.bat
Normal file
@ -0,0 +1,40 @@
|
||||
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%
|
14
iis/winbuild/build_curl.bat
Normal file
14
iis/winbuild/build_curl.bat
Normal file
@ -0,0 +1,14 @@
|
||||
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%
|
12
iis/winbuild/build_libxml2.bat
Normal file
12
iis/winbuild/build_libxml2.bat
Normal file
@ -0,0 +1,12 @@
|
||||
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%
|
14
iis/winbuild/build_lua.bat
Normal file
14
iis/winbuild/build_lua.bat
Normal file
@ -0,0 +1,14 @@
|
||||
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%
|
16
iis/winbuild/build_module.bat
Normal file
16
iis/winbuild/build_module.bat
Normal file
@ -0,0 +1,16 @@
|
||||
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%
|
12
iis/winbuild/build_pcre.bat
Normal file
12
iis/winbuild/build_pcre.bat
Normal file
@ -0,0 +1,12 @@
|
||||
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%
|
13
iis/winbuild/build_zlib.bat
Normal file
13
iis/winbuild/build_zlib.bat
Normal file
@ -0,0 +1,13 @@
|
||||
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,5 +1,7 @@
|
||||
set FULLBUILD=1
|
||||
|
||||
set DROP=c:\drop\amd64
|
||||
cmd.exe /c build64.bat
|
||||
|
||||
set DROP=c:\drop\x86
|
||||
cmd.exe /c build32.bat
|
||||
|
@ -12,7 +12,7 @@ IIS enabled/installed
|
||||
|
||||
cmake 2.8.7
|
||||
curl 7.24.0
|
||||
apache 2.2.22
|
||||
apache 2.2.22 or apache 2.4.3
|
||||
libxml2 2.7.7
|
||||
lua 5.1.5
|
||||
pcre 8.30
|
||||
@ -29,7 +29,7 @@ zlib 1.2.7
|
||||
7. Download curl, apache, libxml2, lua, pcre and zlib, place them in zip files in c:\work
|
||||
|
||||
curl-7.24.0.zip
|
||||
httpd-2.2.22-win32-src.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))
|
||||
libxml2-2.7.7.zip
|
||||
lua-5.1.5.zip
|
||||
pcre-8.30.zip
|
||||
@ -38,7 +38,7 @@ zlib-1.2.7.zip
|
||||
Modify c:\work\build.bat accordingly (if other versions were used)
|
||||
|
||||
8. Open cmd.exe window, go to c:\work and run buildall.bat
|
||||
9. When done, the binaries 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
|
||||
11. Copy new binaries to the installer's x86 and amd64 directories
|
||||
12. Build installer from within VS
|
||||
|
@ -1 +1,13 @@
|
||||
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
|
||||
|
@ -4,11 +4,11 @@
|
||||
###########################################################################
|
||||
|
||||
# Path to Apache httpd installation
|
||||
BASE = C:\Apache22
|
||||
BASE = %APACHE%
|
||||
|
||||
# Paths to required libraries
|
||||
PCRE = C:\work\pcre-8.30
|
||||
CURL = C:\work\curl-7.24.0
|
||||
PCRE = %PCRE%
|
||||
CURL = %CURL%
|
||||
|
||||
# Linking libraries
|
||||
LIBS = $(BASE)\lib\libapr-1.lib \
|
||||
@ -24,7 +24,7 @@ CC = cL
|
||||
|
||||
MT = mt
|
||||
|
||||
DEFS = /nologo /O2 /W3 -DWIN32 -DWINNT -Dinline=APR_INLINE -D_CONSOLE
|
||||
DEFS = /nologo /O2 /W3 -DWIN32 -DWINNT -Dinline=APR_INLINE -D_CONSOLE -D$(VERSION)
|
||||
|
||||
EXE = mlogc.exe
|
||||
|
||||
|
@ -48,6 +48,7 @@ AP_DECLARE(int) ap_cfg_closefile(ap_configfile_t *cfp)
|
||||
return (cfp->close == NULL) ? 0 : cfp->close(cfp->param);
|
||||
}
|
||||
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER < 3
|
||||
static apr_status_t cfg_close(void *param)
|
||||
{
|
||||
apr_file_t *cfp = (apr_file_t *) param;
|
||||
@ -73,6 +74,23 @@ static void *cfg_getstr(void *buf, size_t bufsiz, void *param)
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
/* we can't use apr_file_* directly because of linking issues on Windows */
|
||||
static apr_status_t cfg_close(void *param)
|
||||
{
|
||||
return apr_file_close(param);
|
||||
}
|
||||
|
||||
static apr_status_t cfg_getch(char *ch, void *param)
|
||||
{
|
||||
return apr_file_getc(ch, param);
|
||||
}
|
||||
|
||||
static apr_status_t cfg_getstr(void *buf, apr_size_t bufsiz, void *param)
|
||||
{
|
||||
return apr_file_gets(buf, bufsiz, param);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Read one line from open ap_configfile_t, strip LF, increase line number */
|
||||
/* If custom handler does not define a getstr() function, read char by char */
|
||||
@ -478,9 +496,15 @@ AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg,
|
||||
new_cfg = apr_palloc(p, sizeof(*new_cfg));
|
||||
new_cfg->param = file;
|
||||
new_cfg->name = apr_pstrdup(p, name);
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER < 3
|
||||
new_cfg->getch = (int (*)(void *)) cfg_getch;
|
||||
new_cfg->getstr = (void *(*)(void *, size_t, void *)) cfg_getstr;
|
||||
new_cfg->close = (int (*)(void *)) cfg_close;
|
||||
#else
|
||||
new_cfg->getch = cfg_getch;
|
||||
new_cfg->getstr = cfg_getstr;
|
||||
new_cfg->close = cfg_close;
|
||||
#endif
|
||||
new_cfg->line_number = 0;
|
||||
*ret_cfg = new_cfg;
|
||||
return APR_SUCCESS;
|
||||
@ -668,9 +692,15 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
|
||||
}
|
||||
}
|
||||
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER < 3
|
||||
static cmd_parms default_parms =
|
||||
{NULL, 0, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
|
||||
#endif
|
||||
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER > 3
|
||||
static cmd_parms default_parms =
|
||||
{NULL, 0, 0, NULL, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
|
||||
#endif
|
||||
|
||||
const char *process_command_config(server_rec *s,
|
||||
void *mconfig,
|
||||
|
@ -62,6 +62,7 @@ void parseeventfile()
|
||||
|
||||
char *t = event_file;
|
||||
char *e = event_file + event_file_len;
|
||||
int nocrlf = 1;
|
||||
|
||||
while(t < e)
|
||||
{
|
||||
@ -70,23 +71,35 @@ void parseeventfile()
|
||||
while(t < e && *t != 10 && *t != 13)
|
||||
t++;
|
||||
|
||||
while(t < e && (*t == 10 || *t == 13))
|
||||
*t++ = 0;
|
||||
}
|
||||
char ct = *t;
|
||||
*t = 0;
|
||||
int i = event_line_cnt - 1;
|
||||
|
||||
for(int i = 0; i < event_line_cnt; i++)
|
||||
{
|
||||
int l = strlen(event_file_lines[i]);
|
||||
|
||||
if(l != 14)
|
||||
continue;
|
||||
if(l == 14 && event_file_lines[i][0] == '-' && event_file_lines[i][1] == '-' && event_file_lines[i][l-2] == '-' && event_file_lines[i][l-1] == '-')
|
||||
{
|
||||
char blk = event_file_lines[i][l-3];
|
||||
|
||||
if(event_file_lines[i][0] != '-' || event_file_lines[i][1] != '-' || event_file_lines[i][l-2] != '-' || event_file_lines[i][l-1] != '-')
|
||||
continue;
|
||||
event_file_blocks[blk] = i;
|
||||
|
||||
char blk = event_file_lines[i][l-3];
|
||||
if(blk == 'C' || blk == 'G')
|
||||
{
|
||||
nocrlf = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
nocrlf = 1;
|
||||
}
|
||||
}
|
||||
*t = ct;
|
||||
|
||||
event_file_blocks[blk] = i;
|
||||
if(nocrlf)
|
||||
while(t < e && (*t == 10 || *t == 13))
|
||||
*t++ = 0;
|
||||
else
|
||||
while(t < e && (*t == 10 || *t == 13))
|
||||
t++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -156,7 +169,9 @@ apr_status_t readbody(request_rec *r, char *buf, unsigned int length, unsigned i
|
||||
*readcnt = size;
|
||||
|
||||
if(bodypos == l)
|
||||
{
|
||||
*is_eos = 1;
|
||||
}
|
||||
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
@ -240,6 +255,9 @@ void main(int argc, char *argv[])
|
||||
readeventfile(event_files[i]);
|
||||
parseeventfile();
|
||||
|
||||
bodypos = 0;
|
||||
responsepos = 0;
|
||||
|
||||
c = modsecNewConnection();
|
||||
|
||||
modsecProcessConnection(c);
|
||||
|
@ -558,19 +558,17 @@ AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *file)
|
||||
}
|
||||
}
|
||||
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER < 3
|
||||
AP_DECLARE(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
|
||||
#if AP_SERVER_MAJORVERSION_NUMBER > 1 && AP_SERVER_MINORVERSION_NUMBER > 3
|
||||
AP_DECLARE(apr_file_t *) ap_piped_log_write_fd(piped_log *pl)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
AP_DECLARE(char **) ap_create_environment(apr_pool_t *p, apr_table_t *t)
|
||||
{
|
||||
|
@ -66,7 +66,7 @@
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<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</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;c:\work\apache24\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_STANDALONE</PreprocessorDefinitions>
|
||||
<DisableSpecificWarnings>4244;4018</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
@ -151,38 +151,32 @@
|
||||
<ClCompile Include="..\apache2\re_variables.c" />
|
||||
<ClCompile Include="api.c" />
|
||||
<ClCompile Include="buckets.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;;..\apache2</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ClCompile Include="config.c" />
|
||||
<ClCompile Include="filters.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ClCompile Include="hooks.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.cpp">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ClCompile Include="regex.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ClCompile Include="server.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
|
||||
|
Loading…
x
Reference in New Issue
Block a user