On Thu, Dec 22, 2016 at 6:00 PM, Yann Ylavic <ylavic....@gmail.com> wrote:
> On Thu, Dec 22, 2016 at 8:20 PM, <wr...@apache.org> wrote: > > Author: wrowe > > Date: Thu Dec 22 19:20:25 2016 > > New Revision: 1775705 > > > > URL: http://svn.apache.org/viewvc?rev=1775705&view=rev > > Log: > > Backports: r1185385 > > Submitted by: sf > > Downgrade some more log messages indicating client errors from level > error to > > info. Add log messages for various reasons to return HTTP_BAD_REQUEST. > > Hmm, in 2.2, users are used to get an error message when httpd refuses > the request (moreover before any module had seen the request). > > Is it really 2.2 material? > > > > > Modified: httpd/httpd/branches/2.2.x-merge-http-strict/server/protocol.c > > URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x- > merge-http-strict/server/protocol.c?rev=1775705&r1= > 1775704&r2=1775705&view=diff > > ============================================================ > ================== > > --- httpd/httpd/branches/2.2.x-merge-http-strict/server/protocol.c > (original) > > +++ httpd/httpd/branches/2.2.x-merge-http-strict/server/protocol.c Thu > Dec 22 19:20:25 2016 > > @@ -702,9 +702,21 @@ static int table_do_fn_check_lengths(voi > > "\n<pre>\n", > > ap_escape_html(r->pool, key), > > "</pre>\n", NULL)); > > + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, "Request header exceeds > " > > + "LimitRequestFieldSize after merging: %s", key); > > return 0; > > } > > > > +/* get the length of the field name for logging, but no more than 80 > bytes */ > > +#define LOG_NAME_MAX_LEN 80 > > +static int field_name_len(const char *field) > > +{ > > + const char *end = ap_strchr_c(field, ':'); > > + if (end == NULL || end - field > LOG_NAME_MAX_LEN) > > + return LOG_NAME_MAX_LEN; > > + return end - field; > > +} > > + > > AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, > apr_bucket_brigade *bb) > > { > > char *last_field = NULL; > > @@ -755,6 +767,9 @@ AP_DECLARE(void) ap_get_mime_headers_cor > > ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, > > "Request header exceeds > LimitRequestFieldSize: " > > "%.*s", field_name_len(field), field); > > + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, > > + "Request header exceeds > LimitRequestFieldSize: " > > + "%.*s", field_name_len(field), field); > > Double logging? > > > } > > return; > > } > > @@ -786,6 +801,10 @@ AP_DECLARE(void) ap_get_mime_headers_cor > > "Request header exceeds > LimitRequestFieldSize " > > "after folding: %.*s", > > field_name_len(last_field), > last_field); > > + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, > > + "Request header exceeds > LimitRequestFieldSize " > > + "after folding: %.*s", > > + field_name_len(last_field), > last_field); > > Likewise? > > > return; > > } > > > > @@ -811,6 +830,9 @@ AP_DECLARE(void) ap_get_mime_headers_cor > > apr_table_setn(r->notes, "error-notes", > > "The number of request header fields > " > > "exceeds this server's limit."); > > + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, > > + "Number of request headers exceeds " > > + "LimitRequestFields"); > > return; > > } > > > > @@ -829,6 +851,10 @@ AP_DECLARE(void) ap_get_mime_headers_cor > > "separator: %.*s", > (int)LOG_NAME_MAX_LEN, > > last_field); > > > > + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, > > + "Request header field is missing ':' " > > + "separator: %.*s", > (int)LOG_NAME_MAX_LEN, > > + last_field); > > Likewise? > > > return; > > } > Yes, doubled merge. Believe I have these cleaned up in r1775774.