Mercurial > gftp.yaz
changeset 777:f6a3f5677339
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
<aurelien@aurel32.net>) (closes #169671)
author | masneyb |
---|---|
date | Thu, 20 Jul 2006 02:37:45 +0000 |
parents | 26d6b4b53345 |
children | cf2a51deefd8 |
files | ChangeLog lib/misc.c |
diffstat | 2 files changed, 23 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jul 20 02:32:58 2006 +0000 +++ b/ChangeLog Thu Jul 20 02:37:45 2006 +0000 @@ -1,4 +1,8 @@ 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 + <aurelien@aurel32.net>) (closes #169671) + * lib/protocols.c (gftp_get_all_subdirs) - make sure that the memory is properly allocated for the directory. This fixes a crash when stopping a file transfer (from Rob Wilkens <robwilkens@optonline.net>) @@ -3446,7 +3450,7 @@ * cvsclean - added this script - * *.[ch] - added $Id: ChangeLog,v 1.448 2006/07/20 02:32:57 masneyb Exp $ tags + * *.[ch] - added $Id: ChangeLog,v 1.449 2006/07/20 02:37:44 masneyb Exp $ tags * debian/* - updated files from Debian maintainer
--- a/lib/misc.c Thu Jul 20 02:32:58 2006 +0000 +++ b/lib/misc.c Thu Jul 20 02:37:45 2006 +0000 @@ -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,