You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by "R.K.Owen" <rk...@owen.sj.ca.us> on 1999/12/03 19:04:07 UTC
mod_cgi/5413: Environment variable names converted to underscores (_) passed to CGI scripts
>Number: 5413
>Category: mod_cgi
>Synopsis: Environment variable names converted to underscores (_) passed to CGI scripts
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: apache
>State: open
>Class: sw-bug
>Submitter-Id: apache
>Arrival-Date: Fri Dec 3 10:10:01 PST 1999
>Last-Modified:
>Originator: rk@owen.sj.ca.us
>Organization:
apache
>Release: 1.3.9
>Environment:
> uname -a
Linux hooke 2.2.13 #1 Fri Nov 26 23:57:35 PST 1999 i686 unknown
> gcc -v
Reading specs from /usr/local/pkg/gcc/2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.
2/specs
gcc version 2.95.2 19991024 (release)
./configure --with-layout=Owen.layout:Owen \
--with-perl=/usr/local/pkg/perl5/default/bin/perl \
--verbose
Pertinent portion of Owen.layout:
#
# Owen server
<Layout Owen>
prefix: /usr/local/httpd/apache/1.3.9
exec_prefix: $prefix
bindir: $exec_prefix/bin
sbindir: $exec_prefix/bin
libexecdir: $exec_prefix/libexec
mandir: $prefix/man
sysconfdir: /etc+
datadir: /usr/local/httpd/httpd_site
iconsdir: $datadir/icons
htdocsdir: $datadir/htdocs
cgidir: $datadir/cgi-bin
includedir: $prefix/include
runtimedir: $localstatedir/logs
logfiledir: /var/log/httpd
localstatedir: $logfiledir
proxycachedir: $localstatedir/proxy
</Layout>
>Description:
Here is the typical result when I look at the environment variables within
a CGI script (Bourne shell or Perl):
________________ =
Apache/1.3.9 Server at hooke.owen.sj.ca.us Port 80
_______________ = HTTP/1.0
______________ = GET
_____________ = /usr/local/httpd/httpd_site/htdocs
____________ =
___________ = /cgi-bin/printenv
_________ = owen.sj.ca.us
____________________ = en
____ = /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
___________________ = iso-8859-1,*,utf-8
_________________ = CGI/1.1
It appears that the environment variables are passed, but the names/labels have
had each character converted to underscores (_). This causes endless problems
for the Perl scripts.
I have searched the bug list, FAQ, etc. and deja.com to see if anyone else has
reported such a problem ... found nothing close.
>How-To-Repeat:
http://owen.sj.ca.us/cgi-bin/printenv
(It's only available during working hours & the middle of the night -
Pacific Time).
>Fix:
No. However, if you have any ideas where to look ... I can attach to
the process and see what's happening.
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <ap...@Apache.Org> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or ]
["Re: general/1098:"). If the subject doesn't match this ]
[pattern, your message will be misfiled and ignored. The ]
["apbugs" address is not added to the Cc line of messages from ]
[the database automatically because of the potential for mail ]
[loops. If you do not include this Cc, your reply may be ig- ]
[nored unless you are responding to an explicit request from a ]
[developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]