diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..513206d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/rsync-3.1.3.tar.gz +/rsync-patches-3.1.3.tar.gz diff --git a/EMPTY b/EMPTY deleted file mode 100644 index 0519ecb..0000000 --- a/EMPTY +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/rsync-3.0.6-iconv-logging.patch b/rsync-3.0.6-iconv-logging.patch new file mode 100644 index 0000000..bf7d943 --- /dev/null +++ b/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/rsync-3.1.2-remove-symlinks.patch b/rsync-3.1.2-remove-symlinks.patch new file mode 100644 index 0000000..43d175d --- /dev/null +++ b/rsync-3.1.2-remove-symlinks.patch @@ -0,0 +1,33 @@ +diff --git a/sender.c b/sender.c +index 03e4aadd..9b432ed9 100644 +--- a/sender.c ++++ b/sender.c +@@ -32,6 +32,7 @@ extern int logfile_format_has_i; + extern int want_xattr_optim; + extern int csum_length; + extern int append_mode; ++extern int copy_links; + extern int io_error; + extern int flist_eof; + extern int allowed_lull; +@@ -138,17 +139,16 @@ void successful_send(int ndx) + return; + f_name(file, fname); + +- if (do_lstat(fname, &st) < 0) { ++ if ((copy_links ? do_stat(fname, &st) : do_lstat(fname, &st)) < 0) { + failed_op = "re-lstat"; + goto failed; + } + +- if (S_ISREG(file->mode) /* Symlinks & devices don't need this check: */ +- && (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime ++ if (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime + #ifdef ST_MTIME_NSEC + || (NSEC_BUMP(file) && (uint32)st.ST_MTIME_NSEC != F_MOD_NSEC(file)) + #endif +- )) { ++ ) { + rprintf(FERROR_XFER, "ERROR: Skipping sender remove for changed file: %s\n", fname); + return; + } diff --git a/rsync-3.1.2-vvv-hang.patch b/rsync-3.1.2-vvv-hang.patch new file mode 100644 index 0000000..d1f8912 --- /dev/null +++ b/rsync-3.1.2-vvv-hang.patch @@ -0,0 +1,33 @@ +diff --git a/io.c b/io.c +index 999c34e5..ceff3784 100644 +--- a/io.c ++++ b/io.c +@@ -954,8 +954,17 @@ int send_msg(enum msgcode code, const char *buf, size_t len, int convert) + } else + #endif + needed = len + 4 + 3; +- if (iobuf.msg.len + needed > iobuf.msg.size) +- perform_io(needed, PIO_NEED_MSGROOM); ++ if (iobuf.msg.len + needed > iobuf.msg.size) { ++ if (!am_receiver) ++ perform_io(needed, PIO_NEED_MSGROOM); ++ else { /* We allow the receiver to increase their iobuf.msg size to avoid a deadlock. */ ++ size_t old_size = iobuf.msg.size; ++ restore_iobuf_size(&iobuf.msg); ++ realloc_xbuf(&iobuf.msg, iobuf.msg.size * 2); ++ if (iobuf.msg.pos + iobuf.msg.len > old_size) ++ memcpy(iobuf.msg.buf + old_size, iobuf.msg.buf, iobuf.msg.pos + iobuf.msg.len - old_size); ++ } ++ } + + pos = iobuf.msg.pos + iobuf.msg.len; /* Must be set after any flushing. */ + if (pos >= iobuf.msg.size) +@@ -1176,7 +1185,7 @@ int read_line(int fd, char *buf, size_t bufsiz, int flags) + + #ifdef ICONV_OPTION + if (flags & RL_CONVERT && iconv_buf.size < bufsiz) +- realloc_xbuf(&iconv_buf, bufsiz + 1024); ++ realloc_xbuf(&iconv_buf, ROUND_UP_1024(bufsiz) + 1024); + #endif + + start: diff --git a/rsync-3.1.3-append-check.patch b/rsync-3.1.3-append-check.patch new file mode 100644 index 0000000..62fd792 --- /dev/null +++ b/rsync-3.1.3-append-check.patch @@ -0,0 +1,44 @@ +commit bd17c2a4e237ca1f38544db65053ecfea6054009 +Author: Tomas Korbar +Date: Thu Sep 24 13:17:45 2020 +0200 + + Skip files for transfer that has been truncated during negotiation + +diff --git a/rsync.1 b/rsync.1 +index 6cabd44..855dd47 100644 +--- a/rsync.1 ++++ b/rsync.1 +@@ -1004,8 +1004,10 @@ This causes rsync to update a file by appending data onto + the end of the file, which presumes that the data that already exists on + the receiving side is identical with the start of the file on the sending + side. If a file needs to be transferred and its size on the receiver is +-the same or longer than the size on the sender, the file is skipped. This +-does not interfere with the updating of a file\(cq\&s non\-content attributes ++the same or longer than the size on the sender, the file is skipped. It ++also skips any files whose size on the sending side gets shorter during ++the send negotiations (rsync warns about a "diminished" file when this ++happens). This does not interfere with the updating of a file\(cq\&s non\-content attributes + (e.g. permissions, ownership, etc.) when the file does not need to be + transferred, nor does it affect the updating of any non\-regular files. + Implies \fB\-\-inplace\fP. +diff --git a/sender.c b/sender.c +index 1cc28a1..e22eadd 100644 +--- a/sender.c ++++ b/sender.c +@@ -379,6 +379,16 @@ void send_files(int f_in, int f_out) + } + } + ++ if (append_mode > 0 && st.st_size < F_LENGTH(file)) { ++ rprintf(FWARNING, "skipped diminished file: %s\n", ++ full_fname(fname)); ++ free_sums(s); ++ close(fd); ++ if (protocol_version >= 30) ++ send_msg_int(MSG_NO_SEND, ndx); ++ continue; ++ } ++ + if (st.st_size) { + int32 read_size = MAX(s->blength * 3, MAX_MAP_SIZE); + mbuf = map_file(fd, st.st_size, read_size, s->blength); diff --git a/rsync-3.1.3-covscan.patch b/rsync-3.1.3-covscan.patch new file mode 100644 index 0000000..4e3b648 --- /dev/null +++ b/rsync-3.1.3-covscan.patch @@ -0,0 +1,57 @@ +diff --git a/util.c b/util.c +index fbbfd8ba..235afa82 100644 +--- a/util.c ++++ b/util.c +@@ -342,6 +342,7 @@ int copy_file(const char *source, const char *dest, int ofd, mode_t mode) + if (robust_unlink(dest) && errno != ENOENT) { + int save_errno = errno; + rsyserr(FERROR_XFER, errno, "unlink %s", full_fname(dest)); ++ close(ifd); + errno = save_errno; + return -1; + } +diff --git a/lib/pool_alloc.c b/lib/pool_alloc.c +index 5856d591..a70a3f1a 100644 +--- a/lib/pool_alloc.c ++++ b/lib/pool_alloc.c +@@ -49,15 +49,15 @@ pool_create(size_t size, size_t quantum, void (*bomb)(const char *), int flags) + { + struct alloc_pool *pool; + +- if (!(pool = new0(struct alloc_pool))) +- return NULL; +- + if ((MINALIGN & (MINALIGN - 1)) != 0) { + if (bomb) + (*bomb)("Compiler error: MINALIGN is not a power of 2\n"); + return NULL; + } + ++ if (!(pool = new0(struct alloc_pool))) ++ return NULL; ++ + if (!size) + size = POOL_DEF_EXTENT; + if (!quantum) +diff --git a/batch.c b/batch.c +index 21c632fc..1ab66e90 100644 +--- a/batch.c ++++ b/batch.c +@@ -216,7 +216,7 @@ static void write_filter_rules(int fd) + void write_batch_shell_file(int argc, char *argv[], int file_arg_cnt) + { + int fd, i, len, err = 0; +- char *p, filename[MAXPATHLEN]; ++ char *p, *p2, filename[MAXPATHLEN]; + + stringjoin(filename, sizeof filename, + batch_name, ".sh", NULL); +@@ -267,7 +267,7 @@ void write_batch_shell_file(int argc, char *argv[], int file_arg_cnt) + err = 1; + } + } +- if (!(p = check_for_hostspec(argv[argc - 1], &p, &i))) ++ if (!(p = check_for_hostspec(argv[argc - 1], &p2, &i))) + p = argv[argc - 1]; + if (write(fd, " ${1:-", 6) != 6 + || write_arg(fd, p) < 0) diff --git a/rsync-3.1.3-ignore-missing.patch b/rsync-3.1.3-ignore-missing.patch new file mode 100644 index 0000000..802cba8 --- /dev/null +++ b/rsync-3.1.3-ignore-missing.patch @@ -0,0 +1,49 @@ +commit af6118d98b3482cbcfc223bf2a0777bc19eccb02 +Author: Wayne Davison +Date: Sun Apr 26 18:02:17 2020 -0700 + + Allow a missing parent dir when --delete-missing-args was specified. + +diff --git a/generator.c b/generator.c +index 3c50f63f..b90c7ccd 100644 +--- a/generator.c ++++ b/generator.c +@@ -1277,10 +1277,16 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, + && (*dn != '.' || dn[1]) /* Avoid an issue with --relative and the "." dir. */ + && (!prior_dir_file || strcmp(dn, f_name(prior_dir_file, NULL)) != 0) + && flist_find_name(cur_flist, dn, 1) < 0) { +- rprintf(FERROR, +- "ABORTING due to invalid path from sender: %s/%s\n", +- dn, file->basename); +- exit_cleanup(RERR_PROTOCOL); ++ /* The --delete-missing-args option can actually put invalid entries into ++ * the file list, so if that option was specified, we'll just complain about ++ * it and allow it. */ ++ if (missing_args == 2 && file->mode == 0) ++ rprintf(FERROR, "WARNING: parent dir is absent in the file list: %s\n", dn); ++ else { ++ rprintf(FERROR, "ABORTING due to invalid path from sender: %s/%s\n", ++ dn, file->basename); ++ exit_cleanup(RERR_PROTOCOL); ++ } + } + if (relative_paths && !implied_dirs + && do_stat(dn, &sx.st) < 0) { +@@ -1383,7 +1389,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, + added_perms = 0; + if (is_dir < 0) { + if (!(preserve_times & PRESERVE_DIR_TIMES)) +- return; ++ goto cleanup; + /* In inc_recurse mode we want to make sure any missing + * directories get created while we're still processing + * the parent dir (which allows us to touch the parent +@@ -1525,7 +1531,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, + "ignoring unsafe symlink \"%s\" -> \"%s\"\n", + fname, sl); + } +- return; ++ goto cleanup; + } + if (statret == 0) { + char lnk[MAXPATHLEN]; diff --git a/rsync-3.1.3-skip-compress.patch b/rsync-3.1.3-skip-compress.patch new file mode 100644 index 0000000..3b5b612 --- /dev/null +++ b/rsync-3.1.3-skip-compress.patch @@ -0,0 +1,37 @@ +diff --git a/loadparm.c b/loadparm.c +index 029f358f..534e7b63 100644 +--- a/loadparm.c ++++ b/loadparm.c +@@ -449,7 +449,7 @@ static struct parm_struct parm_table[] = + }; + + /* Initialise the Default all_vars structure. */ +-static void reset_all_vars(void) ++void reset_daemon_vars(void) + { + memcpy(&Vars, &Defaults, sizeof Vars); + } +@@ -872,7 +872,7 @@ int lp_load(char *pszFname, int globals_only) + { + bInGlobalSection = True; + +- reset_all_vars(); ++ reset_daemon_vars(); + + /* We get sections first, so have to start 'behind' to make up. */ + iSectionIndex = -1; +diff --git a/main.c b/main.c +index 1328c504..9af9e5d3 100644 +--- a/main.c ++++ b/main.c +@@ -1681,6 +1681,10 @@ int main(int argc,char *argv[]) + + memset(&stats, 0, sizeof(stats)); + ++ /* Even a non-daemon runs needs the default config values to be set, e.g. ++ * lp_dont_compress() is queried when no --skip-compress option is set. */ ++ reset_daemon_vars(); ++ + if (argc < 2) { + usage(FERROR); + exit_cleanup(RERR_SYNTAX); diff --git a/rsync-3.1.3-xattr.patch b/rsync-3.1.3-xattr.patch new file mode 100644 index 0000000..91b77c2 --- /dev/null +++ b/rsync-3.1.3-xattr.patch @@ -0,0 +1,38 @@ +diff --git a/xattrs.c b/xattrs.c +index 508649c0..3c549192 100644 +--- a/xattrs.c ++++ b/xattrs.c +@@ -1055,7 +1055,7 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna + { + rsync_xa_list *glst = rsync_xal_l.items; + item_list *lst; +- int ndx; ++ int ndx, added_write_perm = 0; + + if (dry_run) + return 1; /* FIXME: --dry-run needs to compute this value */ +@@ -1084,10 +1084,23 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna + } + #endif + ++ /* If the target file lacks write permission, we try to add it ++ * temporarily so we can change the extended attributes. */ ++ if (!am_root ++#ifdef SUPPORT_LINKS ++ && !S_ISLNK(sxp->st.st_mode) ++#endif ++ && access(fname, W_OK) < 0 ++ && do_chmod(fname, (sxp->st.st_mode & CHMOD_BITS) | S_IWUSR) == 0) ++ added_write_perm = 1; ++ + ndx = F_XATTR(file); + glst += ndx; + lst = &glst->xa_items; +- return rsync_xal_set(fname, lst, fnamecmp, sxp); ++ int return_value = rsync_xal_set(fname, lst, fnamecmp, sxp); ++ if (added_write_perm) /* remove the temporary write permission */ ++ do_chmod(fname, sxp->st.st_mode); ++ return return_value; + } + + #ifdef SUPPORT_ACLS diff --git a/rsync-man.patch b/rsync-man.patch new file mode 100644 index 0000000..36ddc53 --- /dev/null +++ b/rsync-man.patch @@ -0,0 +1,10 @@ +--- rsync-3.0.9/rsync.1 2011-09-23 18:42:26.000000000 +0200 ++++ rsync-3.0.9/rsync.1 2012-09-19 10:40:19.698802861 +0200 +@@ -445,6 +445,7 @@ + \-o, \-\-owner preserve owner (super\-user only) + \-g, \-\-group preserve group + \-\-devices preserve device files (super\-user only) ++ \-\-copy-devices copy device contents as regular file + \-\-specials preserve special files + \-D same as \-\-devices \-\-specials + \-t, \-\-times preserve modification times diff --git a/rsync.spec b/rsync.spec new file mode 100644 index 0000000..2315339 --- /dev/null +++ b/rsync.spec @@ -0,0 +1,665 @@ +%global _hardened_build 1 + +%define isprerelease 0 + +%if %isprerelease +%define prerelease pre1 +%endif + +Summary: A program for synchronizing files over a network +Name: rsync +Version: 3.1.3 +Release: 14%{?dist} +Group: Applications/Internet +URL: http://rsync.samba.org/ + +Source0: https://download.samba.org/pub/rsync/src/rsync-%{version}%{?prerelease}.tar.gz +Source1: https://download.samba.org/pub/rsync/src/rsync-patches-%{version}%{?prerelease}.tar.gz +Source2: rsyncd.socket +Source3: rsyncd.service +Source4: rsyncd.conf +Source5: rsyncd.sysconfig +Source6: rsyncd@.service + +BuildRequires: libacl-devel, libattr-devel, autoconf, popt-devel, systemd +#Requires: zlib +#Added virtual provide for zlib due to https://fedoraproject.org/wiki/Bundled_Libraries?rd=Packaging:Bundled_Libraries +Provides: bundled(zlib) = 1.2.8 +License: GPLv3+ + +Patch0: rsync-man.patch +Patch1: rsync-3.0.6-iconv-logging.patch +Patch2: rsync-3.1.3-covscan.patch +Patch3: rsync-3.1.2-remove-symlinks.patch +Patch4: rsync-3.1.2-vvv-hang.patch +Patch5: rsync-3.1.3-ignore-missing.patch +Patch6: rsync-3.1.3-append-check.patch +Patch7: rsync-3.1.3-skip-compress.patch +Patch8: rsync-3.1.3-xattr.patch + +%description +Rsync uses a reliable algorithm to bring remote and host files into +sync very quickly. Rsync is fast because it just sends the differences +in the files over the network instead of sending the complete +files. Rsync is often used as a very powerful mirroring process or +just as a more capable replacement for the rcp command. A technical +report which describes the rsync algorithm is included in this +package. + +%package daemon +Summary: Service for anonymous access to rsync +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +%{?systemd_requires} +%description daemon +Rsync can be used to offer read only access to anonymous clients. This +package provides the anonymous rsync service. + +%prep +# TAG: for pre versions use + +%if %isprerelease +%setup -q -n rsync-%{version}%{?prerelease} +%setup -q -b 1 -n rsync-%{version}%{?prerelease} +%else +%setup -q +%setup -q -b 1 +%endif + +#Needed for compatibility with previous patched rsync versions +patch -p1 -i patches/acls.diff +patch -p1 -i patches/xattrs.diff + +#Enable --copy-devices parameter +patch -p1 -i patches/copy-devices.diff + +%patch0 -p1 -b .man +%patch1 -p1 -b .iconv +%patch2 -p1 -b .covscan +%patch3 -p1 -b .symlinks +%patch4 -p1 -b .vvv +%patch5 -p1 -b .missing +%patch6 -p1 -b .append +%patch7 -p1 -b .skip-compress +%patch8 -p1 -b .xattr + +%build +%configure +# --with-included-zlib=no temporary disabled because of #1043965 + +make %{?_smp_mflags} + +%install +%makeinstall INSTALLCMD='install -p' INSTALLMAN='install -p' + +install -D -m644 %{SOURCE3} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd.service +install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd.socket +install -D -m644 %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/rsyncd.conf +install -D -m644 %{SOURCE5} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/rsyncd +install -D -m644 %{SOURCE6} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd@.service + +%check +make check +#scripts in support/* are needed to run upstream tests but after install these should not be executable +chmod -x support/* + +%files +%{!?_licensedir:%global license %%doc} +%license COPYING +%doc NEWS OLDNEWS README support/ tech_report.tex +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1* + +%files daemon +%{_mandir}/man5/rsyncd.conf.5* +%config(noreplace) %{_sysconfdir}/rsyncd.conf +%config(noreplace) %{_sysconfdir}/sysconfig/rsyncd +%{_unitdir}/rsyncd.socket +%{_unitdir}/rsyncd.service +%{_unitdir}/rsyncd@.service + +%post daemon +%systemd_post rsyncd.service + +%preun daemon +%systemd_preun rsyncd.service + +%postun daemon +%systemd_postun_with_restart rsyncd.service + +%changelog +* Mon Oct 11 2021 Michal Ruprich - 3.1.3-14 +- Related: #1907443 - Adding fmf plans to run tests with tmt + +* Mon Sep 27 2021 Tomas Korbar - 3.1.3-13 +- Resolves: #1907443 - Read-only files that have changed xattrs fail to allow xattr changes + +* Fri Dec 18 2020 Michal Ruprich - 3.1.3-12 +- Resolves: #1816528 - Defaults for --skip-compress are not working, everything is being compressed + +* Thu Nov 05 2020 Tomas Korbar - 3.1.3-11 +- Resolves: #1855981 - rsync segfaults in --append mode + +* Thu Nov 05 2020 Tomas Korbar - 3.1.3-10 +- Resolves: #1727093 - rsync: "ABORTING due to invalid path from sender" + +* Mon Aug 24 2020 Michal Ruprich - 3.1.3-9 +- Resolves: #1667436 - rsyncd.service fails to start at boot if address is configured + +* Wed Jun 10 2020 Michal Ruprich - 3.1.3-8 +- Resolves: #1775561 - rsync 3.1.2 hangs when run with -vvv to sync a large repository + +* Tue Oct 29 2019 Michal Ruprich - 3.1.3-7 +- Resolves: #1693162 - remove-source-files fails with symlinks + +* Tue Apr 16 2019 Michal Ruprich - 3.1.3-6 +- Resolves: #1602683 - Please review important issues found by covscan + +* Tue Apr 16 2019 Michal Ruprich - 3.1.3-5 +- Resolves: #1656761 - [FJ8.0 Bug]: [REG] The rsync command is terminated with SIGSEGV + +* Wed Oct 03 2018 Michal Ruprich - 3.1.3-4 +- Resolves: #1635631 - Remove --noatime option from rsync + Cleaning spec file + +* Fri Feb 09 2018 Igor Gnatenko - 3.1.3-3 +- Escape macros in %%changelog + +* Tue Jan 30 2018 Michal Ruprich - 3.1.3-2 +- removed dependencies on systemd-units + +* Mon Jan 29 2018 Michal Ruprich - 3.1.3-1 +- new version 3.1.3 +- Resolves CVE-2018-5764 + +* Thu Aug 03 2017 Fedora Release Engineering - 3.1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jun 28 2017 Michal Ruprich - 3.1.2-5 +- Resolves: #1459681 - rpmscripts for rsyncd.service are in the wrong package + +* Wed May 03 2017 Michal Ruprich - 3.1.2-4 +- Added virtual provide for zlib library + +* Sat Feb 11 2017 Fedora Release Engineering - 3.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 3.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 08 2016 Luboš Uhliarik - 3.1.2-1 +- new version 3.1.2 + +* Mon Nov 09 2015 Luboš Uhliarik - 3.1.1-8 +- Resolves: #1233893 - added noatime patch + +* Thu Jun 18 2015 Fedora Release Engineering - 3.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 3.1.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 13 2014 Pavel Šimerda - 3.1.1-5 +- Related: #1123813 - fix rsync-daemon subpackage dependencywq + +* Wed Aug 13 2014 Pavel Šimerda - 3.1.1-4 +- Related: #1123813 - build rsync-daemon as noarch + +* Tue Aug 12 2014 Pavel Šimerda - 3.1.1-3 +- Resolves: #1123813 - Reduce dependencies + +* Mon Aug 4 2014 Tom Callaway - 3.1.1-2 +- fix license handling + +* Wed Jun 25 2014 Michal Luscon - 3.1.1-1 +- Update to latest upstream version 3.1.1 + +* Sun Jun 08 2014 Fedora Release Engineering - 3.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 30 2014 Michal Luscon - 3.1.0-5 +- Reverted: #1050081 - breaks rawhide live installation + +* Mon May 26 2014 Michal Luscon - 3.1.0-4 +- Fixed: #1050081 undo the hard-link xattr optimization + +* Wed Apr 16 2014 Michal Luscon - 3.1.0-3 +- Fixed: CVE-2014-2855 - denial of service +- Reverted: compilation with system provided zlib (#1043965) + +* Sun Oct 20 2013 Michal Lusocn - 3.1.0-2 +- Update to latest upstream 3.1.0 +- Fixed #1018520 - missing rsyncd@.service + +* Wed Aug 07 2013 Michal Luscon - 3.1.0-1pre1 +- Upstream 3.1.0 pre release +- Fixed: #495310 - rsync contains forked copy of zlib +- Fixed: #926459 - building aarch64 +- Fixed: bogus dates in changelog + +* Sun Aug 04 2013 Fedora Release Engineering - 3.0.9-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 28 2013 Michal Luscon - 3.0.9-11 +- Add BuildRequires: systemd-units + +* Mon Jun 17 2013 Michal Luscon - 3.0.9-10 +- Fixed: #947765 - rsync daemon chooses wrong destination place + +* Fri May 17 2013 Michal Luscon - 3.0.9-9 +- Fix missing man page and help options + +* Thu Feb 14 2013 Fedora Release Engineering - 3.0.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 15 2012 Michal Luscon 3.0.9-6 +- Systemd units for rsync + +* Tue Oct 23 2012 Michal Luscon 3.0.9-5 +- Reverted: #495310 - rsync contains forked copy of zlib + +* Tue Oct 16 2012 Michal Luscon 3.0.9-4 +- Fixed: #823088 - rsync loses track of files with different directory prefixes +- Fixed: #495310 - rsync contains forked copy of zlib + +* Sat Jul 21 2012 Fedora Release Engineering - 3.0.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 3.0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Sep 14 2011 Vojtech Vitek (V-Teq) - 3.0.9-1 +- Rebase to 3.0.9 (#741004) + +* Wed Sep 14 2011 Vojtech Vitek (V-Teq) - 3.0.8-2 +- Fix security context of symbolic links (#709779) + +* Tue Mar 29 2011 Vojtech Vitek - 3.0.8-1 +- Rebase to 3.0.8, remove buffer overflow patch (#691362, #675036) + +* Wed Feb 09 2011 Fedora Release Engineering - 3.0.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Mar 29 2010 Jan Zeleny - 3.0.7-3 +- buffer overflow patch replaced by upstream version + +* Fri Jan 22 2010 Jan Zeleny - 3.0.7-2 +- fixed issue with buffer overflow when using long filenames (#557916) + +* Tue Jan 19 2010 Jan Zeleny - 3.0.7-1 +- rebased to 3.0.7 + +* Mon Dec 07 2009 Jan Zeleny - 3.0.6-4 +- applied patch to avoid retouching dir permissions (#542679) + +* Sun Jul 26 2009 Fedora Release Engineering - 3.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 1 2009 Simo Sorce 3.0.6-2 +- Final 3.0.6 release + +* Thu May 21 2009 Ján ONDREJ (SAL) - 3.0.6-1pre1 +- Enabled patches/copy-devices.diff patch (bz#494313) + +* Wed Apr 15 2009 Simo Sorce 3.0.6-0pre1 +- First 3.0.6 pre release +- Also change the spec to simplify releasing pre-releases + +* Wed Feb 25 2009 Fedora Release Engineering - 3.0.5-1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Jan 1 2009 Simo Sorce 3.0.5-0.fc11 +- New upstream bugfix release + +* Mon Sep 8 2008 Simo Sorce 3.0.4-0.fc10 +- New upstream bugfix release + +* Mon Jun 30 2008 Simo Sorce 3.0.3-0.fc10 +- New upstream release + +* Tue Apr 8 2008 Simo Sorce 3.0.2-0.fc9 +- Security release: http://rsync.samba.org/security.html#s3_0_2 + +* Fri Apr 4 2008 Simo Sorce 3.0.1-2.fc9 +- Make sure support scripts are not executable so that no bad perl dependecies + are created + +* Fri Apr 4 2008 Simo Sorce 3.0.1-1.fc9 +- Add NEWS and support/ scripts in the docs section +- 3.0.1 final + +* Mon Mar 31 2008 Simo Sorce 3.0.1-0.3.pre3.fc9 +- 3.0.1 pre release #3 +- Fixes some annoying minor bugs (see release notes) + +* Thu Mar 27 2008 Simo Sorce 3.0.1-0.2.pre2.fc9 +- 3.0.1 pre release #2 +- Fixes #439074 + +* Tue Mar 25 2008 Simo Sorce 3.0.1-0.1.pre1.fc9 +- 3.0.1 pre release #1 +- Fixes #438694 + +* Sun Mar 2 2008 Simo Sorce 3.0.0-1.fc9 +- Final 3.0.0 release + +* Sat Feb 23 2008 Simo Sorce 3.0.0-0.pre10.fc9 +- Tenth preprelease of the 3.0.0 series + +* Sat Feb 16 2008 Simo Sorce 3.0.0-0.pre9.fc9 +- Ninth preprelease of the 3.0.0 series + +* Sat Feb 2 2008 Simo Sorce 3.0.0-0.pre8.fc9 +- Eight prerelease +- Add second source, now patches are in a separate file +- Add temporary fix to the xattrs.diff patch line as, in this version + the patch contains one extra humk already contained in acls.diff + +* Sat Oct 27 2007 Simo Sorce 3.0.0-0.pre4.fc9 +- Fourth prerelease + +* Mon Oct 15 2007 Simo Sorce 3.0.0-0.pre2.1.fc9 +- Add support for IPv6 by default with xinetd + +* Fri Oct 12 2007 Simo Sorce 3.0.0-0.pre2.fc9 +- Second prerelease + +* Wed Oct 10 2007 Simo Sorce 3.0.0-0.pre1.fc9 +- New Major version prerelease + +* Wed Sep 5 2007 Simo Sorce 2.6.9-3.fc8 +- Add patch to fix crash bug with hardlinks and ACLs patches + +* Mon Feb 19 2007 Adam Jackson 2.6.9-2 +- Add dist tag to Release to fix upgrades from FC5 or FC6. + +* Mon Feb 19 2007 Simo Sorce - 2.6.9-2 +- fix acl/xattr bug with --delete: (bz#229145) + +* Wed Nov 22 2006 Florian La Roche - 2.6.9-1 +- update to 2.6.9 + +* Wed Jul 12 2006 Jesse Keating - 2.6.8-3.1 +- rebuild + +* Fri Jun 9 2006 Jay Fenlason 2.6.8-3 +- Add my xattrs_bug patch to fix a bug where xattrs don't get sent correctly. +- Add BuildRequires to make sure libattr-devel and libacl-devel are avaliable +- replace --with... with --enable... so they actually work +- Add make, autoconf and gcc to BuildRequires + +* Mon May 8 2006 Jay Fenlason 2.6.8-2 +- New upstream release +- Use the upstream xattr patch instead of mine. This closes + bz#190208 CVE-2006-2083 rsync buffer overflow issue + +* Fri Feb 10 2006 Jesse Keating - 2.6.6-2.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2.6.6-2.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Jul 28 2005 Jay Fenlason 2.6.6-2 +- New upstream release. See the NEWS file for details. + +* Thu Jun 2 2005 Jay Fenlason 2.6.5-2 +- New upstream release + +* Tue May 17 2005 Jay Fenlason 2.6.5-0.pre1.0 +- new upstream pre-release + +* Tue May 17 2005 Jay Fenlason 2.6.4-3 +- Include the -address patch from upstream, to close + bz#154752 Unable to use --address in client mode + +* Thu Mar 31 2005 Jay Fenlason 2.6.4-2 +- New upstream version + +* Wed Mar 2 2005 Jay Fenlason 2.6.3-3 +- bump release, rebuild with gcc4 +- pass RPM_OPT_FLAGS to make + +* Thu Feb 10 2005 Jay Fenlason 2.6.3-2 +- Added my -xattr patch, which is based on the -acl patch. + +* Thu Sep 30 2004 Jay Fenlason 2.6.3-1 +- New upstream release. + +* Tue Sep 21 2004 Jay Fenlason 2.6.3-0.pre2 +- new upstream version. + +* Tue Aug 17 2004 Jay Fenlason 2.6.3-0.pre1 +- New upstream version with security fix for CAN-2004-0792 +- This obsoletes the -lastdir-corruption patch. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue May 25 2004 Mark McLoughlin - 2.6.2-1 +- Backport fix for crasher when passing multiple directories of the same + length (bug #123708) + +* Fri Apr 30 2004 Jay Fenlason 2.6.2-0 +- New upstream version to correct the problems with 2.6.1. + This obsoletes all the patches to 2.6.1 + +* Thu Apr 29 2004 Jay Fenlason 2.6.1-1 +- Rsync 2.6.1 final. +- Add a patch from Wayne Davison that fixes a + use of uninitilized memory in the map_uid and map_gid functions. +- Add another patch from Wayne Davidson that fixes the -R option. +- Add a patch (extracted from a patch by Sami Farin + ) to not ignore the return value + of close(). + +* Thu Mar 25 2004 Jay Fenlason 2.6.1-0.pre1 +- New upstream version + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Mon Jan 5 2004 Jay Fenlason 2.6.0-0 +- New upstream version, obsoletes the rsync-2.5.6-signal.patch + +* Wed Dec 3 2003 Bill Nottingham 2.5.7-2 +- rebuild + +* Wed Dec 3 2003 Bill Nottingham 2.5.7-1 +- update to 2.5.7 + +* Tue Aug 05 2003 Hardy Merrill 2.5.6-20 +- rebuild in new build env + +* Tue Aug 05 2003 Lon Hohberger 2.5.6-19 +- spec file fix + +* Tue Aug 05 2003 Hardy Merrill 2.5.6-18 +- rebuild in new build env + +* Tue Aug 05 2003 Hardy Merrill 2.5.6-17 +- fixed spec - added patch0 to prep. + +* Tue Aug 05 2003 Hardy Merrill 2.5.6-16 +- rebuild in new build env + +* Mon Aug 04 2003 Hardy Merrill 2.5.6-15 +- add rsync-2.5.6-signal.patch to fix kernel warnings that + appear because socket.c sets SIGCHLD to SIG_IGN and then + calls wait. This is in response to bug#98740. This patch + *has* been committed to CVS upstream and will be in + upstream rsync-2.5.7. + +* Fri Jun 13 2003 Hardy Merrill 2.5.6-14 +- build scratch - for compile warnings + +* Fri Jun 13 2003 Hardy Merrill 2.5.6-13 +- build scratch - for compile warnings + +* Thu Jun 12 2003 Hardy Merrill 2.5.6-12 +- rebuild in new build env + +* Thu Jun 12 2003 Hardy Merrill 2.5.6-11 +- removed rsync-2.5.6-sign.patch. Upstream code + incorporates signed vs unsigned changes. + +* Wed Jun 11 2003 Hardy Merrill 2.5.6-10_CVSHEAD_signpatch +- build scratch - added rsync-2.5.6-sign.patch. + +* Wed Jun 11 2003 Hardy Merrill 2.5.6-9_CVSHEAD_nopatches +- build scratch. + +* Wed Jun 11 2003 Hardy Merrill 2.5.6-8 +- build scratch - deleted rsync-2.5.6-sign.patch. + +* Mon Jun 09 2003 Hardy Merrill 2.5.6-7 +- rebuild in new build env + +* Thu Jun 05 2003 Hardy Merrill 2.5.6-6 +- removed patch rsync-2.5.4-maxdel.patch +- removed patch rsync-2.4.6-segv.patch + - current 2.5.6 properly handles (no segfault) the situation + (rsync '[a]') that caused a need for this patch. +- added patch rsync-2.5.6-sign.patch, which is a working + subset of patches (that still apply) included in the original + rsync-2.5.4-moresignage.patch + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue Mar 11 2003 Hardy Merrill 2.5.6-4 +- rebuild in new build env + +* Tue Mar 11 2003 Hardy Merrill 2.5.6-3 +- fixed changelog comments + +* Mon Mar 10 2003 Hardy Merrill 2.5.6-2 +- rebuild in new build env + +* Mon Mar 10 2003 Hardy Merrill 2.5.6-1 +- update to 2.5.6 from upstream + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Fri Jan 17 2003 Hardy Merrill 2.5.5-3 +- fix spelling mistake in rsync.xinetd. #66036 & dup #75006 + +* Wed Dec 11 2002 Tim Powers 2.5.5-2 +- rebuild on all arches + +* Mon Jun 24 2002 Bill Nottingham 2.5.5-1 +- update to 2.5.5 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed Apr 10 2002 Bill Nottingham 2.5.4-2 +- upstream patches: fix accidental use of --whole-file, fix + minor memory leak, and bad worst-case child kill behavior +- make passing -e to rsync:// URLs not cause an error exit (#62489) + +* Wed Mar 13 2002 Bill Nottingham 2.5.4-1 +- update to 2.5.4, do assorted patchmerging + +* Wed Feb 20 2002 Bill Nottingham +- fix --address (#60127) +- call setgroups before dropping privs () + +* Mon Jan 28 2002 Bill Nottingham +- fix some errors in the unsigned patch + +* Sun Jan 27 2002 Bill Nottingham +- rebuild to get proper LFS_CFLAGS + +* Wed Jan 23 2002 Bill Nottingham +- fix some signed/unsigned issues () +- tweak ipv6 patch (#55337, ) +- make xinetd file %%config(noreplace) + +* Fri Aug 17 2001 Bill Nottingham +- fix segfault on weird arguments (#51801) + +* Tue Jul 24 2001 Bill Nottingham +- IPv6 patch () (#47780) + +* Tue Jun 19 2001 Bill Nottingham +- add patch to fix hangs at end of sync, and other odd behaviors (#42111) + +* Sat Sep 30 2000 Florian La Roche +- add xinetd configuration + +* Tue Sep 26 2000 Bernhard Rosenkraenzer +- 2.4.6 + +* Mon Jul 31 2000 Bill Nottingham +- update to 2.4.4 - fixes yet another problem with rsh transport + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Sat Jun 10 2000 Bill Nottingham +- rebuild in new build env. + +* Mon Apr 10 2000 Bill Nottingham +- update to 2.4.3 + +* Tue Apr 4 2000 Bill Nottingham +- update to 2.4.2 + +* Tue Mar 7 2000 Bill Nottingham +- fix maxdelete behavior so it isn't sent to older servers. + +* Mon Jan 31 2000 Jeff Johnson +- update to 2.4.1. + +* Fri Dec 17 1999 Bill Nottingham +- update to 2.3.2 + +* Sat Jun 12 1999 Jeff Johnson +- add "max. delete" patch to limit damage when server is hosed. + +* Wed Apr 07 1999 Bill Nottingham +- update to 2.3.1. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 2) + +* Tue Mar 16 1999 Jeff Johnson +- update to 2.3.0. + +* Sat Mar 13 1999 Jeff Johnson +- update to 2.3.0 beta. + +* Fri Dec 18 1998 Bill Nottingham +- update to 2.2.1 + +* Thu Sep 10 1998 Jeff Johnson +- updated to 2.1.1 + +* Mon Aug 17 1998 Erik Troan +- updated to 2.1.0 + +* Thu Aug 06 1998 Erik Troan +- buildrooted and attr-rophied +- removed tech-report.ps; the .tex should be good enough + +* Mon Aug 25 1997 John A. Martin +- Built 1.6.3-2 after finding no rsync-1.6.3-1.src.rpm although there + was an ftp://ftp.redhat.com/pub/contrib/alpha/rsync-1.6.3-1.alpha.rpm + showing no packager nor signature but giving + "Source RPM: rsync-1.6.3-1.src.rpm". +- Changes from 1.6.2-1 packaging: added '$RPM_OPT_FLAGS' to make, strip + to '%%build', removed '%%prefix'. + +* Thu Apr 10 1997 Michael De La Rue +- rsync-1.6.2-1 packaged. (This entry by jam to credit Michael for the + previous package(s).) diff --git a/rsyncd.conf b/rsyncd.conf new file mode 100644 index 0000000..6e058aa --- /dev/null +++ b/rsyncd.conf @@ -0,0 +1,20 @@ +# /etc/rsyncd: configuration file for rsync daemon mode + +# See rsyncd.conf man page for more options. + +# configuration example: + +# uid = nobody +# gid = nobody +# use chroot = yes +# max connections = 4 +# pid file = /var/run/rsyncd.pid +# exclude = lost+found/ +# transfer logging = yes +# timeout = 900 +# ignore nonreadable = yes +# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 + +# [ftp] +# path = /home/ftp +# comment = ftp export area diff --git a/rsyncd.service b/rsyncd.service new file mode 100644 index 0000000..d2d6362 --- /dev/null +++ b/rsyncd.service @@ -0,0 +1,12 @@ +[Unit] +Description=fast remote file copy program daemon +ConditionPathExists=/etc/rsyncd.conf +Wants=network-online.target +After=network-online.target + +[Service] +EnvironmentFile=/etc/sysconfig/rsyncd +ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS" + +[Install] +WantedBy=multi-user.target diff --git a/rsyncd.socket b/rsyncd.socket new file mode 100644 index 0000000..7306ad0 --- /dev/null +++ b/rsyncd.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Rsync Server Socket +Conflicts=rsyncd.service + +[Socket] +ListenStream=873 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/rsyncd.sysconfig b/rsyncd.sysconfig new file mode 100644 index 0000000..90a5a43 --- /dev/null +++ b/rsyncd.sysconfig @@ -0,0 +1 @@ +OPTIONS="" diff --git a/rsyncd@.service b/rsyncd@.service new file mode 100644 index 0000000..89f9621 --- /dev/null +++ b/rsyncd@.service @@ -0,0 +1,8 @@ +[Unit] +Description=fast remote file copy program daemon +ConditionPathExists=/etc/rsyncd.conf + +[Service] +EnvironmentFile=/etc/sysconfig/rsyncd +ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS" +StandardInput=socket diff --git a/sources b/sources new file mode 100644 index 0000000..506823e --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (rsync-3.1.3.tar.gz) = 8385f4c0ea37e7a1da3cf45794154f5bc4d1c49bc625ba3b5f85adaf3eafe6d71c15bdcb1410bde731e5d4c19aff3331606637462fa27a68dc3e13192dd78f99 +SHA512 (rsync-patches-3.1.3.tar.gz) = eb0762faa8a2c170986e7e94a75f5dbe8fdb86b980bacc60e92df2c60e6340fdafa5256d67284d52ac32e097663c596533007db91d2b3ec6088a381cb229dc9f