summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavis Ormandy <taviso@gentoo.org>2007-03-30 19:52:10 +0000
committerTavis Ormandy <taviso@gentoo.org>2007-03-30 19:52:10 +0000
commitb081ece15d2fca29525c8b1dca1ed3220c24b531 (patch)
treecadc21f95de27b20fcdeedf14a10d20086f4760f /net-misc/snarf
parentDropped ppc-macos keyword, see you in prefix (diff)
downloadgentoo-2-b081ece15d2fca29525c8b1dca1ed3220c24b531.tar.gz
gentoo-2-b081ece15d2fca29525c8b1dca1ed3220c24b531.tar.bz2
gentoo-2-b081ece15d2fca29525c8b1dca1ed3220c24b531.zip
fix some minor off-by-ones in url parsing
(Portage version: 2.1.2.2)
Diffstat (limited to 'net-misc/snarf')
-rw-r--r--net-misc/snarf/ChangeLog8
-rw-r--r--net-misc/snarf/files/digest-snarf-7.0-r33
-rw-r--r--net-misc/snarf/files/snarf-fix-off-by-ones.diff45
-rw-r--r--net-misc/snarf/snarf-7.0-r1.ebuild4
-rw-r--r--net-misc/snarf/snarf-7.0-r3.ebuild35
5 files changed, 92 insertions, 3 deletions
diff --git a/net-misc/snarf/ChangeLog b/net-misc/snarf/ChangeLog
index 9e3a0de8c45d..e90d807b044c 100644
--- a/net-misc/snarf/ChangeLog
+++ b/net-misc/snarf/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/snarf
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/snarf/ChangeLog,v 1.20 2007/02/10 02:54:29 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/snarf/ChangeLog,v 1.21 2007/03/30 19:52:10 taviso Exp $
+
+*snarf-7.0-r3 (30 Mar 2007)
+
+ 30 Mar 2007; Tavis Ormandy <taviso@gentoo.org>
+ +files/snarf-fix-off-by-ones.diff, +snarf-7.0-r3.ebuild:
+ fix some off by ones
10 Feb 2007; Steve Dibb <beandog@gentoo.org> snarf-7.0-r2.ebuild:
amd64 stable, bug 165534
diff --git a/net-misc/snarf/files/digest-snarf-7.0-r3 b/net-misc/snarf/files/digest-snarf-7.0-r3
new file mode 100644
index 000000000000..13ca50eb9931
--- /dev/null
+++ b/net-misc/snarf/files/digest-snarf-7.0-r3
@@ -0,0 +1,3 @@
+MD5 7470d8457bc0d347b5cd8668c9e735c4 snarf-7.0.tar.gz 64495
+RMD160 f546eab5a5d250686306c50f4c676868c6ada32e snarf-7.0.tar.gz 64495
+SHA256 85a0846d452b02eaff225bf68fb36e68dfc55be5a58fda38dcb3602dcc300a89 snarf-7.0.tar.gz 64495
diff --git a/net-misc/snarf/files/snarf-fix-off-by-ones.diff b/net-misc/snarf/files/snarf-fix-off-by-ones.diff
new file mode 100644
index 000000000000..c0556b3ed851
--- /dev/null
+++ b/net-misc/snarf/files/snarf-fix-off-by-ones.diff
@@ -0,0 +1,45 @@
+diff -ruNp snarf-7.0.orig/ftp.c snarf-7.0/ftp.c
+--- snarf-7.0.orig/ftp.c 2000-08-09 00:27:24.000000000 +0100
++++ snarf-7.0/ftp.c 2007-03-30 20:47:46.046783664 +0100
+@@ -89,7 +89,7 @@ get_line(UrlResource *rsrc, int control)
+ char *end;
+ char buf[BUFSIZE+1];
+
+- while( (bytes_read = read(control, buf, BUFSIZE)) ) {
++ while( (bytes_read = read(control, buf, BUFSIZE)) > 0 ) {
+ if( rsrc->options & OPT_VERBOSE )
+ fwrite(buf, 1, bytes_read, stderr);
+
+diff -ruNp snarf-7.0.orig/http.c snarf-7.0/http.c
+--- snarf-7.0.orig/http.c 2007-03-30 20:46:21.176685880 +0100
++++ snarf-7.0/http.c 2007-03-30 20:47:46.205759496 +0100
+@@ -365,7 +365,7 @@ http_transfer(UrlResource *rsrc)
+
+ bytes_read = read(sock, buf, 8);
+
+- if( bytes_read == 0 ) {
++ if( bytes_read <= 0 ) {
+ close(sock);
+ return 0;
+ }
+diff -ruNp snarf-7.0.orig/url.c snarf-7.0/url.c
+--- snarf-7.0.orig/url.c 1998-11-16 01:29:44.000000000 +0000
++++ snarf-7.0/url.c 2007-03-30 20:47:46.205759496 +0100
+@@ -96,7 +96,7 @@ get_username(char *string, Url *u)
+ return string;
+ }
+
+- username = malloc(i);
++ username = malloc(i+1);
+ memcpy(username, string, i + 1);
+
+ username[i] = '\0';
+@@ -135,7 +135,7 @@ get_password(char *string, Url *u)
+
+ for(i = 0 ; string[i] != '@'; i++);
+
+- password = malloc(i);
++ password = malloc(i+1);
+
+ /* and finally, get the password portion */
+ memcpy(password, string, i);
diff --git a/net-misc/snarf/snarf-7.0-r1.ebuild b/net-misc/snarf/snarf-7.0-r1.ebuild
index b33caf4cf82b..23edfd326e1d 100644
--- a/net-misc/snarf/snarf-7.0-r1.ebuild
+++ b/net-misc/snarf/snarf-7.0-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/snarf/snarf-7.0-r1.ebuild,v 1.16 2004/07/15 03:36:34 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/snarf/snarf-7.0-r1.ebuild,v 1.17 2007/03/30 19:52:10 taviso Exp $
DESCRIPTION="A full featured small web-spider"
SRC_URI="http://www.xach.com/snarf/${P}.tar.gz"
diff --git a/net-misc/snarf/snarf-7.0-r3.ebuild b/net-misc/snarf/snarf-7.0-r3.ebuild
new file mode 100644
index 000000000000..b462d37413da
--- /dev/null
+++ b/net-misc/snarf/snarf-7.0-r3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/snarf/snarf-7.0-r3.ebuild,v 1.1 2007/03/30 19:52:10 taviso Exp $
+
+inherit eutils
+
+IUSE=""
+DESCRIPTION="Small and fast command line resource grabber with support for http, gopher, finger, and ftp protocols."
+SRC_URI="http://www.xach.com/snarf/${P}.tar.gz"
+HOMEPAGE="http://www.xach.com/snarf/"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+DEPEND="virtual/libc"
+
+src_unpack() {
+ unpack ${A}
+ epatch ${FILESDIR}/snarf-basename-patch.diff
+ epatch ${FILESDIR}/snarf-unlink-empty.diff
+ epatch ${FILESDIR}/snarf-fix-off-by-ones.diff
+}
+
+src_install() {
+ dobin snarf
+ doman snarf.1
+ dodoc COPYING ChangeLog README TODO
+}
+
+pkg_postinst() {
+ einfo 'To use snarf with portage, try these settings in your make.conf'
+ einfo
+ einfo ' FETCHCOMMAND="/usr/bin/snarf -b \${URI} \${DISTDIR}/\${FILE}"'
+ einfo ' RESUMECOMMAND="/usr/bin/snarf -rb \${URI} \${DISTDIR}/\${FILE}"'
+}