rasmus          Sat May 13 22:03:51 2006 UTC

  Modified files:              (Branch: PHP_5_1)
    /php-src/sapi/apache        mod_php5.c 
  Log:
  Oh, woops.  The cgi_vars optimization patch snuck in there.  Reverse that
  part.
  
  
http://cvs.php.net/viewcvs.cgi/php-src/sapi/apache/mod_php5.c?r1=1.19.2.8&r2=1.19.2.9&diff_format=u
Index: php-src/sapi/apache/mod_php5.c
diff -u php-src/sapi/apache/mod_php5.c:1.19.2.8 
php-src/sapi/apache/mod_php5.c:1.19.2.9
--- php-src/sapi/apache/mod_php5.c:1.19.2.8     Sat May 13 21:44:04 2006
+++ php-src/sapi/apache/mod_php5.c      Sat May 13 22:03:51 2006
@@ -17,7 +17,7 @@
    | PHP 4.0 patches by Zeev Suraski <[EMAIL PROTECTED]>                      |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php5.c,v 1.19.2.8 2006/05/13 21:44:04 rasmus Exp $ */
+/* $Id: mod_php5.c,v 1.19.2.9 2006/05/13 22:03:51 rasmus Exp $ */
 
 #include "php_apache_http.h"
 #include "http_conf_globals.h"
@@ -93,219 +93,6 @@
 }
 /* }}} */
 
