summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-12-31 19:22:01 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-12-31 19:22:01 +0000
commit96489b417845c5ee2e36f42142c97286bd28afbd (patch)
treebeb000773a55496b5b317ddc4c1fafe747eac1e8
parentb8003b84612f373267fd311be1946d30b38e74d3 (diff)
downloadphp-git-96489b417845c5ee2e36f42142c97286bd28afbd.tar.gz
Fixed bug #39984 (redirect response code in header() could be ignored in
CGI sapi).
-rw-r--r--NEWS2
-rw-r--r--main/SAPI.c4
2 files changed, 5 insertions, 1 deletions
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")) {