diff options
-rw-r--r-- | recipes/gftp/gftp/gftp-2.0.18-ipv6.patch | 33 | ||||
-rw-r--r-- | recipes/gftp/gftp/gftp-2.0.18-ssh2-read.patch | 13 | ||||
-rw-r--r-- | recipes/gftp/gftp/gftp-2.0.18-ssl-wildcardcert.patch | 22 | ||||
-rw-r--r-- | recipes/gftp/gftp_2.0.18.bb | 7 |
4 files changed, 73 insertions, 2 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, diff --git a/recipes/gftp/gftp/gftp-2.0.18-ssh2-read.patch b/recipes/gftp/gftp/gftp-2.0.18-ssh2-read.patch new file mode 100644 index 0000000000..765741be7b --- /dev/null +++ b/recipes/gftp/gftp/gftp-2.0.18-ssh2-read.patch @@ -0,0 +1,13 @@ +--- gftp-2.0.18.orig/lib/sshv2.c ++++ gftp-2.0.18/lib/sshv2.c +@@ -1841,7 +1841,7 @@ + { + int ret; + +- if ((ret = sshv2_open_file (request, file, startsize, SSH_FXP_OPEN)) < 0) ++ if ((ret = sshv2_open_file (request, file, startsize, SSH_FXF_READ)) < 0) + return (ret); + + return (sshv2_get_file_size (request, file)); + + diff --git a/recipes/gftp/gftp/gftp-2.0.18-ssl-wildcardcert.patch b/recipes/gftp/gftp/gftp-2.0.18-ssl-wildcardcert.patch new file mode 100644 index 0000000000..202b2931c9 --- /dev/null +++ b/recipes/gftp/gftp/gftp-2.0.18-ssl-wildcardcert.patch @@ -0,0 +1,22 @@ +--- lib/sslcommon.c 2005-01-04 14:32:11.000000000 +0100 ++++ lib/sslcommon.c 2006-06-19 15:23:13.000000000 +0200 +@@ -182,7 +182,18 @@ + X509_NAME_get_text_by_NID (subj, NID_commonName, data, 256) > 0) + { + data[sizeof (data) - 1] = '\0'; +- if (strcasecmp (data, request->hostname) != 0) ++ /* Check for wildcard CN (must begin with *.) */ ++ if (strncmp(data, "*.", 2) == 0) ++ { ++ int hostname_len = strlen(data) - 1; ++ if (strlen(request->hostname) > hostname_len && ++ strcasecmp (&(data[1]), &(request->hostname[strlen(request->hostname) - hostname_len])) == 0) ++ ok = 1; ++ } ++ else if (strcasecmp (data, request->hostname) == 0) ++ ok = 1; ++ ++ if (!ok) + { + request->logging_function (gftp_logging_error, request, + _("ERROR: The host in the SSL certificate (%s) does not match the host that we connected to (%s). Aborting connection.\n"), diff --git a/recipes/gftp/gftp_2.0.18.bb b/recipes/gftp/gftp_2.0.18.bb index f5a5047e77..104e7bf953 100644 --- a/recipes/gftp/gftp_2.0.18.bb +++ b/recipes/gftp/gftp_2.0.18.bb @@ -6,11 +6,14 @@ DESCRIPTION = "Free multithreaded file transfer client (FTP/HTTP/SSH)." HOMEPAGE="http://www.gftp.org/" SECTION = "x11/network" LICENSE="GPL" -PR = "r2" +PR = "r3" SRC_URI="http://www.gftp.org/gftp-${PV}.tar.bz2 \ file://configure.patch;patch=1 \ - file://gftp-2.0.18-188252.patch;patch=1 " + file://gftp-2.0.18-188252.patch;patch=1 \ + file://gftp-2.0.18-ipv6.patch;patch=1;pnum=2 \ + file://gftp-2.0.18-ssh2-read.patch;patch=1 \ + file://gftp-2.0.18-ssl-wildcardcert.patch;patch=1;pnum=0 " DEPENDS="gtk+ openssl" |