diff options
author | 2007-03-30 19:52:10 +0000 | |
---|---|---|
committer | 2007-03-30 19:52:10 +0000 | |
commit | b081ece15d2fca29525c8b1dca1ed3220c24b531 (patch) | |
tree | cadc21f95de27b20fcdeedf14a10d20086f4760f /net-misc/snarf | |
parent | Dropped ppc-macos keyword, see you in prefix (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/snarf/files/digest-snarf-7.0-r3 | 3 | ||||
-rw-r--r-- | net-misc/snarf/files/snarf-fix-off-by-ones.diff | 45 | ||||
-rw-r--r-- | net-misc/snarf/snarf-7.0-r1.ebuild | 4 | ||||
-rw-r--r-- | net-misc/snarf/snarf-7.0-r3.ebuild | 35 |
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}"' +} |