summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Robbins <drobbins@gentoo.org>2002-03-01 07:11:39 +0000
committerDaniel Robbins <drobbins@gentoo.org>2002-03-01 07:11:39 +0000
commit92059805cb0e26dea704d9e412e65bb086a6dade (patch)
tree4afc9a1b1c9372fcf8372471acb752199ad6a907 /net-misc/rsync
parentmasked gnomemeeting (diff)
downloadhistorical-92059805cb0e26dea704d9e412e65bb086a6dade.tar.gz
historical-92059805cb0e26dea704d9e412e65bb086a6dade.tar.bz2
historical-92059805cb0e26dea704d9e412e65bb086a6dade.zip
DoS fix redux
Diffstat (limited to 'net-misc/rsync')
-rw-r--r--net-misc/rsync/ChangeLog7
-rw-r--r--net-misc/rsync/files/digest-rsync-2.5.2-r11
-rw-r--r--net-misc/rsync/files/rsync-gentoo-2.5.2.patch29
-rw-r--r--net-misc/rsync/rsync-2.5.2.ebuild51
4 files changed, 36 insertions, 52 deletions
diff --git a/net-misc/rsync/ChangeLog b/net-misc/rsync/ChangeLog
index 26377c70b2be..f2d48046d9ff 100644
--- a/net-misc/rsync/ChangeLog
+++ b/net-misc/rsync/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-misc/rsync
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.1 2002/02/01 21:53:35 gbevin Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.2 2002/03/01 07:11:38 drobbins Exp $
+
+*rsync-2.5.2-r1 (1 Mar 2002)
+
+ 1 Mar 2002; Daniel Robbins <drobbins@gentoo.org> : Closed remote denial of
+ service attack/hung process problem reopened in 2.5.2 due to a missing patch.
*rsync-2.5.2 (1 Feb 2002)
diff --git a/net-misc/rsync/files/digest-rsync-2.5.2-r1 b/net-misc/rsync/files/digest-rsync-2.5.2-r1
new file mode 100644
index 000000000000..490836fad45e
--- /dev/null
+++ b/net-misc/rsync/files/digest-rsync-2.5.2-r1
@@ -0,0 +1 @@
+MD5 680db55e27844ef396466464bcc29595 rsync-2.5.2.tar.gz 368916
diff --git a/net-misc/rsync/files/rsync-gentoo-2.5.2.patch b/net-misc/rsync/files/rsync-gentoo-2.5.2.patch
new file mode 100644
index 000000000000..f7b1f681f449
--- /dev/null
+++ b/net-misc/rsync/files/rsync-gentoo-2.5.2.patch
@@ -0,0 +1,29 @@
+diff -urN rsync-2.5.2/io.c rsync-2.5.2-fixed/io.c
+--- rsync-2.5.2/io.c Fri Jan 25 16:01:50 2002
++++ rsync-2.5.2-fixed/io.c Fri Mar 1 00:06:31 2002
+@@ -442,6 +442,8 @@
+ }
+
+ if (ret <= 0) {
++ /* Don't try to write errors back across the stream */
++ io_multiplexing_close();
+ rprintf(FERROR,
+ "error writing %d unbuffered bytes"
+ " - exiting: %s\n", len,
+diff -urN rsync-2.5.2/main.c rsync-2.5.2-fixed/main.c
+--- rsync-2.5.2/main.c Fri Jan 25 03:07:41 2002
++++ rsync-2.5.2-fixed/main.c Fri Mar 1 00:06:31 2002
+@@ -835,10 +835,12 @@
+ }
+
+ signal(SIGINT,SIGNAL_CAST sig_int);
+- signal(SIGPIPE,SIGNAL_CAST sig_int);
+ signal(SIGHUP,SIGNAL_CAST sig_int);
+ signal(SIGTERM,SIGNAL_CAST sig_int);
+
++ /* Ignore SIGPIPE; we check error codes consistently. */
++ signal(SIGPIPE,SIG_IGN);
++
+ /* Initialize push_dir here because on some old systems getcwd
+ (implemented by forking "pwd" and reading its output) doesn't
+ work when there are other child processes. Also, on all systems
diff --git a/net-misc/rsync/rsync-2.5.2.ebuild b/net-misc/rsync/rsync-2.5.2.ebuild
deleted file mode 100644
index 2cd7ccdad196..000000000000
--- a/net-misc/rsync/rsync-2.5.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/rsync-2.5.2.ebuild,v 1.1 2002/01/26 15:23:37 verwilst Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="File transfer program to keep remote files into sync"
-SRC_URI="http://rsync.samba.org/ftp/rsync/${P}.tar.gz"
-HOMEPAGE="http://rsync.samba.org"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-#change confdir to /etc/rsync rather than just /etc (the --sysconfdir configure option doesn't work
- cp rsync.h rsync.h.orig
- sed -e 's:RSYNCD_CONF "/etc/rsyncd.conf":RSYNCD_CONF "/etc/rsync/rsyncd.conf":g' rsync.h.orig > rsync.h
-#yes, updating the man page is very important.
- cp rsyncd.conf.5 rsyncd.conf.5.orig
- sed -e 's:/etc/rsyncd:/etc/rsync/rsyncd:g' rsyncd.conf.5.orig > rsyncd.conf.5
-}
-
-src_compile() {
- ./configure --prefix=/usr --host=${CHOST} || die
- if [ "`use static`" ] ; then
- emake LDFLAGS="-static" || die
- else
- emake || die
- fi
-}
-
-src_install () {
- make prefix=${D}/usr \
- mandir=${D}/usr/share/man \
- install || die
- if [ -z "`use build`" ]
- then
- dodir /etc/rsync
- dodoc COPYING NEWS OLDNEWS README TODO tech_report.tex
- else
- rm -rf ${D}/usr/share
- fi
-}
-
-pkg_postinst() {
- if [ ! -d /etc/rsync ]
- then
- mkdir /etc/rsync
- fi
-}