You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2007/12/08 15:04:34 UTC
svn commit: r602470 - in /httpd/httpd/branches/2.2.x: CHANGES STATUS
modules/http/http_filters.c
Author: jim
Date: Sat Dec 8 06:04:34 2007
New Revision: 602470
URL: http://svn.apache.org/viewvc?rev=602470&view=rev
Log:
* http_filters: Fix handling of unrecognised Transfer Encodings
Modified:
httpd/httpd/branches/2.2.x/CHANGES
httpd/httpd/branches/2.2.x/STATUS
httpd/httpd/branches/2.2.x/modules/http/http_filters.c
Modified: httpd/httpd/branches/2.2.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?rev=602470&r1=602469&r2=602470&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.2.x/CHANGES [utf-8] Sat Dec 8 06:04:34 2007
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.2.7
+ *) core: Handle unrecognised transfer-encodings.
+ PR 43882 [Nick Kew, Jeff Trawick]
+
*) mod_include: Add an "if" directive syntax to test whether an URL
is accessible, and if so, conditionally display content. This
allows a webmaster to hide a link to a private page when the user
Modified: httpd/httpd/branches/2.2.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/STATUS?rev=602470&r1=602469&r2=602470&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/STATUS (original)
+++ httpd/httpd/branches/2.2.x/STATUS Sat Dec 8 06:04:34 2007
@@ -79,13 +79,6 @@
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * http_filters: Fix handling of unrecognised Transfer Encodings
- PR 43882
- http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_filters.c?r1=592951&r2=599137
- http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?r1=595672&r2=595671&pathrev=595672 (CHANGES)
- +1: niq, rpluem, jim
- niq says: modified in 599059 (following suggestion by trawick)
-
* mod_ssl: Enable to build with OpenSSL 0.9.9
trunk:
http://svn.apache.org/viewvc?view=rev&revision=598019
Modified: httpd/httpd/branches/2.2.x/modules/http/http_filters.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/http/http_filters.c?rev=602470&r1=602469&r2=602470&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/http/http_filters.c (original)
+++ httpd/httpd/branches/2.2.x/modules/http/http_filters.c Sat Dec 8 06:04:34 2007
@@ -115,8 +115,30 @@
if (!strcasecmp(tenc, "chunked")) {
ctx->state = BODY_CHUNK;
}
+ /* test lenp, because it gives another case we can handle */
+ else if (!lenp) {
+ /* Something that isn't in HTTP, unless some future
+ * edition defines new transfer ecodings, is unsupported.
+ */
+ apr_bucket_brigade *bb;
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r,
+ "Unknown Transfer-Encoding: %s", tenc);
+ bb = apr_brigade_create(f->r->pool, f->c->bucket_alloc);
+ e = ap_bucket_error_create(HTTP_NOT_IMPLEMENTED, NULL,
+ f->r->pool, f->c->bucket_alloc);
+ APR_BRIGADE_INSERT_TAIL(bb, e);
+ e = apr_bucket_eos_create(f->c->bucket_alloc);
+ APR_BRIGADE_INSERT_TAIL(bb, e);
+ ctx->eos_sent = 1;
+ return ap_pass_brigade(f->r->output_filters, bb);
+ }
+ else {
+ ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, f->r,
+ "Unknown Transfer-Encoding: %s; using Content-Length", tenc);
+ tenc = NULL;
+ }
}
- else if (lenp) {
+ if (lenp && !tenc) {
char *endstr;
ctx->state = BODY_LENGTH;