1 |
commit: 61f33ecb79092b9b86d8a95da0950215e6194122 |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Nov 14 22:40:01 2017 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Nov 14 22:40:01 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61f33ecb |
7 |
|
8 |
net-misc/rsync: Rev bump to fix CVE-2017-16548 |
9 |
|
10 |
Bug: https://bugs.gentoo.org/636714 |
11 |
Package-Manager: Portage-2.3.13, Repoman-2.3.4 |
12 |
|
13 |
.../rsync/files/rsync-3.1.2-CVE-2017-16548.patch | 17 +++++ |
14 |
net-misc/rsync/rsync-3.1.2-r1.ebuild | 89 ++++++++++++++++++++++ |
15 |
2 files changed, 106 insertions(+) |
16 |
|
17 |
diff --git a/net-misc/rsync/files/rsync-3.1.2-CVE-2017-16548.patch b/net-misc/rsync/files/rsync-3.1.2-CVE-2017-16548.patch |
18 |
new file mode 100644 |
19 |
index 00000000000..d06607cf772 |
20 |
--- /dev/null |
21 |
+++ b/net-misc/rsync/files/rsync-3.1.2-CVE-2017-16548.patch |
22 |
@@ -0,0 +1,17 @@ |
23 |
+X-Git-Url: https://git.samba.org/rsync.git/?p=rsync.git;a=blobdiff_plain;f=xattrs.c;h=4867e6f5b8ad2934d43b06f3b99b7b3690a6dc7a;hp=68305d7559b34f5cc2f196b74429b82fa6ff49dd;hb=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1;hpb=bc112b0e7feece62ce98708092306639a8a53cce |
24 |
+ |
25 |
+diff --git a/xattrs.c b/xattrs.c |
26 |
+index 68305d7..4867e6f 100644 |
27 |
+--- a/xattrs.c |
28 |
++++ b/xattrs.c |
29 |
+@@ -824,6 +824,10 @@ void receive_xattr(int f, struct file_struct *file) |
30 |
+ out_of_memory("receive_xattr"); |
31 |
+ name = ptr + dget_len + extra_len; |
32 |
+ read_buf(f, name, name_len); |
33 |
++ if (name_len < 1 || name[name_len-1] != '\0') { |
34 |
++ rprintf(FERROR, "Invalid xattr name received (missing trailing \\0).\n"); |
35 |
++ exit_cleanup(RERR_FILEIO); |
36 |
++ } |
37 |
+ if (dget_len == datum_len) |
38 |
+ read_buf(f, ptr, dget_len); |
39 |
+ else { |
40 |
|
41 |
diff --git a/net-misc/rsync/rsync-3.1.2-r1.ebuild b/net-misc/rsync/rsync-3.1.2-r1.ebuild |
42 |
new file mode 100644 |
43 |
index 00000000000..d74d4969071 |
44 |
--- /dev/null |
45 |
+++ b/net-misc/rsync/rsync-3.1.2-r1.ebuild |
46 |
@@ -0,0 +1,89 @@ |
47 |
+# Copyright 1999-2017 Gentoo Foundation |
48 |
+# Distributed under the terms of the GNU General Public License v2 |
49 |
+ |
50 |
+EAPI="6" |
51 |
+ |
52 |
+inherit eutils flag-o-matic prefix systemd |
53 |
+ |
54 |
+DESCRIPTION="File transfer program to keep remote files into sync" |
55 |
+HOMEPAGE="https://rsync.samba.org/" |
56 |
+SRC_URI="https://rsync.samba.org/ftp/rsync/src/${P}.tar.gz" |
57 |
+[[ "${PV}" = *_pre* ]] && SRC_URI="https://rsync.samba.org/ftp/rsync/src-previews/${P/_/}.tar.gz" |
58 |
+ |
59 |
+LICENSE="GPL-3" |
60 |
+SLOT="0" |
61 |
+if [[ ${PV} != *_pre ]] ; then |
62 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
63 |
+fi |
64 |
+IUSE="acl examples iconv ipv6 static stunnel xattr" |
65 |
+ |
66 |
+LIB_DEPEND="acl? ( virtual/acl[static-libs(+)] ) |
67 |
+ xattr? ( kernel_linux? ( sys-apps/attr[static-libs(+)] ) ) |
68 |
+ >=dev-libs/popt-1.5[static-libs(+)]" |
69 |
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) |
70 |
+ iconv? ( virtual/libiconv )" |
71 |
+DEPEND="${RDEPEND} |
72 |
+ static? ( ${LIB_DEPEND} )" |
73 |
+ |
74 |
+PATCHES=( "${FILESDIR}"/${PN}-3.1.2-CVE-2017-16548.patch ) |
75 |
+ |
76 |
+S=${WORKDIR}/${P/_/} |
77 |
+ |
78 |
+src_configure() { |
79 |
+ use static && append-ldflags -static |
80 |
+ econf \ |
81 |
+ --without-included-popt \ |
82 |
+ $(use_enable acl acl-support) \ |
83 |
+ $(use_enable xattr xattr-support) \ |
84 |
+ $(use_enable ipv6) \ |
85 |
+ $(use_enable iconv) \ |
86 |
+ --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf |
87 |
+ touch proto.h-tstamp #421625 |
88 |
+} |
89 |
+ |
90 |
+src_install() { |
91 |
+ emake DESTDIR="${D}" install |
92 |
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd |
93 |
+ newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd |
94 |
+ dodoc NEWS OLDNEWS README TODO tech_report.tex |
95 |
+ insinto /etc |
96 |
+ newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf |
97 |
+ |
98 |
+ insinto /etc/logrotate.d |
99 |
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd |
100 |
+ |
101 |
+ insinto /etc/xinetd.d |
102 |
+ newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd |
103 |
+ |
104 |
+ # Install stunnel helpers |
105 |
+ if use stunnel ; then |
106 |
+ emake DESTDIR="${D}" install-ssl-client |
107 |
+ emake DESTDIR="${D}" install-ssl-daemon |
108 |
+ fi |
109 |
+ |
110 |
+ # Install the useful contrib scripts |
111 |
+ if use examples ; then |
112 |
+ exeinto /usr/share/rsync |
113 |
+ doexe support/* |
114 |
+ rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c} |
115 |
+ fi |
116 |
+ |
117 |
+ eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd* |
118 |
+ |
119 |
+ systemd_dounit "${FILESDIR}/rsyncd.service" |
120 |
+} |
121 |
+ |
122 |
+pkg_postinst() { |
123 |
+ if egrep -qis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \ |
124 |
+ "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then |
125 |
+ ewarn "You have disabled chroot support in your rsyncd.conf. This" |
126 |
+ ewarn "is a security risk which you should fix. Please check your" |
127 |
+ ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'." |
128 |
+ fi |
129 |
+ if use stunnel ; then |
130 |
+ einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature." |
131 |
+ einfo |
132 |
+ einfo "You maybe have to update the certificates configured in" |
133 |
+ einfo "${EROOT}/etc/stunnel/rsync.conf" |
134 |
+ fi |
135 |
+} |