httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thom May <t...@planetarytramp.net>
Subject Re: cvs commit: httpd-2.0/modules/generators mod_cgi.c mod_cgid.c
Date Sat, 30 Mar 2002 16:14:55 GMT
This change appears to have broken some cgі scripts - cricket
<http://cricket.sourceforge.net/> worked fine in 2.0.33 but in 2.0.34 and
35-dev:

[Sat Mar 30 15:20:03 2002] [error] [client 192.168.0.34] malformed header
from 
: /usr/lib/cgi-bin/cricket/grapher.cgi

Cheers,
-Thom

* trawick@apache.org (trawick@apache.org) wrote :
> trawick     02/03/20 05:57:08
> 
>   Modified:    .        CHANGES
>                modules/generators mod_cgi.c mod_cgid.c
>   Log:
>   Get nph- CGI scripts working again by avoiding filters that can't
>   possibly deal with a script that generates the protocol header.
>   
>   PR:       8902, 8907, 9983
>   
>   Revision  Changes    Path
>   1.648     +3 -0      httpd-2.0/CHANGES
>   
>   Index: CHANGES
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/CHANGES,v
>   retrieving revision 1.647
>   retrieving revision 1.648
>   diff -u -r1.647 -r1.648
>   --- CHANGES	20 Mar 2002 07:10:21 -0000	1.647
>   +++ CHANGES	20 Mar 2002 13:57:07 -0000	1.648
>   @@ -1,5 +1,8 @@
>    Changes with Apache 2.0.34-dev
>    
>   +  *) Get nph- CGI scripts working again.  PRs 8902, 8907, 9983
>   +     [Jeff Trawick]
>   +
>      *) Upgraded PCRE library to latest version 3.9 [Brian Pane]
>    
>      *) Add accessor function to set r->content_type. From now on,
>   
>   
>   
>   1.123     +13 -0     httpd-2.0/modules/generators/mod_cgi.c
>   
>   Index: mod_cgi.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/modules/generators/mod_cgi.c,v
>   retrieving revision 1.122
>   retrieving revision 1.123
>   diff -u -r1.122 -r1.123
>   --- mod_cgi.c	20 Mar 2002 01:58:46 -0000	1.122
>   +++ mod_cgi.c	20 Mar 2002 13:57:08 -0000	1.123
>   @@ -739,6 +739,19 @@
>        }
>    
>        if (script_in && nph) {
>   +        struct ap_filter_t *cur;
>   +        
>   +        /* get rid of all filters up through protocol...  since we
>   +         * haven't parsed off the headers, there is no way they can
>   +         * work
>   +         */
>   +
>   +        cur = r->proto_output_filters;
>   +        while (cur && cur->frec->ftype < AP_FTYPE_CONNECTION) {
>   +            cur = cur->next;
>   +        }
>   +        r->output_filters = r->proto_output_filters = cur;
>   +
>            bb = apr_brigade_create(r->pool);
>    	b = apr_bucket_pipe_create(script_in);
>    	APR_BRIGADE_INSERT_TAIL(bb, b);
>   
>   
>   
>   1.120     +13 -0     httpd-2.0/modules/generators/mod_cgid.c
>   
>   Index: mod_cgid.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/modules/generators/mod_cgid.c,v
>   retrieving revision 1.119
>   retrieving revision 1.120
>   diff -u -r1.119 -r1.120
>   --- mod_cgid.c	20 Mar 2002 01:58:46 -0000	1.119
>   +++ mod_cgid.c	20 Mar 2002 13:57:08 -0000	1.120
>   @@ -1159,11 +1159,24 @@
>        } 
>    
>        if (nph) {
>   +        struct ap_filter_t *cur;
>   +        
>            /* Passing our socket down the filter chain in a pipe bucket
>             * gives up the responsibility of closing the socket, so
>             * get rid of the cleanup.
>             */
>            apr_pool_cleanup_kill(r->pool, (void *)sd, close_unix_socket);
>   +
>   +        /* get rid of all filters up through protocol...  since we
>   +         * haven't parsed off the headers, there is no way they can
>   +         * work
>   +         */
>   +
>   +        cur = r->proto_output_filters;
>   +        while (cur && cur->frec->ftype < AP_FTYPE_CONNECTION) {
>   +            cur = cur->next;
>   +        }
>   +        r->output_filters = r->proto_output_filters = cur;
>    
>            bb = apr_brigade_create(r->pool);
>            b = apr_bucket_pipe_create(tempsock);
>   
>   
>   

Mime
View raw message