www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David J N Begley <d.beg...@uws.edu.au>
Subject Re: general/8711: HTTP authentication variables not propogated to Action scripts
Date Thu, 15 Nov 2001 07:57:47 GMT
On 14 Nov 2001, slive@apache.org wrote:

> If there are no outstanding questions, please consider this a request to
> try to reproduce the problem with the latest software release, if one has
> been made since last contact.

Tested again on Apache/2.0.28 - problem still persists.  Example regular CGI
script (that works):

  #! /sbin/sh
  set -f
  echo Content-type: text/plain
  echo
  echo SERVER_SOFTWARE = $SERVER_SOFTWARE
  echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
  echo SERVER_PROTOCOL = $SERVER_PROTOCOL
  echo HTTP_USER_AGENT = $HTTP_USER_AGENT
  echo
  echo REMOTE_ADDR = $REMOTE_ADDR
  echo REMOTE_USER = $REMOTE_USER
  echo AUTH_TYPE = $AUTH_TYPE

Example PHP script, called as an Apache "Action" with PHP configured to use
the CGI interface (wherein REMOTE_USER and AUTH_TYPE are always missing):

  <?php
    header("Content-type: text/plain");
    print "SERVER_SOFTWARE = " . $HTTP_ENV_VARS["SERVER_SOFTWARE"] . "\n";
    print "GATEWAY_INTERFACE = " . $HTTP_ENV_VARS["GATEWAY_INTERFACE"] . "\n";
    print "SERVER_PROTOCOL = " . $HTTP_ENV_VARS["SERVER_PROTOCOL"] . "\n";
    print "HTTP_USER_AGENT = " . $HTTP_ENV_VARS["HTTP_USER_AGENT"] . "\n";
    print "\n";
    print "REMOTE_ADDR = " . $HTTP_ENV_VARS["REMOTE_ADDR"] . "\n";
    print "REMOTE_USER = " . $HTTP_ENV_VARS["REMOTE_USER"] . "\n";
    print "AUTH_TYPE = " . $HTTP_ENV_VARS["AUTH_TYPE"] . "\n";
  ?>

Works under 1.3.22, fails under 2.0.28.  Manual TELNET to the port and request
(GET) the PHP script results in an "Authorization Required" error indicating
that the authentication side of things is definitely configured correctly.

Basic Apache compilation information includes:

  [ httpd -V ]
  Server version: Apache/2.0.28
  Server built:   Nov 15 2001 17:24:48
  Server's Module Magic Number: 20011002:0
  Server compiled with....
   -D APACHE_MPM_DIR="server/mpm/prefork"
   -D APR_FILE_BASED_SHM
   -D APR_HAS_MMAP
   -D APR_USE_FCNTL_SERIALIZE
   -D APR_USE_PTHREAD_SERIALIZE
   -D APR_HAS_OTHER_CHILD
   -D AP_HAVE_RELIABLE_PIPED_LOGS
   -D HTTPD_ROOT="/opt/cwis"
   -D SUEXEC_BIN="/opt/cwis/bin/suexec"
   -D DEFAULT_ERRORLOG="logs/error_log"
   -D SERVER_CONFIG_FILE="conf/httpd.conf"

  [ /server-info ]
  Server Version: Apache/2.0.28 (Unix)
  Server Built: Nov 15 2001 17:24:48
  API Version: 20011002:0
  Hostname/port: bofh.uws.edu.au:0
  Timeouts: connection: 300    keep-alive: 15
  MPM Name: Prefork
  MPM Information: Max Daemons: 20 Threaded: no Forked: yes
  Server Root: /opt/cwis
  Config File: conf/httpd.conf

(Shouldn't the port number be "80" instead of "0"?  There is no "Port"
directive in httpd.conf, just a single "Listen" directive which *does* include
port 80 as ":80" after the IP address.  Apache is correctly ignoring the
other interfaces/IPs on this machine and only listening on the one IP on port
80.)

Any other information you need?


Mime
View raw message