martin 99/04/09 06:06:28
Modified: src CHANGES src/modules/proxy proxy_ftp.c Log: The ftp proxy used to return only the Content-Type (and Content-Size/Encoding if known) header lines, but not more. I had it return the Date: and Server: header lines as well. This code is "somewhat" broken. Revision Changes Path 1.1304 +3 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1303 retrieving revision 1.1304 diff -u -r1.1303 -r1.1304 --- CHANGES 1999/04/09 12:57:04 1.1303 +++ CHANGES 1999/04/09 13:06:26 1.1304 @@ -1,4 +1,5 @@ Changes with Apache 1.3.7 + *) EBCDIC platforms: David submitted patches for two bugs in the MD5 digest port for EBCDIC machines: a) the htdigest utility overwrote the old contents of the digest file @@ -60,6 +61,8 @@ when the encoding is defined (by the AddEncoding directive). Because it was missing, it was almost impossible to browse compressed files using the FTP proxy (works now perfectly in Communicator). + The ftp proxy now also returns the Date: and Server: header lines (if not + much else... This code is "somewhat" broken) like normal requests do. [Martin Kraemer] *) Be more smart in APACI's configure script when determining the UID/GID 1.74 +7 -8 apache-1.3/src/modules/proxy/proxy_ftp.c Index: proxy_ftp.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_ftp.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -r1.73 -r1.74 --- proxy_ftp.c 1999/04/07 21:23:05 1.73 +++ proxy_ftp.c 1999/04/09 13:06:28 1.74 @@ -1125,15 +1125,18 @@ resp_hdrs = ap_make_table(p, 2); c->hdrs = resp_hdrs; + ap_table_setn(resp_hdrs, "Date", ap_gm_timestr_822(r->pool, r->request_time)); + ap_table_setn(resp_hdrs, "Server", ap_get_server_version()); + if (parms[0] == 'd') - ap_table_set(resp_hdrs, "Content-Type", "text/html"); + ap_table_setn(resp_hdrs, "Content-Type", "text/html"); else { if (r->content_type != NULL) { - ap_table_set(resp_hdrs, "Content-Type", r->content_type); + ap_table_setn(resp_hdrs, "Content-Type", r->content_type); Explain1("FTP: Content-Type set to %s", r->content_type); } else { - ap_table_set(resp_hdrs, "Content-Type", ap_default_type(r)); + ap_table_setn(resp_hdrs, "Content-Type", ap_default_type(r)); } if (parms[0] != 'a' && size != NULL) { /* We "trust" the ftp server to really serve (size) bytes... */ @@ -1143,7 +1146,7 @@ } if (r->content_encoding != NULL && r->content_encoding[0] != '\0') { Explain1("FTP: Content-Encoding set to %s", r->content_encoding); - ap_table_set(resp_hdrs, "Content-Encoding", r->content_encoding); + ap_table_setn(resp_hdrs, "Content-Encoding", r->content_encoding); } /* check if NoCache directive on this host */ @@ -1186,10 +1189,6 @@ data = ap_bcreate(p, B_RDWR | B_SOCKET); ap_bpushfd(data, dsock, dsock); } - -#ifdef CHARSET_EBCDIC -/* bsetflag(data, B_ASCII2EBCDIC|B_EBCDIC2ASCII, 0);*/ -#endif /*CHARSET_EBCDIC*/ ap_hard_timeout("proxy receive", r); /* send response */