|
Packit |
284210 |
/*
|
|
Packit |
284210 |
* ModSecurity for Apache 2.x, http://www.modsecurity.org/
|
|
Packit |
284210 |
* Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/)
|
|
Packit |
284210 |
*
|
|
Packit |
284210 |
* You may not use this file except in compliance with
|
|
Packit |
284210 |
* the License. You may obtain a copy of the License at
|
|
Packit |
284210 |
*
|
|
Packit |
284210 |
* http://www.apache.org/licenses/LICENSE-2.0
|
|
Packit |
284210 |
*
|
|
Packit |
284210 |
* If any of the files related to licensing are missing or if you have any
|
|
Packit |
284210 |
* other questions related to licensing please contact Trustwave Holdings, Inc.
|
|
Packit |
284210 |
* directly using the email address security@modsecurity.org.
|
|
Packit |
284210 |
*/
|
|
Packit |
284210 |
|
|
Packit |
284210 |
#pragma once
|
|
Packit |
284210 |
|
|
Packit |
284210 |
#define MODSECURITY_SECTION L"system.webServer/ModSecurity"
|
|
Packit |
284210 |
#define MODSECURITY_SECTION_ENABLED L"enabled"
|
|
Packit |
284210 |
#define MODSECURITY_SECTION_CONFIGFILE L"configFile"
|
|
Packit |
284210 |
|
|
Packit |
284210 |
extern IHttpServer * g_pHttpServer;
|
|
Packit |
284210 |
|
|
Packit |
284210 |
extern PVOID g_pModuleContext;
|
|
Packit |
284210 |
|
|
Packit |
284210 |
class MODSECURITY_STORED_CONTEXT : public IHttpStoredContext
|
|
Packit |
284210 |
{
|
|
Packit |
284210 |
public:
|
|
Packit |
284210 |
MODSECURITY_STORED_CONTEXT();
|
|
Packit |
284210 |
~MODSECURITY_STORED_CONTEXT();
|
|
Packit |
284210 |
|
|
Packit |
284210 |
static
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
GetConfig(
|
|
Packit |
284210 |
IHttpContext * pContext,
|
|
Packit |
284210 |
MODSECURITY_STORED_CONTEXT ** ppModuleConfig
|
|
Packit |
284210 |
);
|
|
Packit |
284210 |
|
|
Packit |
284210 |
// virtual
|
|
Packit |
284210 |
VOID
|
|
Packit |
284210 |
CleanupStoredContext(
|
|
Packit |
284210 |
VOID
|
|
Packit |
284210 |
)
|
|
Packit |
284210 |
{
|
|
Packit |
284210 |
delete this;
|
|
Packit |
284210 |
}
|
|
Packit |
284210 |
|
|
Packit |
284210 |
BOOL GetIsEnabled()
|
|
Packit |
284210 |
{
|
|
Packit |
284210 |
return m_bIsEnabled;
|
|
Packit |
284210 |
}
|
|
Packit |
284210 |
|
|
Packit |
284210 |
WCHAR* GetPath()
|
|
Packit |
284210 |
{
|
|
Packit |
284210 |
return m_pszPath;
|
|
Packit |
284210 |
}
|
|
Packit |
284210 |
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
Initialize(
|
|
Packit |
284210 |
IHttpContext * pW3Context,
|
|
Packit |
284210 |
IAppHostConfigException ** ppException
|
|
Packit |
284210 |
);
|
|
Packit |
284210 |
|
|
Packit |
284210 |
DWORD
|
|
Packit |
284210 |
GlobalWideCharToMultiByte(
|
|
Packit |
284210 |
WCHAR* pSource,
|
|
Packit |
284210 |
DWORD dwLengthSource,
|
|
Packit |
284210 |
CHAR** ppszDestination,
|
|
Packit |
284210 |
USHORT* pdwLengthDestination );
|
|
Packit |
284210 |
|
|
Packit |
284210 |
void* m_Config;
|
|
Packit |
284210 |
DWORD m_dwLastCheck;
|
|
Packit |
284210 |
FILETIME m_LastChange;
|
|
Packit |
284210 |
|
|
Packit |
284210 |
private:
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
GetBooleanPropertyValue(
|
|
Packit |
284210 |
IAppHostElement* pElement,
|
|
Packit |
284210 |
WCHAR* pszPropertyName,
|
|
Packit |
284210 |
IAppHostPropertyException** pException,
|
|
Packit |
284210 |
BOOL* pBoolValue );
|
|
Packit |
284210 |
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
GetDWORDPropertyValue(
|
|
Packit |
284210 |
IAppHostElement* pElement,
|
|
Packit |
284210 |
WCHAR* pszPropertyName,
|
|
Packit |
284210 |
IAppHostPropertyException** pException,
|
|
Packit |
284210 |
DWORD* pnValue );
|
|
Packit |
284210 |
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
GetTimeSpanPropertyValue(
|
|
Packit |
284210 |
IAppHostElement* pElement,
|
|
Packit |
284210 |
WCHAR* pszPropertyName,
|
|
Packit |
284210 |
IAppHostPropertyException** pException,
|
|
Packit |
284210 |
ULONGLONG* pnValue );
|
|
Packit |
284210 |
|
|
Packit |
284210 |
HRESULT
|
|
Packit |
284210 |
GetStringPropertyValue(
|
|
Packit |
284210 |
IAppHostElement* pElement,
|
|
Packit |
284210 |
WCHAR* pszPropertyName,
|
|
Packit |
284210 |
IAppHostPropertyException** pException,
|
|
Packit |
284210 |
WCHAR** ppszValue );
|
|
Packit |
284210 |
|
|
Packit |
284210 |
BOOL m_bIsEnabled;
|
|
Packit |
284210 |
WCHAR* m_pszPath;
|
|
Packit |
284210 |
};
|