summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2009-11-30 14:43:22 +0000
committerDmitry Stogov <dmitry@php.net>2009-11-30 14:43:22 +0000
commit38ba16b060883c9ede2d23ff049b4caf792b9c6c (patch)
tree2a30ea45ab9beb6f5c0de0fc330cdf6128dbdd95
parent3487ab7eb998f5190c83b0a5777f1979708c764d (diff)
downloadphp-git-38ba16b060883c9ede2d23ff049b4caf792b9c6c.tar.gz
Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to non-existant file)
-rw-r--r--NEWS2
-rw-r--r--sapi/cgi/cgi_main.c25
2 files changed, 17 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index 10ac56f416..b768692847 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Dec 2009, PHP 5.2.12RC4
- Fixed bug #50266 (conflicting types for llabs). (Jani)
+- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
+ non-existant file). (Dmitry)
27 Nov 2009, PHP 5.2.12RC3
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index dff71ec5d4..797e97cf3d 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -1496,8 +1496,9 @@ int main(int argc, char *argv[])
in case some server does something different than above */
&& (!CGIG(redirect_status_env) || !getenv(CGIG(redirect_status_env)))
) {
- SG(sapi_headers).http_response_code = 400;
- PUTS("<b>Security Alert!</b> The PHP CGI cannot be accessed directly.\n\n\
+ zend_try {
+ SG(sapi_headers).http_response_code = 400;
+ PUTS("<b>Security Alert!</b> The PHP CGI cannot be accessed directly.\n\n\
<p>This PHP CGI binary was compiled with force-cgi-redirect enabled. This\n\
means that a page will only be served up if the REDIRECT_STATUS CGI variable is\n\
set, e.g. via an Apache Action directive.</p>\n\
@@ -1506,7 +1507,8 @@ manual page for CGI security</a>.</p>\n\
<p>For more information about changing this behaviour or re-enabling this webserver,\n\
consult the installation file that came with this distribution, or visit \n\
<a href=\"http://php.net/install.windows\">the manual page</a>.</p>\n");
-
+ } zend_catch {
+ } zend_end_try();
#if defined(ZTS) && !defined(PHP_DEBUG)
/* XXX we're crashing here in msvc6 debug builds at
php_message_handler_for_zend:839 because
@@ -1936,13 +1938,16 @@ consult the installation file that came with this distribution, or visit \n\
running from shell (so fp == NULL), then fail.
*/
if (retval == FAILURE && file_handle.handle.fp == NULL) {
- if (errno == EACCES) {
- SG(sapi_headers).http_response_code = 403;
- PUTS("Access denied.\n");
- } else {
- SG(sapi_headers).http_response_code = 404;
- PUTS("No input file specified.\n");
- }
+ zend_try {
+ if (errno == EACCES) {
+ SG(sapi_headers).http_response_code = 403;
+ PUTS("Access denied.\n");
+ } else {
+ SG(sapi_headers).http_response_code = 404;
+ PUTS("No input file specified.\n");
+ }
+ } zend_catch {
+ } zend_end_try();
#if PHP_FASTCGI
/* we want to serve more requests if this is fastcgi
so cleanup and continue, request shutdown is