Adds modsecStatusEngineCall to standalone API

In ModSecurityIIS the configuration is loaded upon the first request
is received. In other words, SecStatusEngine value can be only
loaded once the first request hit the server, and so, the status
function was moved to proceed just after the configuration got loaded.
This update is IIS only.
This commit is contained in:
Felipe "Zimmerle" Costa
2014-02-15 00:29:51 -02:00
committed by Felipe Zimmerle
parent d75e443b9b
commit 20014c808c
6 changed files with 28 additions and 2 deletions

View File

@@ -726,6 +726,7 @@ static int hook_post_config(apr_pool_t *mp, apr_pool_t *mp_log, apr_pool_t *mp_t
"Original server signature: %s", real_server_signature);
}
#ifndef WIN32
if (status_engine_state != STATUS_ENGINE_DISABLED) {
msc_status_engine_call();
}
@@ -734,6 +735,7 @@ static int hook_post_config(apr_pool_t *mp, apr_pool_t *mp_log, apr_pool_t *mp_t
"Status engine is currently disabled, enable it by set " \
"SecStatusEngine to On.");
}
#endif
}
srand((unsigned int)(time(NULL) * getpid()));

View File

@@ -356,8 +356,8 @@ int msc_status_engine_call (void) {
}
apr_snprintf(beacon_string, beacon_string_len+1+10+4,
"%s,%s/IIS,%s/%s,%s/%s,%s/%s,%s/%s,%s",
modsec, apache, apr, apr_loaded, pcre, pcre_loaded, lua, lua_loaded,
"%s,IIS,%s/%s,%s/%s,%s/%s,%s/%s,%s",
modsec, apr, apr_loaded, pcre, pcre_loaded, lua, lua_loaded,
libxml, libxml_loaded, id);
#else
beacon_string = malloc(sizeof(char)*(beacon_string_len+1+10));

View File

@@ -21,7 +21,11 @@
#include "apr_optional.h"
#include "msc_pcre.h"
#ifndef WIN32
#define STATUS_ENGINE_DNS_IN_BETWEEN_DOTS 32
#else
#define STATUS_ENGINE_DNS_IN_BETWEEN_DOTS 30
#endif
#define STATUS_ENGINE_DNS_SUFFIX "status.modsecurity.org"