mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 05:45:59 +03:00
Adds JSON support on ISS port
The JSON parse is already supported in Nginx and Apache versions. This patch adds support on the IIS port.
This commit is contained in:
parent
0787b45481
commit
a95f37196e
@ -40,7 +40,7 @@ INCLUDES = $(INCLUDES) -I$(LUA)\include -I$(LUA) \
|
||||
|
||||
# Yajl/Json is optional
|
||||
!IF "$(YAJL)" != ""
|
||||
LIBS = $(LIBS) $(YAJL)\yajl.lib
|
||||
LIBS = $(LIBS) $(YAJL)\lib\yajl.lib
|
||||
DEFS=$(DEFS) -DWITH_YAJL
|
||||
INCLUDES = $(INCLUDES) -I$(YAJL)\include -I$(YAJL) \
|
||||
!ENDIF
|
||||
|
@ -43,7 +43,7 @@ INCLUDES = $(INCLUDES) -I$(LUA)\include -I$(LUA) \
|
||||
|
||||
# Yajl/Json is optional
|
||||
!IF "$(YAJL)" != ""
|
||||
LIBS = $(LIBS) $(YAJL)\yajl.lib
|
||||
LIBS = $(LIBS) $(YAJL)\lib\yajl.lib
|
||||
DEFS=$(DEFS) -DWITH_YAJL
|
||||
INCLUDES = $(INCLUDES) -I$(YAJL)\include -I$(YAJL) \
|
||||
!ENDIF
|
||||
|
@ -83,7 +83,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;dependencies\build_dir\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;dependencies\build_dir\lloyd-yajl-f4b2b1a\build\yajl-2.0.1\include;</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
@ -93,7 +93,7 @@
|
||||
<Link>
|
||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||
<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);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>
|
||||
<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;dependencies\build_dir\yajl\build\yajl-2.0.1\lib\yajl.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
@ -103,7 +103,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone;dependencies\build_dir\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;dependencies\build_dir\lloyd-yajl-f4b2b1a\build\yajl-2.0.1\include;</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
@ -113,7 +113,7 @@
|
||||
<Link>
|
||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>kernel32.lib;IPHLPAPI.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>
|
||||
<AdditionalDependencies>kernel32.lib;IPHLPAPI.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;dependencies\build_dir\yajl\build\yajl-2.0.1\lib\yajl.lib;</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\core__\ModSecurity\iis\release\x64</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions> /LIBPATH:"C:\core__\ModSecurity\iis\release\x64" %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
@ -126,11 +126,11 @@
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_IIS</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone;dependencies\build_dir\lloyd-yajl-f4b2b1a\build\yajl-2.0.1\include;</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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);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>
|
||||
<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;dependencies\build_dir\yajl\build\yajl-2.0.1\lib\yajl.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
@ -141,11 +141,11 @@
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>dependencies\build_dir\pcre\include;dependencies\build_dir\pcre;dependencies\build_dir\libxml2\include;..\apache2;..\standalone;dependencies\build_dir\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;dependencies\build_dir\lloyd-yajl-f4b2b1a\build\yajl-2.0.1\include;</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>mymodule.def</ModuleDefinitionFile>
|
||||
<AdditionalDependencies>kernel32.lib;IPHLPAPI.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>
|
||||
<AdditionalDependencies>kernel32.lib;IPHLPAPI.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;dependencies\build_dir\yajl\build\yajl-2.0.1\lib\yajl.lib;</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
@ -167,6 +167,7 @@
|
||||
<ClCompile Include="..\apache2\msc_crypt.c" />
|
||||
<ClCompile Include="..\apache2\msc_geo.c" />
|
||||
<ClCompile Include="..\apache2\msc_gsb.c" />
|
||||
<ClCompile Include="..\apache2\msc_json.c" />
|
||||
<ClCompile Include="..\apache2\msc_logging.c" />
|
||||
<ClCompile Include="..\apache2\msc_lua.c" />
|
||||
<ClCompile Include="..\apache2\msc_multipart.c" />
|
||||
@ -216,6 +217,7 @@
|
||||
<ClInclude Include="..\apache2\msc_crypt.h" />
|
||||
<ClInclude Include="..\apache2\msc_geo.h" />
|
||||
<ClInclude Include="..\apache2\msc_gsb.h" />
|
||||
<ClInclude Include="..\apache2\msc_json.h" />
|
||||
<ClInclude Include="..\apache2\msc_logging.h" />
|
||||
<ClInclude Include="..\apache2\msc_lua.h" />
|
||||
<ClInclude Include="..\apache2\msc_multipart.h" />
|
||||
|
@ -17,6 +17,7 @@
|
||||
@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 YAJL=lloyd-yajl-f4b2b1a.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"
|
||||
@ -73,6 +74,11 @@ echo "b"
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_curl
|
||||
@cd "%CURRENT_DIR%"
|
||||
|
||||
@echo # yajl - %YAJL%
|
||||
@call dependencies/build_yajl.bat
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed_yajl
|
||||
@cd "%CURRENT_DIR%"
|
||||
|
||||
@echo All dependencies were built successfully.
|
||||
@cd "%CURRENT_DIR%"
|
||||
@exit /B 0
|
||||
@ -109,6 +115,10 @@ echo "b"
|
||||
@echo Failed to setup %CURL%...
|
||||
@goto failed
|
||||
|
||||
:build_failed_yajl
|
||||
@echo Failed to setup %YAJL%...
|
||||
@goto failed
|
||||
|
||||
:failed
|
||||
@cd %CURRENT_DIR%
|
||||
@exit /B 1
|
||||
|
@ -15,7 +15,7 @@ set CURRENT_DIR=%cd%
|
||||
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
|
||||
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 YAJL=..\iis\%DEPENDENCIES_DIR%\yajl\build\yajl-2.0.1
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
|
||||
@echo mlogc...
|
||||
@ -29,7 +29,7 @@ nmake -f Makefile.win APACHE=..\iis\%DEPENDENCIES_DIR%\Apache24 PCRE=..\iis\%DEP
|
||||
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
|
||||
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 YAJL=..\iis\%DEPENDENCIES_DIR%\yajl\build\yajl-2.0.1
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
|
||||
cd %CURRENT_DIR%
|
||||
|
39
iis/dependencies/build_yajl.bat
Normal file
39
iis/dependencies/build_yajl.bat
Normal file
@ -0,0 +1,39 @@
|
||||
cd "%WORK_DIR%"
|
||||
|
||||
@if NOT EXIST "%SOURCE_DIR%\%YAJL%" goto file_not_found_bin
|
||||
|
||||
7z.exe x "%SOURCE_DIR%\%YAJL%"
|
||||
set YAJL_DIR=%YAJL:~0,-4%
|
||||
|
||||
move "%YAJL_DIR%" "yajl"
|
||||
|
||||
cd "yajl"
|
||||
|
||||
mkdir build
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
cd build
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
nmake
|
||||
@if NOT (%ERRORLEVEL%) == (0) goto build_failed
|
||||
|
||||
cd "%WORK%"
|
||||
|
||||
copy /y "%WORK_DIR%\yajl\build\yajl-2.0.1\lib\yajl.dll" "%OUTPUT_DIR%"
|
||||
copy /y "%WORK_DIR%\yajl\build\yajl-2.0.1\lib\yajl.pdb" "%OUTPUT_DIR%"
|
||||
copy /y "%WORK_DIR%\yajl\build\yajl-2.0.1\lib\yajl.lib" "%OUTPUT_DIR%"
|
||||
copy /y "%WORK_DIR%\yajl\build\yajl-2.0.1\lib\yajl_s.lib" "%OUTPUT_DIR%"
|
||||
|
||||
@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
|
@ -542,6 +542,9 @@
|
||||
<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="YAJL.DLL" DiskId="1" Guid="F2A09A92-F564-4C93-AB17-5ZZA6FDA3A7C">
|
||||
<File Id="AYJL.DLL" Name="yajl.dll" Source="Release\amd64\yajl.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>
|
||||
@ -575,6 +578,9 @@
|
||||
<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="YAJL.DLL" DiskId="1" Guid="F2A09A92-F564-4CZ3-AB17-5ZZA6FDA3A7C">
|
||||
<File Id="AYJL.DLL" Name="yajl.dll" Source="Release\x86\yajl.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>
|
||||
@ -598,6 +604,7 @@
|
||||
<ComponentRef Id="LIBCURL.DLL" />
|
||||
<ComponentRef Id="LIBXML2.DLL" />
|
||||
<ComponentRef Id="LUA5.1.DLL" />
|
||||
<ComponentRef Id="YAJL.DLL" />
|
||||
<ComponentRef Id="MLOGC.EXE" />
|
||||
<ComponentRef Id="MODSECURITYIIS.DLL" />
|
||||
<ComponentRef Id="PCRE.DLL" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user