It's not a matter of php cgi just having a couple bugs, it was completely broken. If we don't put it in 4.3, pull the cgi module out entirely because it's useless. Yet another point of view also, since no one has seriously complained about it's brokeness, it can't realy effect many people either if it is in 4.3.
Shane

Andi Gutmans wrote:
Are you sure we should have this stuff in the branch of 4.3? Are these bugs which didn't exist in 4.2.3?
If they did exist I'm -1. If they didn't exist then that's life and the patch should stay in but people familiar with CGI should review it carefully.

Andi

At 02:21 AM 12/2/2002 +0000, Shane Caraveo wrote:

shane Sun Dec 1 21:21:01 2002 EDT

Modified files: (Branch: PHP_4_3)
/php4/sapi/cgi cgi_main.c
Log:
MFH


Index: php4/sapi/cgi/cgi_main.c
diff -u php4/sapi/cgi/cgi_main.c:1.190.2.6 php4/sapi/cgi/cgi_main.c:1.190.2.7
--- php4/sapi/cgi/cgi_main.c:1.190.2.6 Sun Dec 1 18:27:14 2002
+++ php4/sapi/cgi/cgi_main.c Sun Dec 1 21:21:01 2002
@@ -369,6 +369,7 @@
} else {
snprintf(buf,len-1,"%s=", name);
}
+
#if PHP_FASTCGI
/* when php is started by mod_fastcgi, no regular environment
is provided to PHP. It is always sent to PHP at the start
@@ -597,8 +598,10 @@
struct stat st;
char *env_script_name = sapi_cgibin_getenv("SCRIPT_NAME",0 TSRMLS_CC);
char *env_path_info = sapi_cgibin_getenv("PATH_INFO",0 TSRMLS_CC);
+ char *env_redirect_url = sapi_cgibin_getenv("REDIRECT_URL",0 TSRMLS_CC);
if (env_path_info) env_path_info = estrdup(env_path_info);
- if (sapi_cgibin_getenv("REDIRECT_URL",0 TSRMLS_CC) ||
+
+ if (env_redirect_url ||
(env_script_name && env_path_info &&
strcmp(env_path_info,env_script_name)==0)) {
/*
@@ -611,6 +614,8 @@
*/

_sapi_cgibin_putenv("SCRIPT_FILENAME",env_path_translated TSRMLS_CC);
_sapi_cgibin_putenv("PATH_INFO",NULL TSRMLS_CC);
+ if (env_redirect_url)
+ _sapi_cgibin_putenv("SCRIPT_NAME",env_redirect_url TSRMLS_CC);
}

if (stat( env_path_translated, &st ) == -1 ) {
@@ -620,7 +625,7 @@

while( (ptr = strrchr(pt,'/')) || (ptr = strrchr(pt,'\\')) ) {
*ptr = 0;
- if ( lstat(pt, &st) == 0 && S_ISREG(st.st_mode) ) {
+ if ( stat(pt, &st) == 0 && S_ISREG(st.st_mode) ) {
/*
* okay, we found the base script!
* work out how many chars we had to strip off;



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



--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to