ASF Bugzilla – Attachment 19050 Details for
Bug 40841
mod_proxy_ftp segfaults on IPv4 requests to hosts with DNS AAAA records
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for APR and mod_proxy_ftp
ftp.diff (text/plain), 1.98 KB, created by
Andrew Rucker Jones
on 2006-10-29 07:05:48 UTC
(
hide
)
Description:
Patch for APR and mod_proxy_ftp
Filename:
MIME Type:
Creator:
Andrew Rucker Jones
Created:
2006-10-29 07:05:48 UTC
Size:
1.98 KB
patch
obsolete
>diff -ur httpd-2.2.3/modules/proxy/mod_proxy_ftp.c httpd-2.2.3-new/modules/proxy/mod_proxy_ftp.c >--- httpd-2.2.3/modules/proxy/mod_proxy_ftp.c 2006-07-12 05:38:44.000000000 +0200 >+++ httpd-2.2.3-new/modules/proxy/mod_proxy_ftp.c 2006-10-29 15:05:49.000000000 +0100 >@@ -1213,7 +1213,7 @@ > "proxy: FTP: EPSV contacting remote host on port %d", > data_port); > >- if ((rv = apr_socket_create(&data_sock, connect_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) { >+ if ((rv = apr_socket_create(&data_sock, origin->remote_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) { > ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, > "proxy: FTP: error creating EPSV socket"); > proxy_ftp_cleanup(r, backend); >@@ -1232,7 +1232,7 @@ > /* make the connection */ > apr_socket_addr_get(&data_addr, APR_REMOTE, sock); > apr_sockaddr_ip_get(&data_ip, data_addr); >- apr_sockaddr_info_get(&epsv_addr, data_ip, connect_addr->family, data_port, 0, p); >+ apr_sockaddr_info_get(&epsv_addr, data_ip, origin->remote_addr->family, data_port, 0, p); > rv = apr_socket_connect(data_sock, epsv_addr); > if (rv != APR_SUCCESS) { > ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server, >diff -ur httpd-2.2.3/srclib/apr/network_io/unix/sockets.c httpd-2.2.3-new/srclib/apr/network_io/unix/sockets.c >--- httpd-2.2.3/srclib/apr/network_io/unix/sockets.c 2005-12-08 18:24:36.000000000 +0100 >+++ httpd-2.2.3-new/srclib/apr/network_io/unix/sockets.c 2006-10-29 10:12:52.000000000 +0100 >@@ -255,7 +255,11 @@ > > apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa) > { >- int rc; >+ int rc; >+ >+ /* Basic error checking. */ >+ if (sa == NULL) return APR_EBADIP; >+ if (sock == NULL) return APR_ENOSOCKET; > > do { > rc = connect(sock->socketdes,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 40841
: 19050 |
29281