diff options
author | Daniel Robbins <drobbins@gentoo.org> | 2002-03-01 07:11:39 +0000 |
---|---|---|
committer | Daniel Robbins <drobbins@gentoo.org> | 2002-03-01 07:11:39 +0000 |
commit | 92059805cb0e26dea704d9e412e65bb086a6dade (patch) | |
tree | 4afc9a1b1c9372fcf8372471acb752199ad6a907 /net-misc/rsync | |
parent | masked gnomemeeting (diff) | |
download | historical-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/ChangeLog | 7 | ||||
-rw-r--r-- | net-misc/rsync/files/digest-rsync-2.5.2-r1 | 1 | ||||
-rw-r--r-- | net-misc/rsync/files/rsync-gentoo-2.5.2.patch | 29 | ||||
-rw-r--r-- | net-misc/rsync/rsync-2.5.2.ebuild | 51 |
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 -} |