Java solution

This commit is contained in:
Mihai Pitu
2013-06-16 18:53:01 +01:00
committed by Felipe Zimmerle
parent 065437e1d1
commit c18fe9ea8a
6 changed files with 539 additions and 0 deletions

14
java/.gitignore vendored Normal file
View File

@@ -0,0 +1,14 @@
Debug/
Release/
*.sdf
*.opensdf
*.log
*.suo
*.tlog
*.exe
*.ilk
*.pdb
*.lib
*.obj
*.idb

26
java/ModSecurityJNI.sln Normal file
View File

@@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "standalone", "standalone.vcxproj", "{20EC871F-B6A0-4398-9B67-A33598A796E8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Debug|Win32.ActiveCfg = Debug|Win32
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Debug|Win32.Build.0 = Debug|Win32
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Debug|x64.ActiveCfg = Debug|x64
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Debug|x64.Build.0 = Debug|x64
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Release|Win32.ActiveCfg = Release|Win32
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Release|Win32.Build.0 = Release|Win32
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Release|x64.ActiveCfg = Release|x64
{20EC871F-B6A0-4398-9B67-A33598A796E8}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

197
java/ModSecurityJNI.vcxproj Normal file
View File

@@ -0,0 +1,197 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{20EC871F-B6A0-4398-9B67-A33598A796E8}</ProjectGuid>
<RootNamespace>standalone</RootNamespace>
<ProjectName>ModSecurityJNI</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<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>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\standalone;c:\Program Files (x86)\Java\jdk1.7.0_21\include\win32;c:\Program Files (x86)\Java\jdk1.7.0_21\include;C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;c:\work\httpd-2.2.24\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_STANDALONE</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;4018</DisableSpecificWarnings>
</ClCompile>
<Link>
<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>
<AdditionalLibraryDirectories>c:\drop\x86</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<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>
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;4018</DisableSpecificWarnings>
</ClCompile>
<Link>
<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>
<AdditionalLibraryDirectories>c:\drop\amd64</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>..\standalone;c:\Program Files (x86)\Java\jdk1.7.0_21\include\win32;c:\Program Files (x86)\Java\jdk1.7.0_21\include;C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2;c:\work\httpd-2.2.24\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_MBCS;%(PreprocessorDefinitions);WIN32;WINNT;inline=APR_INLINE;AP_DECLARE_STATIC;VERSION_STANDALONE</PreprocessorDefinitions>
<DisableSpecificWarnings>4244;4018</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<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>
<AdditionalLibraryDirectories>c:\drop\x86</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>C:\work\pcre-8.30\include;C:\work\pcre-8.30;C:\work\libxml2-2.7.7\include;C:\apache22\include;..\apache2</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<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>
<AdditionalLibraryDirectories>c:\drop\amd64</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\apache2\acmp.c" />
<ClCompile Include="..\apache2\apache2_config.c" />
<ClCompile Include="..\apache2\apache2_io.c" />
<ClCompile Include="..\apache2\apache2_util.c" />
<ClCompile Include="..\apache2\modsecurity.c" />
<ClCompile Include="..\apache2\mod_security2.c" />
<ClCompile Include="..\apache2\msc_crypt.c" />
<ClCompile Include="..\apache2\msc_geo.c" />
<ClCompile Include="..\apache2\msc_gsb.c" />
<ClCompile Include="..\apache2\msc_logging.c" />
<ClCompile Include="..\apache2\msc_lua.c" />
<ClCompile Include="..\apache2\msc_multipart.c" />
<ClCompile Include="..\apache2\msc_parsers.c" />
<ClCompile Include="..\apache2\msc_pcre.c" />
<ClCompile Include="..\apache2\msc_release.c" />
<ClCompile Include="..\apache2\msc_reqbody.c" />
<ClCompile Include="..\apache2\msc_tree.c" />
<ClCompile Include="..\apache2\msc_unicode.c" />
<ClCompile Include="..\apache2\msc_util.c" />
<ClCompile Include="..\apache2\msc_xml.c" />
<ClCompile Include="..\apache2\persist_dbm.c" />
<ClCompile Include="..\apache2\re.c" />
<ClCompile Include="..\apache2\re_actions.c" />
<ClCompile Include="..\apache2\re_operators.c" />
<ClCompile Include="..\apache2\re_tfns.c" />
<ClCompile Include="..\apache2\re_variables.c" />
<ClCompile Include="..\standalone\api.c" />
<ClCompile Include="..\standalone\buckets.c" />
<ClCompile Include="..\standalone\config.c" />
<ClCompile Include="..\standalone\filters.c" />
<ClCompile Include="..\standalone\hooks.c" />
<ClCompile Include="..\standalone\regex.c" />
<ClCompile Include="..\standalone\server.c" />
<ClCompile Include="org_modsecurity_ModSecurity.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\apache2\acmp.h" />
<ClInclude Include="..\apache2\apache2.h" />
<ClInclude Include="..\apache2\modsecurity.h" />
<ClInclude Include="..\apache2\modsecurity_config.h" />
<ClInclude Include="..\apache2\modsecurity_config_auto.h" />
<ClInclude Include="..\apache2\msc_crypt.h" />
<ClInclude Include="..\apache2\msc_geo.h" />
<ClInclude Include="..\apache2\msc_gsb.h" />
<ClInclude Include="..\apache2\msc_logging.h" />
<ClInclude Include="..\apache2\msc_lua.h" />
<ClInclude Include="..\apache2\msc_multipart.h" />
<ClInclude Include="..\apache2\msc_parsers.h" />
<ClInclude Include="..\apache2\msc_pcre.h" />
<ClInclude Include="..\apache2\msc_release.h" />
<ClInclude Include="..\apache2\msc_tree.h" />
<ClInclude Include="..\apache2\msc_unicode.h" />
<ClInclude Include="..\apache2\msc_util.h" />
<ClInclude Include="..\apache2\msc_xml.h" />
<ClInclude Include="..\apache2\persist_dbm.h" />
<ClInclude Include="..\apache2\re.h" />
<ClInclude Include="..\apache2\utf8tables.h" />
<ClInclude Include="..\standalone\api.h" />
<ClInclude Include="org_modsecurity_ModSecurity.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<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>
<Filter Include="ModSecurity Headers">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="ModSecurity Sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Standalone Sources">
<UniqueIdentifier>{15b281fc-949e-46d2-b25b-16b2ddf25dee}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\apache2\acmp.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\apache2_config.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\apache2_io.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\apache2_util.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\mod_security2.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\modsecurity.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_geo.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_gsb.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_logging.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_lua.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_multipart.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_parsers.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_pcre.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_release.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_reqbody.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_unicode.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_util.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_xml.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\persist_dbm.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\re.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\re_actions.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\re_operators.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\re_tfns.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\re_variables.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_crypt.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="..\apache2\msc_tree.c">
<Filter>ModSecurity Sources</Filter>
</ClCompile>
<ClCompile Include="org_modsecurity_ModSecurity.c" />
<ClCompile Include="..\standalone\api.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\buckets.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\config.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\filters.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\hooks.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\regex.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
<ClCompile Include="..\standalone\server.c">
<Filter>Standalone Sources</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\apache2\acmp.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\apache2.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\modsecurity.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\modsecurity_config.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\modsecurity_config_auto.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_geo.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_gsb.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_logging.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_lua.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_multipart.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_parsers.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_pcre.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_release.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_unicode.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_util.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_xml.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\persist_dbm.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\re.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\utf8tables.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_crypt.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="..\apache2\msc_tree.h">
<Filter>ModSecurity Headers</Filter>
</ClInclude>
<ClInclude Include="org_modsecurity_ModSecurity.h" />
<ClInclude Include="..\standalone\api.h">
<Filter>Standalone Sources</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,82 @@
#undef inline
#define inline __inline //__ for C
//#include <stdio.h>
#include "org_modsecurity_ModSecurity.h"
#include "api.h"
//#define MODSECURITY_JAVACLASS "org/modsecurity/ModSecurity"
//
//#define MODSECURITY_LOGMETHOD "log"
//#define MODSECURITY_LOGSIG "(ILjava/lang/String;)V"
//JavaVM *jvm;
//jobject modSecurityInstance;
//jclass modSecurityClass;
//
void logSec(void *obj, int level, char *str)
{
// //JNIEnv *env;
// //jstring jStr;
// //jmethodID logMethod;
// // (*jvm)->AttachCurrentThread(jvm, (void **)&env, NULL);
//
// //jStr = (*env)->NewStringUTF(env, str);
// //
// //logMethod = (*env)->GetMethodID(env, modSecurityClass, MODSECURITY_LOGMETHOD, MODSECURITY_LOGSIG);
// //(*env)->CallVoidMethod(env, modSecurityInstance, logMethod, level, jStr);
// //
// //(*env)->ReleaseStringUTFChars(env, jStr, str);
//
// //(*jvm)->DetachCurrentThread(jvm);
}
apr_status_t ReadBodyCallback(request_rec *r, char *buf, unsigned int length, unsigned int *readcnt, int *is_eos)
{
return APR_SUCCESS;
}
apr_status_t WriteBodyCallback(request_rec *r, char *buf, unsigned int length)
{
return APR_SUCCESS;
}
apr_status_t ReadResponseCallback(request_rec *r, char *buf, unsigned int length, unsigned int *readcnt, int *is_eos)
{
return APR_SUCCESS;
}
apr_status_t WriteResponseCallback(request_rec *r, char *buf, unsigned int length)
{
return APR_SUCCESS;
}
JNIEXPORT jint JNICALL Java_org_modsecurity_ModSecurity_initialize(JNIEnv *env, jobject obj)
{
//jclass localCls;
//(*env)->GetJavaVM(env, &jvm);
//modSecurityInstance = (*env)->NewGlobalRef(env, obj);
//localCls = (*env)->FindClass(env, MODSECURITY_JAVACLASS);
//modSecurityClass = (jclass) (*env)->NewGlobalRef(env, localCls);
//(*env)->DeleteLocalRef(env, localCls);
modsecSetLogHook(NULL, logSec);
modsecSetReadBody(ReadBodyCallback);
modsecSetReadResponse(ReadResponseCallback);
modsecSetWriteBody(WriteBodyCallback);
modsecSetWriteResponse(WriteResponseCallback);
return APR_SUCCESS;
}
JNIEXPORT jint JNICALL Java_org_modsecurity_ModSecurity_destroy(JNIEnv *env, jobject obj)
{
// //(*env)->DeleteGlobalRef(env, modSecurityInstance);
// //(*env)->DeleteGlobalRef(env, modSecurityClass);
return APR_SUCCESS;
}

View File

@@ -0,0 +1,29 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_modsecurity_ModSecurity */
#ifndef _Included_org_modsecurity_ModSecurity
#define _Included_org_modsecurity_ModSecurity
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_modsecurity_ModSecurity
* Method: initialize
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_modsecurity_ModSecurity_initialize
(JNIEnv *, jobject);
/*
* Class: org_modsecurity_ModSecurity
* Method: destroy
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_modsecurity_ModSecurity_destroy
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif