summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--sapi/apache2handler/sapi_apache2.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index f4c5c42609..6aef47ca31 100644
--- a/NEWS
+++ b/NEWS
@@ -45,6 +45,8 @@ PHP NEWS
read valid db). (Marcus)
- Fixed bug #38680 (Added missing handling of basic types in json_decode).
(Ilia)
+- Fixed bug #38602 (header( "HTTP/1.0 ..." ) does not change proto version).
+ (Ilia)
- Fixed bug #38536 (SOAP returns an array of values instead of an object).
(Dmitry)
- Fixed bug #33282 (Re-assignment by reference does not clear the is_ref flag)
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index e7789cf863..4cb12cb86f 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -129,9 +129,14 @@ php_apache_sapi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
/* httpd requires that r->status_line is set to the first digit of
* the status-code: */
- if (sline && strlen(sline) > 12 && strncmp(sline, "HTTP/1.", 7) == 0
- && sline[8] == ' ') {
+ if (sline && strlen(sline) > 12 && strncmp(sline, "HTTP/1.", 7) == 0 && sline[8] == ' ') {
ctx->r->status_line = apr_pstrdup(ctx->r->pool, sline + 9);
+ ctx->r->proto_num = 1000 + (sline[7]-'0');
+ if ((sline[7]-'0') == 0) {
+ apr_table_set(ctx->r->subprocess_env, "force-response-1.0", "true");
+ } else {
+ apr_table_set(ctx->r->subprocess_env, "force-response-1.1", "true");
+ }
}
/* call ap_set_content_type only once, else each time we call it,