aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gftp/gftp/gftp-2.0.18-ipv6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gftp/gftp/gftp-2.0.18-ipv6.patch')
-rw-r--r--recipes/gftp/gftp/gftp-2.0.18-ipv6.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/recipes/gftp/gftp/gftp-2.0.18-ipv6.patch b/recipes/gftp/gftp/gftp-2.0.18-ipv6.patch
new file mode 100644
index 0000000000..05454211b8
--- /dev/null
+++ b/recipes/gftp/gftp/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)
+
+--- a/trunk/lib/misc.c 2006/07/20 02:32:58 784
++++ b/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,