From: Ilia Alshanetsky Date: Mon, 9 Feb 2004 23:27:43 +0000 (+0000) Subject: Fixed bug #27196 (Missing content_length initialization in apache 2 sapis). X-Git-Tag: php-5.0.0b4RC1~77 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67dd730546618dd99ebd48ebf2f10da493a90756;p=php Fixed bug #27196 (Missing content_length initialization in apache 2 sapis). --- diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index 570d012328..22df068626 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -376,6 +376,7 @@ static int php_input_filter(ap_filter_t *f, apr_bucket_brigade *bb, static void php_apache_request_ctor(ap_filter_t *f, php_struct *ctx TSRMLS_DC) { char *content_type; + char *content_length; const char *auth; PG(during_request_startup) = 0; @@ -394,6 +395,10 @@ static void php_apache_request_ctor(ap_filter_t *f, php_struct *ctx TSRMLS_DC) SG(request_info).post_data_length = ctx->post_len; efree(content_type); + + content_length = (char *) apr_table_get(f->r->headers_in, "Content-Length"); + SG(request_info).content_length = (content_length ? atoi(content_length) : 0); + apr_table_unset(f->r->headers_out, "Content-Length"); apr_table_unset(f->r->headers_out, "Last-Modified"); apr_table_unset(f->r->headers_out, "Expires"); diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index e00687f9cb..e6faeb20b5 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -409,6 +409,7 @@ static apr_status_t php_server_context_cleanup(void *data_) static void php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC) { char *content_type; + char *content_length; const char *auth; SG(sapi_headers).http_response_code = !r->status ? HTTP_OK : r->status; @@ -423,6 +424,9 @@ static void php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC) ap_set_content_type(r, apr_pstrdup(r->pool, content_type)); efree(content_type); + content_length = (char *) apr_table_get(f->r->headers_in, "Content-Length"); + SG(request_info).content_length = (content_length ? atoi(content_length) : 0); + apr_table_unset(r->headers_out, "Content-Length"); apr_table_unset(r->headers_out, "Last-Modified"); apr_table_unset(r->headers_out, "Expires");