summaryrefslogtreecommitdiff
path: root/sapi/thttpd
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>2005-03-14 19:25:39 +0000
committerRasmus Lerdorf <rasmus@php.net>2005-03-14 19:25:39 +0000
commit3c0411c496e1b70dd09b094301a4f4a39d8fecab (patch)
treec582f89d9b2d5b12577127ff737da4d37f85829f /sapi/thttpd
parent1dbc47c43f3bf34cc642a4b79bac9e60d20128bd (diff)
downloadphp-git-3c0411c496e1b70dd09b094301a4f4a39d8fecab.tar.gz
Fix for bug #32263
This adds proto_num to request_info. It is defaulted to HTTP 1.0 (1000) such that it has a valid value even if the underlying sapi doesn't set it correctly. It is then used to determine if a 302 or a 303 should be sent on a Location redirect. Any non GET/HEAD HTTP 1.1 redirect will get a 303 instead of a 302 to be compatible with the HTTP spec.
Diffstat (limited to 'sapi/thttpd')
-rw-r--r--sapi/thttpd/thttpd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sapi/thttpd/thttpd.c b/sapi/thttpd/thttpd.c
index 16dcb09553..1bd532bbe2 100644
--- a/sapi/thttpd/thttpd.c
+++ b/sapi/thttpd/thttpd.c
@@ -451,6 +451,8 @@ static void thttpd_request_ctor(TSRMLS_D)
smart_str_0(&s);
SG(request_info).request_uri = s.c;
SG(request_info).request_method = httpd_method_str(TG(hc)->method);
+ if (TG(hc)->one_one) SG(request_info).proto_num = 1001;
+ else SG(request_info).proto_num = 1000;
SG(sapi_headers).http_response_code = 200;
if (TG(hc)->contenttype)
SG(request_info).content_type = strdup(TG(hc)->contenttype);