You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@apache.org on 2001/07/30 13:34:01 UTC
cvs commit: apache-1.3/src/modules/proxy proxy_connect.c
martin 01/07/30 04:34:01
Modified: src CHANGES
src/modules/proxy proxy_connect.c
Log:
EBCDIC: The proxy, when used in a proxy chain, "forgot" to
convert the "CONNECT host:port HTTP/1.0" request line to ASCII
before contacting the next proxy, and was thus unusable for
SSL proxying.
Revision Changes Path
1.1696 +5 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1695
retrieving revision 1.1696
diff -u -r1.1695 -r1.1696
--- CHANGES 2001/07/29 21:37:46 1.1695
+++ CHANGES 2001/07/30 11:34:01 1.1696
@@ -1,5 +1,10 @@
Changes with Apache 1.3.21
+ *) EBCDIC: The proxy, when used in a proxy chain, "forgot" to
+ convert the "CONNECT host:port HTTP/1.0" request line to ASCII
+ before contacting the next proxy, and was thus unusable for
+ SSL proxying. [Martin Kraemer]
+
*) SECURITY: Make support/split-logfile use the default log file if
"/" or "\" are present in the virtual host name. This prevents
the possible use of specially crafted virtual host names in
1.44 +9 -0 apache-1.3/src/modules/proxy/proxy_connect.c
Index: proxy_connect.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_connect.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- proxy_connect.c 2001/01/15 17:05:29 1.43
+++ proxy_connect.c 2001/07/30 11:34:01 1.44
@@ -227,9 +227,18 @@
Explain0("Sending the CONNECT request to the remote proxy");
ap_snprintf(buffer, sizeof(buffer), "CONNECT %s HTTP/1.0" CRLF,
r->uri);
+#ifdef CHARSET_EBCDIC
+ /* We are writing to the pure socket,
+ * so we must convert our string to ASCII first
+ */
+ ebcdic2ascii(buffer, buffer, strlen(buffer));
+#endif
send(sock, buffer, strlen(buffer),0);
ap_snprintf(buffer, sizeof(buffer),
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
+#ifdef CHARSET_EBCDIC
+ ebcdic2ascii(buffer, buffer, strlen(buffer));
+#endif
send(sock, buffer, strlen(buffer),0);
}
else {