diff options
Diffstat (limited to 'net-ftp/gftp/files/gftp-2.0.18-ipv6.patch')
-rw-r--r-- | net-ftp/gftp/files/gftp-2.0.18-ipv6.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/net-ftp/gftp/files/gftp-2.0.18-ipv6.patch b/net-ftp/gftp/files/gftp-2.0.18-ipv6.patch new file mode 100644 index 000000000000..05666d1e183d --- /dev/null +++ b/net-ftp/gftp/files/gftp-2.0.18-ipv6.patch @@ -0,0 +1,33 @@ +2006-7-19 Brian Masney <masneyb@gftp.org> + * lib/misc.c (gftp_copy_request) - fixes when doing an IPv6 transfer or + using ignore PASV address (from (from Aurelien Jarno) (closes GNOME bugzilla #169671) + +--- /trunk/lib/misc.c 2006/07/20 02:32:58 784 ++++ trunk/lib/misc.c 2006/07/20 02:37:45 785 +@@ -568,8 +568,24 @@ + newreq->use_proxy = req->use_proxy; + newreq->logging_function = req->logging_function; + newreq->ai_family = req->ai_family; +- newreq->free_hostp = 0; +- newreq->hostp = NULL; ++ ++ if (req->hostp) ++ { ++#if defined (HAVE_GETADDRINFO) && defined (HAVE_GAI_STRERROR) ++ newreq->hostp = g_malloc (sizeof(struct addrinfo)); ++ memcpy(newreq->hostp, req->hostp, sizeof(struct addrinfo)); ++ if (req->current_hostp) ++ newreq->current_hostp = newreq->hostp + (req->current_hostp - req->hostp); ++#else ++ newreq->hostp = g_malloc (sizeof(struct hostent)); ++ memcpy(newreq->hostp, req->hostp, sizeof(struct hostent)); ++ newreq->host = req->host; ++ newreq->curhost = req->curhost; ++#endif ++ } ++ else ++ newreq->hostp = NULL; ++ newreq->free_hostp = 1; + + gftp_copy_local_options (&newreq->local_options_vars, + &newreq->local_options_hash, |