summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2007-01-14 20:05:42 +0000
committerMart Raudsepp <leio@gentoo.org>2007-01-14 20:05:42 +0000
commitc3b83f4e1900b2ab023e1f972636e4e818b85dbb (patch)
tree8eb514be1ab1a1b71a223fdbcd139a13b66ee384 /net-ftp/gftp
parentMake QA_TEXTRELS also apply to amd64 (diff)
downloadgentoo-2-c3b83f4e1900b2ab023e1f972636e4e818b85dbb.tar.gz
gentoo-2-c3b83f4e1900b2ab023e1f972636e4e818b85dbb.tar.bz2
gentoo-2-c3b83f4e1900b2ab023e1f972636e4e818b85dbb.zip
Fix bug 100187 and bug 137257, thanks to Kai Blaschke and Konstantin
(Portage version: 2.1.2_rc4-r9)
Diffstat (limited to 'net-ftp/gftp')
-rw-r--r--net-ftp/gftp/ChangeLog11
-rw-r--r--net-ftp/gftp/files/digest-gftp-2.0.18-r53
-rw-r--r--net-ftp/gftp/files/gftp-2.0.18-ipv6.patch33
-rw-r--r--net-ftp/gftp/files/gftp-2.0.18-ssl-wildcardcert.patch22
-rw-r--r--net-ftp/gftp/gftp-2.0.18-r5.ebuild47
5 files changed, 114 insertions, 2 deletions
diff --git a/net-ftp/gftp/ChangeLog b/net-ftp/gftp/ChangeLog
index c41663bd3e68..62f219c217e5 100644
--- a/net-ftp/gftp/ChangeLog
+++ b/net-ftp/gftp/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-ftp/gftp
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/ChangeLog,v 1.56 2006/08/28 16:44:40 compnerd Exp $
+# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/ChangeLog,v 1.57 2007/01/14 20:05:42 leio Exp $
+
+*gftp-2.0.18-r5 (14 Jan 2007)
+
+ 14 Jan 2007; Mart Raudsepp <leio@gentoo.org>
+ +files/gftp-2.0.18-ipv6.patch, +files/gftp-2.0.18-ssl-wildcardcert.patch,
+ +gftp-2.0.18-r5.ebuild:
+ Fix bug 100187 and bug 137257, thanks to Kai Blaschke and Konstantin
28 Aug 2006; Saleem Abdulrasool <compnerd@gentoo.org>
-files/gftp-2.0.15-64bit_fixes.patch, -files/gftp-2.0.16-ipv6_fix.patch,
diff --git a/net-ftp/gftp/files/digest-gftp-2.0.18-r5 b/net-ftp/gftp/files/digest-gftp-2.0.18-r5
new file mode 100644
index 000000000000..a5e7dd4f3967
--- /dev/null
+++ b/net-ftp/gftp/files/digest-gftp-2.0.18-r5
@@ -0,0 +1,3 @@
+MD5 44b19442d06f6dc68c7211d66029d826 gftp-2.0.18.tar.bz2 1374850
+RMD160 0e0daea8543ae822b25635647360193362a2648d gftp-2.0.18.tar.bz2 1374850
+SHA256 8145e18d1edf13e8cb6cd7a69bb69de5c46307086997755654488fb8282d38a2 gftp-2.0.18.tar.bz2 1374850
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,
diff --git a/net-ftp/gftp/files/gftp-2.0.18-ssl-wildcardcert.patch b/net-ftp/gftp/files/gftp-2.0.18-ssl-wildcardcert.patch
new file mode 100644
index 000000000000..202b2931c958
--- /dev/null
+++ b/net-ftp/gftp/files/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/net-ftp/gftp/gftp-2.0.18-r5.ebuild b/net-ftp/gftp/gftp-2.0.18-r5.ebuild
new file mode 100644
index 000000000000..1d1e2b524d24
--- /dev/null
+++ b/net-ftp/gftp/gftp-2.0.18-r5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/gftp-2.0.18-r5.ebuild,v 1.1 2007/01/14 20:05:42 leio Exp $
+
+inherit eutils
+
+DESCRIPTION="Gnome based FTP Client"
+SRC_URI="http://www.gftp.org/${P}.tar.bz2"
+HOMEPAGE="http://www.gftp.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gtk ssl"
+
+RDEPEND=">=dev-libs/glib-2
+ sys-devel/gettext
+ sys-libs/ncurses
+ sys-libs/readline
+ gtk? ( >=x11-libs/gtk+-2 )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # patch to allow fetching of ssh2 files
+ # that are read-only, see bug #91269 and upstream link.
+ epatch "${FILESDIR}/${P}-ssh2-read.patch"
+ # patch to allow for wildcard SSL certificates
+ epatch "${FILESDIR}/${P}-ssl-wildcardcert.patch"
+ # patch to not crash on IPv6 enabled hosts or on IPv4 transfer with the "ignore PASV address" function
+ epatch "${FILESDIR}/${P}-ipv6.patch"
+
+}
+
+src_compile() {
+ econf $(use_enable gtk gtkport) $(use_enable ssl) || die "configure failed"
+ emake || die "make failed"
+}
+
+src_install() {
+ make DESTDIR=${D} install || die "install failed"
+ dodoc ChangeLog* README* THANKS TODO docs/USERS-GUIDE
+}