Changes with Apache 2.0.51
+ *) Small fix to allow reverse proxying to an ftp server. Previously
+ an attempt to do this would try and connect to 0.0.0.0, regardless
+ of the server specified. PR 24922
+ [Pascal Terjan <pterjan@linuxfr.org>]
+
*) Add the NOTICE file to the rpm spec file in compliance with the
Apache v2.0 license. [Graham Leggett]
APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2004/07/02 17:42:54 $]
+Last modified at [$Date: 2004/07/03 12:48:00 $]
Release:
docs/manual/mod/mod_ldap.xml r1.12
+1 minfrin, bnicholes, trawick
- *) Small fix to allow reverse proxying to an ftp server. Previously
- an attempt to do this would try and connect to 0.0.0.0, regardless
- of the server specified.
- modules/proxy/proxy_ftp.c r1.143
- PR 24922 [Pascal Terjan <pterjan@linuxfr.org>]
- +1: minfrin, nd, jim
-
*) Prevent Win32 pool corruption at startup
server/mpm/winnt/child.c: r1.36
+1: ake, trawick, nd, stoddard
char buffer[MAX_STRING_LEN];
char *ftpmessage = NULL;
char *path, *strp, *type_suffix, *cwd = NULL;
+ apr_uri_t uri;
char *user = NULL;
/* char *account = NULL; how to supply an account in a URL? */
const char *password = NULL;
if (r->method_number != M_GET)
return HTTP_NOT_IMPLEMENTED;
-
/* We break the URL into host, port, path-search */
- connectname = r->parsed_uri.hostname;
- connectport = (r->parsed_uri.port != 0)
- ? r->parsed_uri.port
- : apr_uri_port_of_scheme("ftp");
- path = apr_pstrdup(p, r->parsed_uri.path);
+ if (r->parsed_uri.hostname == NULL) {
+ if (APR_SUCCESS != apr_uri_parse(p, url, &uri)) {
+ return ap_proxyerror(r, HTTP_BAD_REQUEST,
+ apr_psprintf(p, "URI cannot be parsed: %s", url));
+ }
+ connectname = uri.hostname;
+ connectport = uri.port;
+ path = apr_pstrdup(p, uri.path);
+ }
+ else {
+ connectname = r->parsed_uri.hostname;
+ connectport = r->parsed_uri.port;
+ path = apr_pstrdup(p, r->parsed_uri.path);
+ }
+ if (connectport == 0) {
+ connectport = apr_uri_port_of_scheme("ftp");
+ }
path = (path != NULL && path[0] != '\0') ? &path[1] : "";
type_suffix = strchr(path, ';');