-static char *php_http2env(pool *a, char *w)
-{
-    char *res = ap_pstrcat(a, "HTTP_", w, NULL);
-    char *cp = res;
-
-    while (*++cp) {
-       if (!ap_isalnum(*cp) && *cp != '_') {
-           *cp = '_';
-       }
-       else {
-           *cp = ap_toupper(*cp);
-       }
-    }
-
-    return res;
-}
-
-static char *php_original_uri(request_rec *r)
-{
-    char *first, *last;
-
-    if (r->the_request == NULL) {
-       return (char *) ap_pcalloc(r->pool, 1);
-    }
-
-    first = r->the_request;    /* use the request-line */
-
-    while (*first && !ap_isspace(*first)) {
-       ++first;                /* skip over the method */
-    }
-    while (ap_isspace(*first)) {
-       ++first;                /*   and the space(s)   */
-    }
-
-    last = first;
-    while (*last && !ap_isspace(*last)) {
-       ++last;                 /* end at next whitespace */
-    }
-
-    return ap_pstrndup(r->pool, first, last - first);
-}
-
-static void php_populate_subprocess_env(request_rec *r)
-{
-       table *e;
-       server_rec *s = r->server;
-       conn_rec *c = r->connection;
-       const char *rem_logname;
-       char *env_path;
-#if defined(PHP_WIN32) || defined(OS2)
-       char *env_temp;
-#endif
-       const char *host;
-       array_header *hdrs_arr = ap_table_elts(r->headers_in);
-       table_entry *hdrs = (table_entry *) hdrs_arr->elts;
-       int i;
-
-       e = r->subprocess_env;
-
-#if 0
-       /* use a temporary table which we'll overlap onto
-        * r->subprocess_env later
-        */
-       e = ap_make_table(r->pool, 25 + hdrs_arr->nelts);
-#endif
-
-       /* First, add environment vars from headers... this is as per
-        * CGI specs, though other sorts of scripting interfaces see
-        * the same vars...
-        */
-
-       for (i = 0; i < hdrs_arr->nelts; ++i) {
-               if (!hdrs[i].key) {
-                       continue;
-               }
-
-               /* A few headers are special cased --- Authorization to prevent
-                * rogue scripts from capturing passwords; content-type and 
-length
-                * for no particular reason.
-                */
-
-               if (!strcasecmp(hdrs[i].key, "Content-type")) {
-                       ap_table_addn(e, "CONTENT_TYPE", hdrs[i].val);
-               }
-               else if (!strcasecmp(hdrs[i].key, "Content-length")) {
-                       ap_table_addn(e, "CONTENT_LENGTH", hdrs[i].val);
-               }
-               /*
-                * You really don't want to disable this check, since it leaves 
you
-                * wide open to CGIs stealing passwords and people viewing them
-                * in the environment with "ps -e".  But, if you must...
-                */
-#ifndef SECURITY_HOLE_PASS_AUTHORIZATION
-               else if (!strcasecmp(hdrs[i].key, "Authorization") 
-                                || !strcasecmp(hdrs[i].key, 
"Proxy-Authorization")) {
-                       continue;
-               }
-#endif
-               else {
-                       ap_table_addn(e, php_http2env(r->pool, hdrs[i].key), 
hdrs[i].val);
-               }
-       }
-
-       if (!(env_path = ap_pstrdup(r->pool, getenv("PATH")))) {
-               env_path = DEFAULT_PATH;
-       }
-
-#ifdef PHP_WIN32
-       if (env_temp = getenv("SystemRoot")) {
-               ap_table_addn(e, "SystemRoot", env_temp);         
-       }
-       if (env_temp = getenv("COMSPEC")) {
-               ap_table_addn(e, "COMSPEC", env_temp);            
-       }
-       if (env_temp = getenv("WINDIR")) {
-               ap_table_addn(e, "WINDIR", env_temp);
-       }
-#endif
-
-#ifdef OS2
-       if ((env_temp = getenv("COMSPEC")) != NULL) {
-               ap_table_addn(e, "COMSPEC", env_temp);            
-       }
-       if ((env_temp = getenv("ETC")) != NULL) {
-               ap_table_addn(e, "ETC", env_temp);            
-       }
-       if ((env_temp = getenv("DPATH")) != NULL) {
-               ap_table_addn(e, "DPATH", env_temp);            
-       }
-       if ((env_temp = getenv("PERLLIB_PREFIX")) != NULL) {
-               ap_table_addn(e, "PERLLIB_PREFIX", env_temp);            
-       }
-#endif
-
-       ap_table_addn(e, "PATH", env_path);
-       ap_table_addn(e, "SERVER_SIGNATURE", ap_psignature("", r));
-       ap_table_addn(e, "SERVER_SOFTWARE", ap_get_server_version());
-       ap_table_addn(e, "SERVER_NAME", 
-                                 
ap_escape_html(r->pool,ap_get_server_name(r)));
-       ap_table_addn(e, "SERVER_ADDR", r->connection->local_ip);       /* 
Apache */
-       ap_table_addn(e, "SERVER_PORT",
-                                 ap_psprintf(r->pool, "%u", 
ap_get_server_port(r)));
-       host = ap_get_remote_host(c, r->per_dir_config, REMOTE_HOST);
-       if (host) {
-               ap_table_addn(e, "REMOTE_HOST", host);
-       }
-       ap_table_addn(e, "REMOTE_ADDR", c->remote_ip);
-       ap_table_addn(e, "DOCUMENT_ROOT", ap_document_root(r)); /* Apache */
-       ap_table_addn(e, "SERVER_ADMIN", s->server_admin);      /* Apache */
-       ap_table_addn(e, "SCRIPT_FILENAME", r->filename);       /* Apache */
-
-       ap_table_addn(e, "REMOTE_PORT",
-                                 ap_psprintf(r->pool, "%d", 
ntohs(c->remote_addr.sin_port)));
-
-       if (c->user) {
-               ap_table_addn(e, "REMOTE_USER", c->user);
-       }
-       if (c->ap_auth_type) {
-               ap_table_addn(e, "AUTH_TYPE", c->ap_auth_type);
-       }
-       rem_logname = ap_get_remote_logname(r);
-       if (rem_logname) {
-               ap_table_addn(e, "REMOTE_IDENT", ap_pstrdup(r->pool, 
rem_logname));
-       }
-
-       /* Apache custom error responses. If we have redirected set two new 
vars */
-
-       if (r->prev) {
-               if (r->prev->args) {
-                       ap_table_addn(e, "REDIRECT_QUERY_STRING", 
r->prev->args);
-               }
-               if (r->prev->uri) {
-                       ap_table_addn(e, "REDIRECT_URL", r->prev->uri);
-               }
-       }
-
-#if 0
-       ap_overlap_tables(r->subprocess_env, e, AP_OVERLAP_TABLES_SET);
-#endif
-
-       ap_table_addn(e, "GATEWAY_INTERFACE", "CGI/1.1");
-       ap_table_addn(e, "SERVER_PROTOCOL", r->protocol);
-       ap_table_setn(e, "REQUEST_METHOD", r->method);
-       ap_table_addn(e, "QUERY_STRING", r->args ? r->args : "");
-       ap_table_addn(e, "REQUEST_URI", php_original_uri(r));
-
-       /* Note that the code below special-cases scripts run from includes,
-        * because it "knows" that the sub_request has been hacked to have the
-        * args and path_info of the original request, and not any that may have
-        * come with the script URI in the include command.  Ugh.
-        */
-
-       if (!strcmp(r->protocol, "INCLUDED")) {
-               ap_table_addn(e, "SCRIPT_NAME", r->uri);
-               if (r->path_info && *r->path_info) {
-                       ap_table_setn(e, "PATH_INFO", r->path_info);
-               }
-       }
-       else if (!r->path_info || !*r->path_info) {
-               ap_table_addn(e, "SCRIPT_NAME", r->uri);
-       }
-       else {
-               int path_info_start = ap_find_path_info(r->uri, r->path_info);
-
-               ap_table_addn(e, "SCRIPT_NAME",
-                                         ap_pstrndup(r->pool, r->uri, 
path_info_start));
-
-               ap_table_addn(e, "PATH_INFO", r->path_info);
-       }
-
-       ap_table_addn(e, "PATH_TRANSLATED", r->filename);
-}
-
 /* {{{ sapi_apache_ub_write
  */
 static int sapi_apache_ub_write(const char *str, uint str_length TSRMLS_DC)
@@ -476,7 +263,6 @@
                php_register_variable(elts[i].key, val, track_vars_array  
TSRMLS_CC);
        }
 
-#if 0
        /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */
        if (track_vars_array) {
                symbol_table = track_vars_array->value.ht;
@@ -491,7 +277,6 @@
                && zend_hash_find(symbol_table, "SCRIPT_FILENAME", 
sizeof("SCRIPT_FILENAME"), (void **) &path_translated)==SUCCESS) {
                php_register_variable("PATH_TRANSLATED", 
Z_STRVAL_PP(path_translated), track_vars_array TSRMLS_CC);
        }
-#endif
 
        php_register_variable("PHP_SELF", ((request_rec *) 
SG(server_context))->uri, track_vars_array TSRMLS_CC);
 }
@@ -869,11 +654,8 @@
                SG(server_context) = r;
                
                php_save_umask();
-               php_populate_subprocess_env(r);
-#if 0
                add_common_vars(r);
                add_cgi_vars(r);
-#endif
 
                init_request_info(TSRMLS_C);
                apache_php_module_main(r, display_source_mode TSRMLS_CC);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to