You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1998/09/04 21:45:01 UTC

Hmmm... nice problem with CGIs and Env variables

Hmmmm... I've currently enhanced the environment variable support for mod_ssl
2.1 and there I've now create variables longer than 80 characters in length.
When I strip these variables down to 80 chars in length, all works fine. When
I strip e.g. after 100 chars, Apache hangs.  Same when I set the full contents
to the variable (length 1052 bytes - it's a PEM encoded certificate, BTW).
When it's longer than 80 chars it hangs.

When I run the beast with -X and break after some time I always get:

(gdb) bt
#0  0x201079e1 in select ()
#1  0x28e50 in ap_send_fb_length (fb=0xd7b64, r=0xd6034, length=-1) at
http_protocol.c:1760
#2  0x28c60 in ap_send_fb (fb=0xd7b64, r=0xd6034) at http_protocol.c:1693
#3  0xcf34 in cgi_handler (r=0xd6034) at mod_cgi.c:546
#4  0x1aceb in ap_invoke_handler (r=0xd6034) at http_config.c:505
#5  0x2bd39 in process_request_internal (r=0xd6034) at http_request.c:1174
#6  0x2bd6d in ap_process_request (r=0xd6034) at http_request.c:1191
#7  0x25108 in child_main (child_num_arg=0) at http_main.c:3665
#8  0x25243 in make_child (s=0x9b034, slot=0, now=904937774) at
http_main.c:3738
#9  0x25331 in startup_children (number_to_start=5) at http_main.c:3812
#10 0x25a62 in standalone_main (argc=3, argv=0xefbfd66c) at http_main.c:4090
#11 0x260f9 in main (argc=3, argv=0xefbfd66c) at http_main.c:4367

In other words: The whole processing was done right up to the point where
mod_cgi sends the body of the script to the client.  Here it hangs after a few
KB in the select(). "ps" shows a "piperd". The script itself is the printenv
script. 

The question now is: Have we hard-coded any limits on the length for CGI
variables anywhere? I cannot find a limit, but perhaps it's there. 
Any clues?
                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com