The proposed patch is dead anyway, just one remark though.

On Tue, Oct 20, 2015 at 10:08 AM, Plüm, Rüdiger, Vodafone Group
<[email protected]> wrote:
>
>
>> -----Original Message-----
>> From: Yann Ylavic [mailto:[email protected]]
>> Sent: Dienstag, 20. Oktober 2015 01:05
>>
>> Index: modules/http/http_request.c
>> ===================================================================
[]
>> --- modules/http/http_request.c    (revision 1708095)
>> +++ modules/http/http_request.c    (working copy)
>>
>> -    if (!c->data_in_input_filters) {
>> -        bb = apr_brigade_create(c->pool, c->bucket_alloc);
>> -        b = apr_bucket_flush_create(c->bucket_alloc);
>> -        APR_BRIGADE_INSERT_HEAD(bb, b);
>> -        rv = ap_pass_brigade(c->output_filters, bb);
>> -        if (APR_STATUS_IS_TIMEUP(rv)) {
>> -            /*
>> -             * Notice a timeout as an error message. This might be
>> -             * valuable for detecting clients with broken network
>> -             * connections or possible DoS attacks.
>> -             *
>> -             * It is still safe to use r / r->pool here as the eor bucket
>> -             * could not have been destroyed in the event of a timeout.
>> -             */
>> -            ap_log_rerror(APLOG_MARK, APLOG_INFO, rv, r, APLOGNO(01581)
>> -                          "Timeout while writing data for URI %s to the"
>> -                          " client", r->unparsed_uri);
>> -        }
>> -    }
>>      if (ap_extended_status) {
>> +        conn_rec *c = r->connection;
>
> r is likely to be dead here

Correct, and I think the above code is quite risky too.
Does it really worth logging at the request level here, whereas using
something like:
    ap_log_cerror(APLOG_MARK, APLOG_INFO, rv, c, APLOGNO(01581)
                  "Timeout flusing data to the client");
would be as much informative IMHO.

Reply via email to