You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Massimo Manghi <mx...@apache.org> on 2022/06/09 10:37:12 UTC

Rivet 3.2.2rc1

Rivet 3.2.2 rc1 is available from

http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz

New features and bug fixes

  + a memory leak was fixed in Rivet_Var (src/mod_rivet_ng/rivetCore.c)

  + Installation and TEA scripts were updated

  + The form [::rivet::var all] accepts an optional flat list argument 
of key-value pairs which are defaults for an application query variables 
(yes, this argument must be interpreted as a dictionary). This form 
generalizes the [::rivet::var get <varname> <default>] form.

  + Tests for this new form were added and also ::rivet::var tests in 
general were improved

  + Configuration directive HonorHeaderOnlyReqs, though still supported, 
was renamed as HonorHeadRequests. Speaking the HTTP related parlance I 
think this a better wording of this directive (suggestions? Like 
dropping support for this directive and honor HTTP head requests every 
time?)

  -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Rivet 3.2.2rc1

Posted by Brice Hamon <no...@gmail.com>.
Thanks Massimo.

Will test it asap.
Thanks for your support.

Brice.


On Thu, Jun 9, 2022 at 6:44 AM Massimo Manghi <mx...@apache.org> wrote:

> Rivet 3.2.2 rc1 is available from
>
> http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz
>
> New features and bug fixes
>
>   + a memory leak was fixed in Rivet_Var (src/mod_rivet_ng/rivetCore.c)
>
>   + Installation and TEA scripts were updated
>
>   + The form [::rivet::var all] accepts an optional flat list argument
> of key-value pairs which are defaults for an application query variables
> (yes, this argument must be interpreted as a dictionary). This form
> generalizes the [::rivet::var get <varname> <default>] form.
>
>   + Tests for this new form were added and also ::rivet::var tests in
> general were improved
>
>   + Configuration directive HonorHeaderOnlyReqs, though still supported,
> was renamed as HonorHeadRequests. Speaking the HTTP related parlance I
> think this a better wording of this directive (suggestions? Like
> dropping support for this directive and honor HTTP head requests every
> time?)
>
>   -- Massimo
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
> For additional commands, e-mail: rivet-dev-help@tcl.apache.org
>
>

Re: Rivet 3.2.2rc1

Posted by Massimo Manghi <mx...@apache.org>.
On 09/06/22 15:40, Harald Oehlmann wrote:
>>
>>
>> The switch has been around ever since and it's only function is to 
>> force mod_rivet to return a "text/html" message avoiding actual script 
>> execution.
>>
>>      if (private->r->header_only &&
>>         !private->running_conf->honor_head_requests)
>>      {
>>          TclWeb_SetHeaderType(DEFAULT_HEADER_TYPE, private->req);
>>          TclWeb_PrintHeaders(private->req);
>>          retval = OK;
>>          goto sendcleanup;
>>      }
>>
>>
>> Thus no meaningful information is returned if HonorHeadRequests is 
>> false (default)
>>
>>   -- Massimo
> 
> I would call that a bug. Head should be handled correctly.
> 
> Thank you for caring,
> Harald
> 
> 

In hindsight it's probably so. We are thinking quite alike, before I 
read your message I was considering to open a bug in order to document 
either the removal or the change of the default for boolean 
honor_head_request

I remember the configuration directive that allowed to have real HEAD 
responses was one of my earliest contributions to mod_rivet in 2007 or 
2008. I needed to have meaningful data from a HEAD request but as a 
newcomer I didn't want to change abruptly the original behavior of the 
code in branch 1_0 (never released) assuming there was some good reason 
for it. I have some faint memory that it had been chosen to shunt code 
execution for HEAD requests for performance reasons

more thoughts?

  -- Massimo


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Rivet 3.2.2rc1

Posted by Massimo Manghi <mx...@apache.org>.
I prepared a new tar archive available from

http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz

As per Harald corrent remark, I'm assuming now that refusing to serve 
HEAD HTTP requests is in principle wrong. I made the transitional step 
of changing HonorHeadRequests default to 'true' while we consider to 
drop support for this switch in future major releases

  -- Massimo


On 09/06/22 15:40, Harald Oehlmann wrote:
> Am 09.06.2022 um 15:37 schrieb Massimo Manghi:
> [...]
> I would call that a bug. Head should be handled correctly.
> 
> Thank you for caring,
> Harald
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Rivet 3.2.2rc1

