mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2026-01-10 02:04:36 +03:00
Merge in DIV0 changes and compiler warning suppression from trunk.
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -2,6 +2,9 @@
|
|||||||
01 Mar 2007 - 2.1.x
|
01 Mar 2007 - 2.1.x
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* Fixed error when a collection var was fetched in the same second as creation
|
||||||
|
by setting the rate to zero.
|
||||||
|
|
||||||
* Fixed ASCIIZ (NUL) parsing for application/x-www-form-urlencoded forms
|
* Fixed ASCIIZ (NUL) parsing for application/x-www-form-urlencoded forms
|
||||||
|
|
||||||
* Fixed the faulty REQUEST_FILENAME variable, which used to change
|
* Fixed the faulty REQUEST_FILENAME variable, which used to change
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ builddir = .
|
|||||||
# Debian - /usr/share/apache2 (apache2-prefork-dev or apache2-threaded-dev
|
# Debian - /usr/share/apache2 (apache2-prefork-dev or apache2-threaded-dev
|
||||||
# needed, depending on your installation type)
|
# needed, depending on your installation type)
|
||||||
#
|
#
|
||||||
top_dir = /home/ivanr/apache22
|
top_dir = /apps/apache22
|
||||||
|
|
||||||
top_srcdir = ${top_dir}
|
top_srcdir = ${top_dir}
|
||||||
top_builddir = ${top_dir}
|
top_builddir = ${top_dir}
|
||||||
|
|||||||
@@ -428,23 +428,23 @@ unsigned char *c2x(unsigned what, unsigned char *where) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *log_escape(apr_pool_t *mp, const char *text) {
|
char *log_escape(apr_pool_t *mp, const char *text) {
|
||||||
return _log_escape(mp, text, strlen(text), 1, 0);
|
return _log_escape(mp, (const unsigned char *)text, text ? strlen(text) : 0, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *log_escape_nq(apr_pool_t *mp, const char *text) {
|
char *log_escape_nq(apr_pool_t *mp, const char *text) {
|
||||||
return _log_escape(mp, text, strlen(text), 0, 0);
|
return _log_escape(mp, (const unsigned char *)text, text ? strlen(text) : 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *log_escape_ex(apr_pool_t *mp, const char *text, unsigned long int text_length) {
|
char *log_escape_ex(apr_pool_t *mp, const char *text, unsigned long int text_length) {
|
||||||
return _log_escape(mp, text, text_length, 1, 0);
|
return _log_escape(mp, (const unsigned char *)text, text_length, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *log_escape_nq_ex(apr_pool_t *mp, const char *text, unsigned long int text_length) {
|
char *log_escape_nq_ex(apr_pool_t *mp, const char *text, unsigned long int text_length) {
|
||||||
return _log_escape(mp, text, text_length, 0, 0);
|
return _log_escape(mp, (const unsigned char *)text, text_length, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *log_escape_header_name(apr_pool_t *mp, const char *text) {
|
char *log_escape_header_name(apr_pool_t *mp, const char *text) {
|
||||||
return _log_escape(mp, text, strlen(text), 0, 1);
|
return _log_escape(mp, (const unsigned char *)text, text ? strlen(text) : 0, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ apr_table_t *collection_retrieve(modsec_rec *msr, const char *col_name,
|
|||||||
if (var == NULL) {
|
if (var == NULL) {
|
||||||
/* Error. */
|
/* Error. */
|
||||||
} else {
|
} else {
|
||||||
|
int td;
|
||||||
counter = atoi(var->value);
|
counter = atoi(var->value);
|
||||||
var = (msc_string *)apr_table_get(col, "UPDATE_RATE");
|
var = (msc_string *)apr_table_get(col, "UPDATE_RATE");
|
||||||
if (var == NULL) {
|
if (var == NULL) {
|
||||||
@@ -160,8 +161,16 @@ apr_table_t *collection_retrieve(modsec_rec *msr, const char *col_name,
|
|||||||
var->name_len = strlen(var->name);
|
var->name_len = strlen(var->name);
|
||||||
apr_table_setn(col, var->name, (void *)var);
|
apr_table_setn(col, var->name, (void *)var);
|
||||||
}
|
}
|
||||||
var->value = apr_psprintf(msr->mp, "%i",
|
|
||||||
(int)((60 * counter)/(apr_time_sec(apr_time_now()) - create_time)));
|
/* NOTE: No rate if there has been no time elapsed */
|
||||||
|
td = (apr_time_sec(apr_time_now()) - create_time);
|
||||||
|
if (td == 0) {
|
||||||
|
var->value = apr_psprintf(msr->mp, "%i", 0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var->value = apr_psprintf(msr->mp, "%i",
|
||||||
|
(int)((60 * counter)/td));
|
||||||
|
}
|
||||||
var->value_len = strlen(var->value);
|
var->value_len = strlen(var->value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user