You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2022/09/27 06:49:01 UTC
Re: svn commit: r1904269 - in /httpd/httpd/trunk: changes-entries/ docs/manual/mod/ modules/http2/ test/modules/http2/
On 9/26/22 2:29 PM, icing@apache.org wrote:
> Author: icing
> Date: Mon Sep 26 12:29:47 2022
> New Revision: 1904269
>
> URL: http://svn.apache.org/viewvc?rev=1904269&view=rev
> Log:
> *) mod_http2: new directive "H2HeaderStrictness" to control the compliance
> level of header checks as defined in the HTTP/2 RFCs. Default is 7540.
> 9113 activates the checks for forbidden leading/trailing whitespace in
> field values (available from nghttp2 v1.50.0 on).
>
> - source sync with github version
> - fix for keepalive idle wait in mpm_worker setup
> - ensuring EOS when secondary connection has been handled
> - fixed race in late input EOS arrival when stream was
> already scheduled for execution.
>
>
> Added:
> httpd/httpd/trunk/changes-entries/h2_header_strictness.txt
> Modified:
> httpd/httpd/trunk/docs/manual/mod/mod_http2.xml
> httpd/httpd/trunk/modules/http2/config2.m4
> httpd/httpd/trunk/modules/http2/h2.h
> httpd/httpd/trunk/modules/http2/h2_bucket_beam.c
> httpd/httpd/trunk/modules/http2/h2_bucket_beam.h
> httpd/httpd/trunk/modules/http2/h2_c1.c
> httpd/httpd/trunk/modules/http2/h2_c1_io.c
> httpd/httpd/trunk/modules/http2/h2_c2.c
> httpd/httpd/trunk/modules/http2/h2_config.c
> httpd/httpd/trunk/modules/http2/h2_config.h
> httpd/httpd/trunk/modules/http2/h2_mplx.c
> httpd/httpd/trunk/modules/http2/h2_mplx.h
> httpd/httpd/trunk/modules/http2/h2_request.c
> httpd/httpd/trunk/modules/http2/h2_session.c
> httpd/httpd/trunk/modules/http2/h2_stream.c
> httpd/httpd/trunk/modules/http2/h2_util.c
> httpd/httpd/trunk/modules/http2/h2_version.h
> httpd/httpd/trunk/modules/http2/h2_workers.c
> httpd/httpd/trunk/modules/http2/h2_workers.h
> httpd/httpd/trunk/test/modules/http2/test_105_timeout.py
>
> Modified: httpd/httpd/trunk/modules/http2/h2_workers.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_workers.c?rev=1904269&r1=1904268&r2=1904269&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/http2/h2_workers.c (original)
> +++ httpd/httpd/trunk/modules/http2/h2_workers.c Mon Sep 26 12:29:47 2022
> @@ -451,7 +452,7 @@ h2_workers *h2_workers_create(server_rec
> workers->pool = pool;
> workers->min_active = min_active;
> workers->max_slots = max_slots;
> - workers->idle_limit = (idle_limit > 0)? idle_limit : apr_time_from_sec(10);
> + workers->idle_limit = (int)((idle_limit > 0)? idle_limit : apr_time_from_sec(10));
Is it possible to change idle_limit in the workers struct to an apr_time_t? Otherwise the cast could truncate here in an
unexpected way as users are not limited in what they can configure for H2MaxWorkerIdleSeconds.
I am also not sure if a cast of a large value could result in a negative value.
> workers->dynamic = (workers->min_active < workers->max_slots);
>
> ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,
Regards
RĂ¼diger
Re: svn commit: r1904269 - in /httpd/httpd/trunk: changes-entries/ docs/manual/mod/ modules/http2/ test/modules/http2/
Posted by Stefan Eissing via dev <de...@httpd.apache.org>.
> Am 27.09.2022 um 08:49 schrieb Ruediger Pluem <rp...@apache.org>:
>
>
>
> On 9/26/22 2:29 PM, icing@apache.org wrote:
>> Author: icing
>> Date: Mon Sep 26 12:29:47 2022
>> New Revision: 1904269
>>
>> URL: http://svn.apache.org/viewvc?rev=1904269&view=rev
>> Log:
>> *) mod_http2: new directive "H2HeaderStrictness" to control the compliance
>> level of header checks as defined in the HTTP/2 RFCs. Default is 7540.
>> 9113 activates the checks for forbidden leading/trailing whitespace in
>> field values (available from nghttp2 v1.50.0 on).
>>
>> - source sync with github version
>> - fix for keepalive idle wait in mpm_worker setup
>> - ensuring EOS when secondary connection has been handled
>> - fixed race in late input EOS arrival when stream was
>> already scheduled for execution.
>>
>>
>> Added:
>> httpd/httpd/trunk/changes-entries/h2_header_strictness.txt
>> Modified:
>> httpd/httpd/trunk/docs/manual/mod/mod_http2.xml
>> httpd/httpd/trunk/modules/http2/config2.m4
>> httpd/httpd/trunk/modules/http2/h2.h
>> httpd/httpd/trunk/modules/http2/h2_bucket_beam.c
>> httpd/httpd/trunk/modules/http2/h2_bucket_beam.h
>> httpd/httpd/trunk/modules/http2/h2_c1.c
>> httpd/httpd/trunk/modules/http2/h2_c1_io.c
>> httpd/httpd/trunk/modules/http2/h2_c2.c
>> httpd/httpd/trunk/modules/http2/h2_config.c
>> httpd/httpd/trunk/modules/http2/h2_config.h
>> httpd/httpd/trunk/modules/http2/h2_mplx.c
>> httpd/httpd/trunk/modules/http2/h2_mplx.h
>> httpd/httpd/trunk/modules/http2/h2_request.c
>> httpd/httpd/trunk/modules/http2/h2_session.c
>> httpd/httpd/trunk/modules/http2/h2_stream.c
>> httpd/httpd/trunk/modules/http2/h2_util.c
>> httpd/httpd/trunk/modules/http2/h2_version.h
>> httpd/httpd/trunk/modules/http2/h2_workers.c
>> httpd/httpd/trunk/modules/http2/h2_workers.h
>> httpd/httpd/trunk/test/modules/http2/test_105_timeout.py
>>
>
>> Modified: httpd/httpd/trunk/modules/http2/h2_workers.c
>> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_workers.c?rev=1904269&r1=1904268&r2=1904269&view=diff
>> ==============================================================================
>> --- httpd/httpd/trunk/modules/http2/h2_workers.c (original)
>> +++ httpd/httpd/trunk/modules/http2/h2_workers.c Mon Sep 26 12:29:47 2022
>
>> @@ -451,7 +452,7 @@ h2_workers *h2_workers_create(server_rec
>> workers->pool = pool;
>> workers->min_active = min_active;
>> workers->max_slots = max_slots;
>> - workers->idle_limit = (idle_limit > 0)? idle_limit : apr_time_from_sec(10);
>> + workers->idle_limit = (int)((idle_limit > 0)? idle_limit : apr_time_from_sec(10));
>
> Is it possible to change idle_limit in the workers struct to an apr_time_t? Otherwise the cast could truncate here in an
> unexpected way as users are not limited in what they can configure for H2MaxWorkerIdleSeconds.
> I am also not sure if a cast of a large value could result in a negative value.
You are correct. Changed the type to apr_time_t and no more casting in r1904299.
Thanks for reviewing.
/Stefan
>
>> workers->dynamic = (workers->min_active < workers->max_slots);
>>
>> ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,
>
> Regards
>
> RĂ¼diger