Posted by Harald Oehlmann <ha...@elmicron.de>.
Am 09.06.2022 um 15:37 schrieb Massimo Manghi:
> On 09/06/22 14:00, Harald Oehlmann wrote:
>>
>> Am 09.06.2022 um 12:37 schrieb Massimo Manghi:
>>> Rivet 3.2.2 rc1 is available from
>>>
>>> http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz
>>>
>>> New features and bug fixes
>>>
>>>   + a memory leak was fixed in Rivet_Var (src/mod_rivet_ng/rivetCore.c)
>>>
>>>   + Installation and TEA scripts were updated
>>>
>>>   + The form [::rivet::var all] accepts an optional flat list 
>>> argument of key-value pairs which are defaults for an application 
>>> query variables (yes, this argument must be interpreted as a 
>>> dictionary). This form generalizes the [::rivet::var get <varname> 
>>> <default>] form.
>>>
>>>   + Tests for this new form were added and also ::rivet::var tests in 
>>> general were improved
>>>
>>>   + Configuration directive HonorHeaderOnlyReqs, though still 
>>> supported, was renamed as HonorHeadRequests. Speaking the HTTP 
>>> related parlance I think this a better wording of this directive 
>>> (suggestions? Like dropping support for this directive and honor HTTP 
>>> head requests every time?)
>>
>> Dear Massimo,
>>
>> thank you for the great and detail work.
>> I am in favor of all those changes.
>>
>> My thought about the head request: head requests are standard for http 
>> since the beginning. I would just honor them always. They are part of 
>> http and should be supported in a standard way.
>>
>> Thank you,
>> Harald
>>
> 
> 
> The switch has been around ever since and it's only function is to force 
> mod_rivet to return a "text/html" message avoiding actual script execution.
> 
>      if (private->r->header_only &&
>         !private->running_conf->honor_head_requests)
>      {
>          TclWeb_SetHeaderType(DEFAULT_HEADER_TYPE, private->req);
>          TclWeb_PrintHeaders(private->req);
>          retval = OK;
>          goto sendcleanup;
>      }
> 
> 
> Thus no meaningful information is returned if HonorHeadRequests is false 
> (default)
> 
>   -- Massimo

I would call that a bug. Head should be handled correctly.

Thank you for caring,
Harald


-- 
ELMICRON Dr. Harald Oehlmann GmbH
Koesener Str. 85
06618 NAUMBURG - Germany
Phone: +49 3445 781120
Direct: +49 3445 781127
www.Elmicron.de
German legal references:
Geschaeftsfuehrer: Dr. Harald Oehlmann
UST Nr. / VAT ID No.: DE206105272
HRB 212803 Stendal

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Rivet 3.2.2rc1

Posted by Massimo Manghi <mx...@apache.org>.
On 09/06/22 14:00, Harald Oehlmann wrote:
> 
> Am 09.06.2022 um 12:37 schrieb Massimo Manghi:
>> Rivet 3.2.2 rc1 is available from
>>
>> http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz
>>
>> New features and bug fixes
>>
>>   + a memory leak was fixed in Rivet_Var (src/mod_rivet_ng/rivetCore.c)
>>
>>   + Installation and TEA scripts were updated
>>
>>   + The form [::rivet::var all] accepts an optional flat list argument 
>> of key-value pairs which are defaults for an application query 
>> variables (yes, this argument must be interpreted as a dictionary). 
>> This form generalizes the [::rivet::var get <varname> <default>] form.
>>
>>   + Tests for this new form were added and also ::rivet::var tests in 
>> general were improved
>>
>>   + Configuration directive HonorHeaderOnlyReqs, though still 
>> supported, was renamed as HonorHeadRequests. Speaking the HTTP related 
>> parlance I think this a better wording of this directive (suggestions? 
>> Like dropping support for this directive and honor HTTP head requests 
>> every time?)
> 
> Dear Massimo,
> 
> thank you for the great and detail work.
> I am in favor of all those changes.
> 
> My thought about the head request: head requests are standard for http 
> since the beginning. I would just honor them always. They are part of 
> http and should be supported in a standard way.
> 
> Thank you,
> Harald
> 


The switch has been around ever since and it's only function is to force 
mod_rivet to return a "text/html" message avoiding actual script execution.

     if (private->r->header_only &&
        !private->running_conf->honor_head_requests)
     {
         TclWeb_SetHeaderType(DEFAULT_HEADER_TYPE, private->req);
         TclWeb_PrintHeaders(private->req);
         retval = OK;
         goto sendcleanup;
     }


Thus no meaningful information is returned if HonorHeadRequests is false 
(default)

  -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Rivet 3.2.2rc1

Posted by Harald Oehlmann <ha...@elmicron.de>.
Am 09.06.2022 um 12:37 schrieb Massimo Manghi:
> Rivet 3.2.2 rc1 is available from
> 
> http://www.rivetweb.org/~manghi/rivet/rivet-3.2.2rc1.tar.gz
> 
> New features and bug fixes
> 
>   + a memory leak was fixed in Rivet_Var (src/mod_rivet_ng/rivetCore.c)
> 
>   + Installation and TEA scripts were updated
> 
>   + The form [::rivet::var all] accepts an optional flat list argument 
> of key-value pairs which are defaults for an application query variables 
> (yes, this argument must be interpreted as a dictionary). This form 
> generalizes the [::rivet::var get <varname> <default>] form.
> 
>   + Tests for this new form were added and also ::rivet::var tests in 
> general were improved
> 
>   + Configuration directive HonorHeaderOnlyReqs, though still supported, 
> was renamed as HonorHeadRequests. Speaking the HTTP related parlance I 
> think this a better wording of this directive (suggestions? Like 
> dropping support for this directive and honor HTTP head requests every 
> time?)

Dear Massimo,

thank you for the great and detail work.
I am in favor of all those changes.

My thought about the head request: head requests are standard for http 
since the beginning. I would just honor them always. They are part of 
http and should be supported in a standard way.

Thank you,
Harald

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org