diff --git a/SOURCES/rsync-3.0.6-iconv-logging.patch b/SOURCES/rsync-3.0.6-iconv-logging.patch new file mode 100644 index 0000000..bf7d943 --- /dev/null +++ b/SOURCES/rsync-3.0.6-iconv-logging.patch @@ -0,0 +1,22 @@ +diff --git a/log.c b/log.c +index 34a013b..1aca728 100644 +--- a/log.c ++++ b/log.c +@@ -377,10 +377,13 @@ output_msg: + filtered_fwrite(f, convbuf, outbuf.len, 0); + outbuf.len = 0; + } +- if (!ierrno || ierrno == E2BIG) +- continue; +- fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); +- inbuf.len--; ++ /* Log one byte of illegal/incomplete sequence and continue with ++ * the next character. Check that the buffer is non-empty for the ++ * sake of robustness. */ ++ if ((ierrno == EILSEQ || ierrno == EINVAL) && inbuf.len) { ++ fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); ++ inbuf.len--; ++ } + } + } else + #endif diff --git a/SOURCES/rsync-3.1.0-protect_args.patch b/SOURCES/rsync-3.1.0-protect_args.patch index 5fb722a..3ee30c9 100644 --- a/SOURCES/rsync-3.1.0-protect_args.patch +++ b/SOURCES/rsync-3.1.0-protect_args.patch @@ -20,3 +20,13 @@ if (!(arg = strdup(arg))) out_of_memory("glob_expand_module"); +--- rsync-3.0.9.orig/t_unsafe.c ++++ rsync-3.0.9/t_unsafe.c +@@ -28,6 +28,7 @@ int am_root = 0; + int read_only = 0; + int list_only = 0; + int verbose = 0; ++int protect_args = 0; + int preserve_perms = 0; + int preserve_executability = 0; + diff --git a/SPECS/rsync.spec b/SPECS/rsync.spec index 7cc1e9a..10cd9b2 100644 --- a/SPECS/rsync.spec +++ b/SPECS/rsync.spec @@ -1,3 +1,4 @@ +%global _hardened_build 1 %define isprerelease 0 %if %isprerelease @@ -7,7 +8,7 @@ Summary: A program for synchronizing files over a network Name: rsync Version: 3.0.9 -Release: 11%{?prerelease}%{?dist} +Release: 15%{?prerelease}%{?dist} Group: Applications/Internet URL: http://rsync.samba.org/ @@ -27,6 +28,7 @@ License: GPLv3+ Patch0: rsync-3.0.10-lose-track.patch Patch1: rsync-man.patch Patch2: rsync-3.1.0-protect_args.patch +Patch3: rsync-3.0.6-iconv-logging.patch %description Rsync uses a reliable algorithm to bring remote and host files into @@ -60,6 +62,7 @@ patch -p1 -i patches/copy-devices.diff %patch0 -p1 -b .lose-track %patch1 -p1 -b .man %patch2 -p1 -b .protect_args +%patch3 -p1 -b .iconv-logging %build rm -fr autom4te.cache @@ -105,6 +108,20 @@ rm -rf $RPM_BUILD_ROOT %systemd_postun_with_restart rsyncd.service %changelog +* Tue Feb 11 2014 Pavel Šimerda - 3.0.9-15 +- Resolves: #1032637 - rsync unit tests cannot be compiled +- switch to hardened build + +* Tue Jan 28 2014 Pavel Šimerda - 3.0.9-14 +- Resolves: #1052814 - rsync command is terminated with SIGSEGV +- Resolves: #1052814 - add missing patch file + +* Fri Jan 24 2014 Daniel Mach - 3.0.9-13 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 3.0.9-12 +- Mass rebuild 2013-12-27 + * Fri Jun 28 2013 Michal Luscon - 3.0.9-11 - Add BuildRequires: systemd-units