You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2009/01/09 20:48:44 UTC
svn commit: r733134 - in /httpd/httpd/trunk: CHANGES server/protocol.c
Author: covener
Date: Fri Jan 9 11:48:43 2009
New Revision: 733134
URL: http://svn.apache.org/viewvc?rev=733134&view=rev
Log:
EBCDIC fix for ap_send_interim_response()
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/server/protocol.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=733134&r1=733133&r2=733134&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Fri Jan 9 11:48:43 2009
@@ -2,6 +2,10 @@
Changes with Apache 2.3.2
[ When backported to 2.2.x, remove entry from this file ]
+ *) core: Translate the the status line to ASCII on EBCDIC platforms in
+ ap_send_interim_response(), affecting interim responses such as those
+ forwarded by mod_proxy_http. [Eric Covener]
+
*) mod_authnz_ldap: Reduce number of initialization debug messages and make
information more clear. PR 46342 [Dan Poirier]
Modified: httpd/httpd/trunk/server/protocol.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/protocol.c?rev=733134&r1=733133&r2=733134&view=diff
==============================================================================
--- httpd/httpd/trunk/server/protocol.c (original)
+++ httpd/httpd/trunk/server/protocol.c Fri Jan 9 11:48:43 2009
@@ -1646,6 +1646,7 @@
AP_DECLARE(void) ap_send_interim_response(request_rec *r, int send_headers)
{
hdr_ptr x;
+ char *status_line = NULL;
if (r->proto_num < 1001) {
/* don't send interim response to HTTP/1.0 Client */
@@ -1665,9 +1666,13 @@
return;
}
+ status_line = apr_pstrcat(r->pool, AP_SERVER_PROTOCOL, " ", r->status_line, CRLF, NULL);
+ ap_xlate_proto_to_ascii(status_line, strlen(status_line));
+
x.f = r->connection->output_filters;
x.bb = apr_brigade_create(r->pool, r->connection->bucket_alloc);
- ap_fputstrs(x.f, x.bb, AP_SERVER_PROTOCOL, " ", r->status_line, CRLF, NULL);
+
+ ap_fputstrs(x.f, x.bb, status_line, NULL);
if (send_headers) {
apr_table_do(send_header, &x, r->headers_out, NULL);
apr_table_clear(r->headers_out);