diff --git a/iis/mymodule.cpp b/iis/mymodule.cpp index 2a66d6881f..b02e6f6071 100644 --- a/iis/mymodule.cpp +++ b/iis/mymodule.cpp @@ -752,8 +752,8 @@ CMyHttpModule::OnBeginRequest( pConfig->m_dwLastCheck = ctime; - if(ret == 0 || pConfig->m_LastChange.dwLowDateTime != fdata.ftLastWriteTime.dwLowDateTime || - pConfig->m_LastChange.dwHighDateTime != fdata.ftLastWriteTime.dwHighDateTime) + if(pConfig->m_Config == NULL || (ret != 0 && (pConfig->m_LastChange.dwLowDateTime != fdata.ftLastWriteTime.dwLowDateTime || + pConfig->m_LastChange.dwHighDateTime != fdata.ftLastWriteTime.dwHighDateTime))) { pConfig->m_LastChange.dwLowDateTime = fdata.ftLastWriteTime.dwLowDateTime; pConfig->m_LastChange.dwHighDateTime = fdata.ftLastWriteTime.dwHighDateTime; @@ -769,9 +769,9 @@ CMyHttpModule::OnBeginRequest( WriteEventViewerLog(err, EVENTLOG_ERROR_TYPE); } } - - delete path; } + + delete path; } conn_rec *c; diff --git a/standalone/api.c b/standalone/api.c index 7eb65be2a3..5a08d8e333 100644 --- a/standalone/api.c +++ b/standalone/api.c @@ -143,6 +143,7 @@ server_rec *modsecInit() { server->server_scheme = ""; server->timeout = 60 * 1000000;// 60 seconds server->wild_names = NULL; + server->is_virtual = 0; ap_server_config_defines = apr_array_make(pool, 1, sizeof(char *)); diff --git a/standalone/config.c b/standalone/config.c index d31ac50c7e..615f0a9eaf 100644 --- a/standalone/config.c +++ b/standalone/config.c @@ -991,8 +991,8 @@ const char *process_command_config(server_rec *s, apr_status_t status; ap_directive_t *newdir; int optional; + char *err = NULL; - //*(char **)apr_array_push(ari) = (char *)filename; errmsg = populate_include_files(p, ptemp, ari, filename, 0); if(errmsg != NULL) @@ -1108,21 +1108,18 @@ const char *process_command_config(server_rec *s, break; } - while((parms = (cmd_parms *)apr_array_pop(arr)) != NULL) - { - ap_cfg_closefile(parms->config_file); - } - if (errmsg) { - char *err = (char *)apr_palloc(p, 1024); + err = (char *)apr_palloc(p, 1024); - apr_snprintf(err, 1024, "Syntax error in config file %s, line %d: %s", parms->config_file->name, - parms->config_file->line_number, errmsg); - - return err; + if(parms != NULL) + apr_snprintf(err, 1024, "Syntax error in config file %s, line %d: %s", parms->config_file->name, + parms->config_file->line_number, errmsg); + else + apr_snprintf(err, 1024, "Syntax error in config file: %s", errmsg); } - return NULL; + errmsg = err; + Exit: while((parms = (cmd_parms *)apr_array_pop(arr)) != NULL) {