diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-09-12 22:51:39 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-09-12 22:52:22 -0400 |
commit | dc985c3cb2c8094313f60553c2a488f9bd39002d (patch) | |
tree | fc2d6b78cbfa7fae2077027ac2692463988bfb00 /net-p2p | |
parent | net-misc/openssh: revert improper 4411ff42539dc7917a8db314327c6fbe699a616f (diff) | |
download | gentoo-dc985c3cb2c8094313f60553c2a488f9bd39002d.tar.gz gentoo-dc985c3cb2c8094313f60553c2a488f9bd39002d.tar.bz2 gentoo-dc985c3cb2c8094313f60553c2a488f9bd39002d.zip |
net-p2p/ctorrent: workaround broken rTorrent files
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild | 29 | ||||
-rw-r--r-- | net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch | 38 |
2 files changed, 67 insertions, 0 deletions
diff --git a/net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild b/net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild new file mode 100644 index 000000000000..d667683b3923 --- /dev/null +++ b/net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils + +MY_P="${PN}-dnh${PV}" + +DESCRIPTION="Enhanced CTorrent is a BitTorrent console client written in C and C++" +HOMEPAGE="http://www.rahul.net/dholmes/ctorrent/" +SRC_URI="mirror://sourceforge/dtorrent/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="" + +S=${WORKDIR}/${MY_P} + +DEPEND="dev-libs/openssl:=" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-CVE-2009-1759.patch + epatch "${FILESDIR}"/${P}-negative-ints.patch + epatch "${FILESDIR}"/${P}-empty-path-components.patch +} diff --git a/net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch b/net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch new file mode 100644 index 000000000000..fce41d4feff5 --- /dev/null +++ b/net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch @@ -0,0 +1,38 @@ +rTorrent sometimes creates invalid torrents which has empty path components. +the bitorrent spec allows for "" strings, but they make no sense in paths. +so instead of always adding a / in between, skip them. ugh. + +for example: +dict { + 'info' => dict { + 'name' => str = "some dir" (len = 8) + 'files' => list [ + dict { + 'length' => int = 12345567 + 'path' => list [ + str = "" (len = 0) + str = "foo.bin" (len = 7) + ] + } + ... + ] + ... + } + ... +} + +ctorrent will then try to fetch the file "/some dir/foo.bin" instead of +"some dir/foo.bin" (relative to $PWD). + +--- a/bencode.cpp ++++ b/bencode.cpp +@@ -258,7 +258,8 @@ + n -= r; + if( 'e' == *pb ) break; + if( pathname >= endmax ) return 0; +- *pathname++ = PATH_SP; ++ if (q) ++ *pathname++ = PATH_SP; + } + *pathname = '\0'; + return (pb - b + 1); |