From: Ilia Alshanetsky Date: Sun, 31 Dec 2006 19:22:01 +0000 (+0000) Subject: Fixed bug #39984 (redirect response code in header() could be ignored in X-Git-Tag: php-5.2.1RC2~25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=96489b417845c5ee2e36f42142c97286bd28afbd;p=php Fixed bug #39984 (redirect response code in header() could be ignored in CGI sapi). --- diff --git a/NEWS b/NEWS index b334edefc5..7730388eb5 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,8 @@ PHP NEWS __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes) - Fixed the validate email filter so that the letter "v" can also be used in the user part of the email address. (Derick) +- Fixed bug #39984 (redirect response code in header() could be ignored in + CGI sapi). (Ilia) - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for timestamp fields). (Ilia) - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks) (judas dot diff --git a/main/SAPI.c b/main/SAPI.c index 8abca79ed2..4c14712a19 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -631,7 +631,9 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) SG(sapi_headers).http_response_code > 307) && SG(sapi_headers).http_response_code != 201) { /* Return a Found Redirect if one is not already specified */ - if(SG(request_info).proto_num > 1000 && + if (http_response_code) { /* user specified redirect code */ + sapi_update_response_code(http_response_code TSRMLS_CC); + } else if (SG(request_info).proto_num > 1000 && SG(request_info).request_method && strcmp(SG(request_info).request_method, "HEAD") && strcmp(SG(request_info).request_method, "GET")) {