From 96489b417845c5ee2e36f42142c97286bd28afbd Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 31 Dec 2006 19:22:01 +0000 Subject: Fixed bug #39984 (redirect response code in header() could be ignored in CGI sapi). --- NEWS | 2 ++ main/SAPI.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) 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")) { -- cgit v1.2.1