> Am 20.08.2020 um 11:35 schrieb Ruediger Pluem <rpl...@apache.org>:
>
>
>
> On 8/20/20 10:47 AM, Stefan Eissing wrote:
>>
>>
>>> Am 20.08.2020 um 10:01 schrieb Ruediger Pluem <rpl...@apache.org>:
>>>
>>>
>>>
>>> On 8/19/20 12:18 PM, Stefan Eissing wrote:
>>>>
>>>>
>>>>> Am 19.08.2020 um 12:08 schrieb Ruediger Pluem <rpl...@apache.org>:
>
>>
>> Understood. I do not see 2. descending from the heavens either and I myself
>> am unable/unwilling to work on this.
>>
>> About hacking this somehow, the options I saw:
>>
>> a) do the header checking once the request_rec is created and scheduled on a
>> secondary connection in a separate thread
>> - this means we need to take the billions of header lines into out memory
>> first and then schedule a worker to reject it. Seems like begging for a DoS.
>> b) create a request_rec on the main connection, trigger the fail on the main
>> thread and hope that the response can be buffered and will not block the
>> whole h2 handling. Also begging for a DoS.
>> c) rewrite the error response handling in the server, which most likely we
>> will not be able to port back to 2.4
>>
>> Neither of those is attractive in my eyes. Maybe you see another way?
>
> What about:
>
> set_error_response would set the http_status in a not yet existing field
> (e.g. early_status)
> of the h2_request struct via stream->rtmp instead of creating a brigade in
> stream->out_buffer and adding to it.
> h2_request_create_rec could then check for this field and if non zero call
> ap_die after doing some minimal request_rec setup.
> I could transform this into a patch for more gory discussion if you like.
;-)
a) without making the complete requests, but a special one that knows how to
fail? Go for it!
cheers, Stefan