summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-02-15 05:40:15 +0000
committerMike Frysinger <vapier@gentoo.org>2006-02-15 05:40:15 +0000
commitd32135ffd64fe9b5b4ab1f0fa84422e494da5d62 (patch)
tree8a17e68b0d43c0e3ab035bb52952c2328b0bd597 /app-admin/socklog
parentOh the 0.10s, yes, its finally here!! (diff)
downloadgentoo-2-d32135ffd64fe9b5b4ab1f0fa84422e494da5d62.tar.gz
gentoo-2-d32135ffd64fe9b5b4ab1f0fa84422e494da5d62.tar.bz2
gentoo-2-d32135ffd64fe9b5b4ab1f0fa84422e494da5d62.zip
Fix from upstream for race condition #122784 by Alex Efros.
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'app-admin/socklog')
-rw-r--r--app-admin/socklog/ChangeLog10
-rw-r--r--app-admin/socklog/files/digest-socklog-2.0.2-r11
-rw-r--r--app-admin/socklog/files/socklog-2.0.2-tryto-race-fix.patch46
-rw-r--r--app-admin/socklog/socklog-2.0.2-r1.ebuild46
4 files changed, 101 insertions, 2 deletions
diff --git a/app-admin/socklog/ChangeLog b/app-admin/socklog/ChangeLog
index 191c1ecb1182..514205e3b950 100644
--- a/app-admin/socklog/ChangeLog
+++ b/app-admin/socklog/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-admin/socklog
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/socklog/ChangeLog,v 1.4 2005/04/12 01:06:03 vapier Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/socklog/ChangeLog,v 1.5 2006/02/15 05:40:15 vapier Exp $
+
+*socklog-2.0.2-r1 (15 Feb 2006)
+
+ 15 Feb 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/socklog-2.0.2-tryto-race-fix.patch, +socklog-2.0.2-r1.ebuild:
+ Fix from upstream for race condition #122784 by Alex Efros.
*socklog-2.0.2 (12 Apr 2005)
diff --git a/app-admin/socklog/files/digest-socklog-2.0.2-r1 b/app-admin/socklog/files/digest-socklog-2.0.2-r1
new file mode 100644
index 000000000000..c7709f984f44
--- /dev/null
+++ b/app-admin/socklog/files/digest-socklog-2.0.2-r1
@@ -0,0 +1 @@
+MD5 f77b26273093316ba06995703342c6f6 socklog-2.0.2.tar.gz 56362
diff --git a/app-admin/socklog/files/socklog-2.0.2-tryto-race-fix.patch b/app-admin/socklog/files/socklog-2.0.2-tryto-race-fix.patch
new file mode 100644
index 000000000000..8547b075efde
--- /dev/null
+++ b/app-admin/socklog/files/socklog-2.0.2-tryto-race-fix.patch
@@ -0,0 +1,46 @@
+http://bugs.gentoo.org/122784
+
+Index: src/tryto.c
+===================================================================
+RCS file: /var/lib/cvs/socklog/src/tryto.c,v
+retrieving revision 1.8
+diff -u -r1.8 tryto.c
+--- admin/socklog-2.0.2/src/tryto.c 6 Feb 2005 11:36:50 -0000 1.8
++++ admin/socklog-2.0.2/src/tryto.c 14 Feb 2006 12:34:04 -0000
+@@ -104,6 +104,7 @@
+ taia_now(&now);
+ taia_uint(&deadline, timeout);
+ taia_add(&deadline, &now, &deadline);
++ timeout =0;
+
+ for (;;) {
+ int iopausefds;
+@@ -163,16 +164,16 @@
+ int i;
+ char *s;
+
+- if (wait_nohang(&rc) == pid) break;
+- taia_now(&now);
+- if ((timeout =taia_less(&deadline, &now))) break;
+-
+ sig_unblock(sig_child);
+ iopause(x, iopausefds, &deadline, &now);
+ sig_block(sig_child);
+
+ while (read(selfpipe[0], &ch, 1) == 1) {}
+
++ taia_now(&now);
++ if ((timeout =taia_less(&deadline, &now))) break;
++ if (wait_nohang(&rc) == pid) break;
++
+ r = buffer_feed(&buffer_x);
+ if (r < 0) {
+ if ((errno == error_intr) || (errno == error_again)) continue;
+@@ -201,6 +202,7 @@
+ close(cpipe[1]);
+
+ if (timeout) {
++ if (wait_nohang(&rc) == pid) break;
+ /* child not finished */
+ strerr_warn4(WARNING,
+ "child \"", *argv, "\" timed out. sending TERM...", 0);
diff --git a/app-admin/socklog/socklog-2.0.2-r1.ebuild b/app-admin/socklog/socklog-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..5a9b58f0dfa3
--- /dev/null
+++ b/app-admin/socklog/socklog-2.0.2-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/socklog/socklog-2.0.2-r1.ebuild,v 1.1 2006/02/15 05:40:15 vapier Exp $
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="small secure replacement for syslogd with automatic log rotation"
+HOMEPAGE="http://smarden.org/socklog/"
+SRC_URI="http://smarden.org/socklog/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="static"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ >=sys-process/runit-0.13.1"
+PROVIDE="virtual/logger"
+
+S=${WORKDIR}/admin/${P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-tryto-race-fix.patch #122784
+ use static && append-ldflags -static
+ echo "$(tc-getCC) ${CFLAGS}" > src/conf-cc
+ echo "$(tc-getCC) ${LDFLAGS}" > src/conf-ld
+}
+
+src_compile() {
+ cd src
+ emake || die "make failed"
+}
+
+src_install() {
+ cd src
+ dobin tryto uncat socklog-check || die "dobin"
+ dosbin socklog socklog-conf || die "dosbin"
+
+ cd "${S}"
+ dodoc package/{CHANGES,README}
+ dohtml doc/*.html
+ doman man/*
+}