summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Alexander <wired@gentoo.org>2010-06-14 17:03:57 +0000
committerAlex Alexander <wired@gentoo.org>2010-06-14 17:03:57 +0000
commit145041dee4f1dd991dd8d06c6cc2a3a00c225a5d (patch)
tree3ed8457012dc058ab2770109728d2a81c17236a1 /net-irc
parentsync with php-overlay (diff)
downloadgentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.tar.gz
gentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.tar.bz2
gentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.zip
znc: EAPI 2, fixed security bug #323965
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/znc/ChangeLog8
-rw-r--r--net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch31
-rw-r--r--net-irc/znc/znc-0.090-r1.ebuild54
3 files changed, 92 insertions, 1 deletions
diff --git a/net-irc/znc/ChangeLog b/net-irc/znc/ChangeLog
index 641185962a7f..6b665aee1059 100644
--- a/net-irc/znc/ChangeLog
+++ b/net-irc/znc/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-irc/znc
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/ChangeLog,v 1.34 2010/06/07 09:27:08 wired Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/ChangeLog,v 1.35 2010/06/14 17:03:57 wired Exp $
+
+*znc-0.090-r1 (14 Jun 2010)
+
+ 14 Jun 2010; Alex Alexander <wired@gentoo.org> +znc-0.090-r1.ebuild,
+ +files/znc-0.090-null-pointer-dereference-fix.patch:
+ EAPI 2, fixed security bug #323965
*znc-0.090 (07 Jun 2010)
diff --git a/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch b/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch
new file mode 100644
index 000000000000..c41e1fe9ed7b
--- /dev/null
+++ b/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch
@@ -0,0 +1,31 @@
+--- trunk/znc.cpp 2010/06/13 07:58:28 2025
++++ trunk/znc.cpp 2010/06/13 17:14:52 2026
+@@ -1927,18 +1927,18 @@
+ }
+
+ for (CSockManager::const_iterator it = m_Manager.begin(); it != m_Manager.end(); ++it) {
++ CUser *pUser = NULL;
+ if ((*it)->GetSockName().Left(5) == "IRC::") {
+- CIRCSock *p = (CIRCSock *) *it;
+- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead();
+- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten();
+- uiUsers_in += p->GetBytesRead();
+- uiUsers_out += p->GetBytesWritten();
++ pUser = ((CIRCSock *) *it)->GetUser();
+ } else if ((*it)->GetSockName().Left(5) == "USR::") {
+- CClient *p = (CClient *) *it;
+- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead();
+- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten();
+- uiUsers_in += p->GetBytesRead();
+- uiUsers_out += p->GetBytesWritten();
++ pUser = ((CClient*) *it)->GetUser();
++ }
++
++ if (pUser) {
++ ret[pUser->GetUserName()].first += (*it)->GetBytesRead();
++ ret[pUser->GetUserName()].second += (*it)->GetBytesWritten();
++ uiUsers_in += (*it)->GetBytesRead();
++ uiUsers_out += (*it)->GetBytesWritten();
+ } else {
+ uiZNC_in += (*it)->GetBytesRead();
+ uiZNC_out += (*it)->GetBytesWritten();
diff --git a/net-irc/znc/znc-0.090-r1.ebuild b/net-irc/znc/znc-0.090-r1.ebuild
new file mode 100644
index 000000000000..2d73b03936ae
--- /dev/null
+++ b/net-irc/znc/znc-0.090-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/znc-0.090-r1.ebuild,v 1.1 2010/06/14 17:03:57 wired Exp $
+
+EAPI=2
+
+inherit base
+
+DESCRIPTION="An advanced IRC Bouncer"
+HOMEPAGE="http://znc.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="ares debug extras ipv6 perl ssl sasl tcl"
+
+DEPEND="
+ ares? ( net-dns/c-ares )
+ perl? ( dev-lang/perl )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )
+ tcl? ( dev-lang/tcl )
+"
+RDEPEND="${DEPEND}"
+
+# bug 323965
+PATCHES=( "${FILESDIR}/${P}-null-pointer-dereference-fix.patch" )
+
+src_configure() {
+ econf \
+ $(use_enable ares c-ares) \
+ $(use_enable debug) \
+ $(use_enable extras extra) \
+ $(use_enable ipv6) \
+ $(use_enable perl) \
+ $(use_enable sasl) \
+ $(use_enable ssl openssl) \
+ $(use_enable tcl tcl) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "make install failed."
+ dodoc AUTHORS README || die "dodoc failed"
+}
+
+pkg_postinst() {
+ elog
+ elog "Run 'znc --makeconf' as the user you want to run ZNC as"
+ elog "to make a configuration file"
+ elog "If you are using SSL you should also run 'znc --makepem'"
+ elog
+}