summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2008-11-02 15:35:55 +0000
committerPeter Alfredsen <loki_val@gentoo.org>2008-11-02 15:35:55 +0000
commit3899ee3f4fcca9b0075ae942c5c936d57baf185d (patch)
treec92caf1e440c509ea3ed615806e1f7a9fd616447 /net-libs/libtorrent
parentMask liferea 1.4.21b for now (diff)
downloadhistorical-3899ee3f4fcca9b0075ae942c5c936d57baf185d.tar.gz
historical-3899ee3f4fcca9b0075ae942c5c936d57baf185d.tar.bz2
historical-3899ee3f4fcca9b0075ae942c5c936d57baf185d.zip
Fix 'Handshake buffer overflows', upstream ticket 1337: http://libtorrent.rakshasa.no/ticket/1337
Package-Manager: portage-2.2_rc13/cvs/Linux 2.6.27 x86_64
Diffstat (limited to 'net-libs/libtorrent')
-rw-r--r--net-libs/libtorrent/ChangeLog10
-rw-r--r--net-libs/libtorrent/Manifest4
-rw-r--r--net-libs/libtorrent/files/libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch16
-rw-r--r--net-libs/libtorrent/libtorrent-0.12.3-r2.ebuild52
4 files changed, 80 insertions, 2 deletions
diff --git a/net-libs/libtorrent/ChangeLog b/net-libs/libtorrent/ChangeLog
index 9ea46ef9ea8c..8c5ae1cf65a4 100644
--- a/net-libs/libtorrent/ChangeLog
+++ b/net-libs/libtorrent/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-libs/libtorrent
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libtorrent/ChangeLog,v 1.130 2008/10/22 15:43:20 loki_val Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libtorrent/ChangeLog,v 1.131 2008/11/02 15:35:55 loki_val Exp $
+
+*libtorrent-0.12.3-r2 (02 Nov 2008)
+
+ 02 Nov 2008; Peter Alfredsen <loki_val@gentoo.org>
+ +files/libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch,
+ +libtorrent-0.12.3-r2.ebuild:
+ Fix 'Handshake buffer overflows', upstream ticket 1337:
+ http://libtorrent.rakshasa.no/ticket/1337
*libtorrent-0.12.3-r1 (22 Oct 2008)
diff --git a/net-libs/libtorrent/Manifest b/net-libs/libtorrent/Manifest
index 6e80ebe01c67..1cfc62de705a 100644
--- a/net-libs/libtorrent/Manifest
+++ b/net-libs/libtorrent/Manifest
@@ -10,6 +10,7 @@ AUX libtorrent-0.12.2-fix_write_datagram.patch 554 RMD160 cbd6d3804fad36b2655f57
AUX libtorrent-0.12.2-lt-ver.patch 578 RMD160 03fc5d5326bd457c6386db791ceda7e187e8bae2 SHA1 2586464297a9ccc0004d99ef99647715e5cd54ff SHA256 14aedb58c898692be6963a582b55d599f93a74733539238a1f2d0f7c14542586
AUX libtorrent-0.12.2-tracker_timer_fix.patch 952 RMD160 ccf4df0575210f95e758ecee92bc9455c6b470d1 SHA1 5f197cf78a80f31c8770d3dcf7fa5eda215bb0a8 SHA256 ac8669a130de34c5ea4a43eef7da439125ca1ff8ccf3c0ac4a77d8717b839d97
AUX libtorrent-0.12.3-fix-epoll-crash.patch 1296 RMD160 1adf575ccd93ed6c21bc6f6ac1eb1cd841110f3a SHA1 444668456fa5aee9f79f69a7799f79e9a39ec91a SHA256 f632014d8a38762c2da0cedf558257469cddae1d0a8d7a3e66b90ce1c7c7f0a8
+AUX libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch 882 RMD160 42e18cf804cdcda4876ee89d7da4cbbdd26794ab SHA1 f8c0bc09bf2f446dfd7f25118eeb673d7453f5ab SHA256 9b68bbc38cb275e79317004d6c5e25ffcde62032ca31d14d5e23707fc5c91e33
AUX libtorrent-0.12.3-fix-poll_fd.patch 8048 RMD160 ed219de71bafad0859bb4bd2a14873618cb992d6 SHA1 74cb2c141c1c6ff0789108d4df725fdffd9f6e7d SHA256 e4b2b67ec8933d5b667d80b7f2d9e0d21f25f9e1016c4a1c5ea52f2a9b7b1a61
DIST libtorrent-0.11.9.tar.gz 545210 RMD160 fb8de66d65791dab67c195356a98de7cf653d3c9 SHA1 d88e754d1c2ff7f8c5fb7544331264bd505870b8 SHA256 71f09218a7784b21ab53cdfcd8fa122da60352e5ca117fda7cd8d2763f908a08
DIST libtorrent-0.12.2.tar.gz 585374 RMD160 88cdc415f98afd8b87fa6d7330906737c3e434fa SHA1 a53d2c671e9f2dd971d0622d5b3672da91c46ef9 SHA256 cf9d2cd667fd6939a3e0bd27e48d0c7f35d9ab2f7affbb3214da03fd2c1360a8
@@ -18,6 +19,7 @@ EBUILD libtorrent-0.11.9.ebuild 1092 RMD160 da7b3481dc661adc564d9fe18b1af41bf902
EBUILD libtorrent-0.12.2-r3.ebuild 1594 RMD160 4b6b696be6342abee4c1a77a4e3e11c69958993e SHA1 23c314c013e5fe6184d4d0dc8754ebbe356885f2 SHA256 3e78d22de16d3d31af3e6897d412ad825e86d3c03f4716d9a28c98788a69d456
EBUILD libtorrent-0.12.2-r4.ebuild 1648 RMD160 9217d7bbecc0c1d4f22aa873d700193d755a96e7 SHA1 06fe08a0b20b4f4b7ebc519eeeb45620ee01b033 SHA256 402523679b0e61106b80faec7c42d25a6b8a0bd1433a56a7776a066b3c1d5d6e
EBUILD libtorrent-0.12.3-r1.ebuild 1276 RMD160 a615dd60848b3fd4a25f114f858c85a35bed2898 SHA1 203009b57a08e8448e9eb0b6ee052ccee0952eb6 SHA256 866f8a117fd99266f82eaf2f240031d11ff889d9f90362f713cf1999e332e5f0
+EBUILD libtorrent-0.12.3-r2.ebuild 1333 RMD160 8c510cd115d424406d2963094e2100a58226f7b0 SHA1 c3b3768ffe92a892ee81ad2b0117819af1a491f9 SHA256 2498f939a39ff4b5190e1e6c05399da8566270b2144da3f2e363e48a82fc4943
EBUILD libtorrent-0.12.3.ebuild 1234 RMD160 825795dc4fa983f73a4f512ced2155884d3c89ee SHA1 3308b230458e0c6357c3818a912c52f87907d592 SHA256 ac4cc8e06459733fb8ba514495112607dcd1adf655f23d223398ece89f7c641d
-MISC ChangeLog 19949 RMD160 733966a2cae0fbf9be5e716ab4a04f23c0503ccb SHA1 7a5fb5fa5b589d7f5f846e2a04123147302ef9aa SHA256 710cb103358d43c7d308f85b9dd1f0d1ce2c14e391fb77448f25196734dcaefe
+MISC ChangeLog 20238 RMD160 c2997ca00c5751ccc43cbb2e40241db051080aa6 SHA1 1e7eca064dc59b78e3c4a8c9aeed96154b057f9b SHA256 750e701c81ebc05ca4695582aea921ed5cb876d0c18187432ebc98551b5b4812
MISC metadata.xml 436 RMD160 4546e998ce9c6303f4c91d7413b1f732bbb2a8aa SHA1 fb1f2cddef7e268bf64572615fbc3c326ed673fd SHA256 936fb95c2c44078d98c0c74d0b148744036d6a18d40b8b482d7656ef0e211bff
diff --git a/net-libs/libtorrent/files/libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch b/net-libs/libtorrent/files/libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch
new file mode 100644
index 000000000000..57fa0f8b9788
--- /dev/null
+++ b/net-libs/libtorrent/files/libtorrent-0.12.3-fix-fill_read_buffer-overflow.patch
@@ -0,0 +1,16 @@
+# Fixes a crash with fill_read_buffer(...) Buffer overflow" if peer sends
+# both encryption pads and their total size does not allow the subsequent
+# bitfield/protocol message to be received correctly. Ticket #1337.
+Index: libtorrent/src/protocol/handshake.h
+===================================================================
+--- libtorrent/src/protocol/handshake.h (revision 1073)
++++ libtorrent/src/protocol/handshake.h (working copy)
+@@ -66,7 +66,7 @@
+ static const uint32_t enc_pad_size = 512;
+ static const uint32_t enc_pad_read_size = 96 + enc_pad_size + 20;
+
+- static const uint32_t buffer_size = enc_pad_read_size + 20 + enc_negotiation_size + enc_pad_size + 2 + handshake_size;
++ static const uint32_t buffer_size = enc_pad_read_size + 20 + enc_negotiation_size + enc_pad_size + 2 + handshake_size + 5;
+
+ typedef ProtocolBuffer<buffer_size> Buffer;
+
diff --git a/net-libs/libtorrent/libtorrent-0.12.3-r2.ebuild b/net-libs/libtorrent/libtorrent-0.12.3-r2.ebuild
new file mode 100644
index 000000000000..d3daa6f4f8d8
--- /dev/null
+++ b/net-libs/libtorrent/libtorrent-0.12.3-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libtorrent/libtorrent-0.12.3-r2.ebuild,v 1.1 2008/11/02 15:35:55 loki_val Exp $
+
+inherit base eutils toolchain-funcs flag-o-matic libtool
+
+DESCRIPTION="LibTorrent is a BitTorrent library written in C++ for *nix."
+HOMEPAGE="http://libtorrent.rakshasa.no/"
+SRC_URI="http://libtorrent.rakshasa.no/downloads/${P}.tar.gz"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+IUSE="debug ipv6"
+
+RDEPEND=">=dev-libs/libsigc++-2"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${P}-fix-epoll-crash.patch"
+ "${FILESDIR}/${P}-fix-poll_fd.patch"
+ "${FILESDIR}/${P}-fix-fill_read_buffer-overflow.patch" )
+
+src_unpack() {
+ base_src_unpack
+ cd "${S}"
+ elibtoolize #Don't remove. Needed for *bsd.
+}
+
+src_compile() {
+ replace-flags -Os -O2
+
+ if [[ $(tc-arch) = "x86" ]]; then
+ filter-flags -fomit-frame-pointer -fforce-addr
+ fi
+
+ econf \
+ $(use_enable debug) \
+ $(use_enable ipv6) \
+ --enable-aligned \
+ --enable-static \
+ --enable-shared \
+ --disable-dependency-tracking \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS NEWS README
+}