Skip to content

Commit

Permalink
rsync 3.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
MageSlayer committed Sep 25, 2016
1 parent 09d5701 commit 650d097
Show file tree
Hide file tree
Showing 86 changed files with 1,119 additions and 875 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ config.h.in
config.h.in.old
config.log
config.status
aclocal.m4
/proto.h
/proto.h-tstamp
/rsync.1
Expand All @@ -23,11 +24,15 @@ config.status
/getgroups
/gmon.out
/rsync
/rsync-ssl
/stunnel-rsync
/stunnel-rsyncd.conf
/shconfig
/testdir
/tests-dont-exist
/testtmp
/tls
/testrun
/trimslash
/t_unsafe
/wildtest
Expand All @@ -40,3 +45,4 @@ config.status
/testsuite/devices-fake.test
/testsuite/xattrs-hlink.test
/patches
.deps
27 changes: 10 additions & 17 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
EXEEXT=@EXEEXT@
LDFLAGS=@LDFLAGS@
LIBOBJDIR=lib/

INSTALLCMD=@INSTALL@
INSTALLMAN=@INSTALL@
Expand All @@ -28,7 +29,7 @@ VERSION=@RSYNC_VERSION@
.SUFFIXES:
.SUFFIXES: .c .o

GENFILES=configure.sh config.h.in proto.h proto.h-tstamp rsync.1 rsyncd.conf.5
GENFILES=configure.sh aclocal.m4 config.h.in proto.h proto.h-tstamp rsync.1 rsyncd.conf.5
HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \
lib/pool_alloc.h
LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o \
Expand Down Expand Up @@ -74,12 +75,12 @@ install: all

install-ssl-client: rsync-ssl stunnel-rsync
-${MKDIR_P} ${DESTDIR}${bindir}
${INSTALLCMD} ${INSTALL_STRIP} -m 755 rsync-ssl ${DESTDIR}${bindir}
${INSTALLCMD} ${INSTALL_STRIP} -m 755 stunnel-rsync ${DESTDIR}${bindir}
${INSTALLCMD} -m 755 rsync-ssl ${DESTDIR}${bindir}
${INSTALLCMD} -m 755 stunnel-rsync ${DESTDIR}${bindir}

install-ssl-daemon: stunnel-rsyncd.conf
-${MKDIR_P} ${DESTDIR}/etc/stunnel
${INSTALLCMD} ${INSTALL_STRIP} -m 644 stunnel-rsyncd.conf ${DESTDIR}/etc/stunnel/rsyncd.conf
${INSTALLCMD} -m 644 stunnel-rsyncd.conf ${DESTDIR}/etc/stunnel/rsyncd.conf
@if ! ls /etc/rsync-ssl/certs/server.* >/dev/null 2>/dev/null; then \
echo "Note that you'll need to install the certificate used by /etc/stunnel/rsyncd.conf"; \
fi
Expand Down Expand Up @@ -138,11 +139,14 @@ t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
gen: conf proto.h man

gensend: gen
rsync -aivzc $(GENFILES) samba.org:/home/ftp/pub/rsync/generated-files/
rsync -aivzc $(GENFILES) $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/

conf:
cd $(srcdir) && $(MAKE) -f prepare-source.mak conf

aclocal.m4: $(srcdir)/m4/*.m4
aclocal -I $(srcdir)/m4

configure.sh config.h.in: configure.ac aclocal.m4
@if test -f configure.sh; then cp -p configure.sh configure.sh.old; else touch configure.sh.old; fi
@if test -f config.h.in; then cp -p config.h.in config.h.in.old; else touch config.h.in.old; fi
Expand Down Expand Up @@ -303,21 +307,10 @@ installcheck: $(CHECK_PROGS) $(CHECK_SYMLINKS)
splint:
splint +unixlib +gnuextensions -weak rsync.c


rsync.dvi: doc/rsync.texinfo
texi2dvi -o $@ $<

rsync.ps: rsync.dvi
dvips -ta4 -o $@ $<

rsync.pdf: doc/rsync.texinfo
texi2dvi -o $@ --pdf $<


doxygen:
cd $(srcdir) && rm dox/html/* && doxygen

# for maintainers only
doxygen-upload:
rsync -avzv $(srcdir)/dox/html/ --delete \
samba.org:/home/httpd/html/rsync/doxygen/head/
$${SAMBA_HOST-samba.org}:/home/httpd/html/rsync/doxygen/head/
140 changes: 36 additions & 104 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,115 +1,47 @@
NEWS for rsync 3.1.1 (22 Jun 2014)
NEWS for rsync 3.1.2 (21 Dec 2015)
Protocol: 31 (unchanged)
Changes since 3.1.0:
Changes since 3.1.1:

BUG FIXES:

- If the receiver gets bogus filenames from the sender (an unexpected
leading slash or a ".." infix dir), exit with an error. This prevents a
malicious sender from trying to inject filenames that would affect an
area outside the destination directories.

- Fixed a failure to remove the partial-transfer temp file when interrupted
(and rsync is not saving the partial files).

- Changed the chown/group/xattr-set order to avoid losing some security-
related xattr info (that would get cleared by a chown).

- Fixed a bug in the xattr-finding code that could make a non-root-run
receiver not able to find some xattr numbers.

- Fixed a bug in the early daemon protocol where a timeout failed to be
honored (e.g. if the remote side fails to send us the initial protocol
greeting).

- Fixed unintended inclusion of commas in file numbers in the daemon log.

- We once again send the 'f' sub-flag (of -e) to the server side so it
knows that we can handle incremental-recursion directory errors properly
in older protocols.

- Fixed an issue with too-aggressive keep-alive messages causing a problem
for older rsync versions early in the transfer.

- Fixed an incorrect message about backup-directory-creation when using
--dry-run and the backup dir is not an absolute path.

- Fixed a bug where a failed deletion and/or a failed sender-side removal
would not affect the exit code.

- Fixed a bug that caused a failure when combining --delete-missing-args
with --xattrs and/or --acls.

- Fixed a strange dir_depth assertion error that was caused by empty-dir
removals and/or duplicate files in the transfer.

- Fixed a problem with --info=progress2's output stats where rsync would
only update the stats at the end of each file's transfer. It now uses
the data that is flowing for the current file, making the stats more
accurate and less jumpy.

- Fixed an itemize bug that affected the combo of --link-dest, -X, and -n.

- Fixed a problem with delete messages not appearing in the log file when
the user didn't use --verbose.
SECURITY FIXES:

- Improve chunked xattr reading for OS X.
- Make sure that all transferred files use only path names from inside the
transfer. This makes it impossible for a malicious sender to try to make
the receiver use an unsafe destination path for a transferred file, such
as a just-sent symlink.

- Removed an attempted hard-link xattr optimization that was causing a
transfer failure. This removal is flagged in the compatibility code, so
if a better fix can be discovered, we have a way to flip it on again.

- Fixed a bug when the receiver is not configured to be able to hard link
symlimks/devices/special-file items but the sender sent some of these
items flagged as hard-linked.

- We now generate a better error if the buffer overflows in do_mknod().

- Fixed a problem reading more than 16 ACLs on some OSes.

- Fixed the reading of the secrets file to avoid an infinite wait when
the username is missing.

- Fixed a parsing problem in the --usermap/--groupmap options when using
MIN-MAX numbers.

- Switched Cygwin back to using socketpair "pipes" to try to speed it up.
BUG FIXES:

- Added knowledge of a few new options to rrsync.
- Change the checksum seed order in the per-block checksums. This prevents
someone from trying to create checksum blocks that match in sum but not
content.
- Fixed a with the per-dir filter files (using -FF) that could trigger an
assert failure.
- Only skip set_modtime() on a transferred file if the time is exactly
right.
- Don't create an empty backup dir for a transferred file that doesn't
exist yet.
- Fixed a bug where --link-dest and --xattrs could cause rsync to exit if
a filename had a matching dir of the same name in the alt-dest area.
- Allow more than 32 group IDs per user in the daemon's gid=LIST config.
- Fix the logging of %b & %c via --log-file (daemon logging was already
correct, as was --out-format='%b/%c').
- Fix erroneous acceptance of --info=5 & --debug=5 (an empty flag name is
not valid).

ENHANCEMENTS:

- Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file
names will not get a '.' prepended.

- Added support for a new-compression idiom that does not compress all the
matching data in a transfer. This can help rsync to use less cpu when a
transfer has a lot of matching data, and also makes rsync compatible with
a non-bundled zlib. See the --new-compress and --old-compress options in
the manpage.

- Added the support/rsync-no-vanished wrapper script.

- Made configure more prominently mention when we failed to find yodl (in
case the user wants to be able to generate manpages from *.yo files).

- Have manpage mention how a daemon's max-verbosity setting affects info
and debug options. Also added more clarification on backslash removals
for excludes that contain wildcards.

- Have configure check if for the attr lib (for getxattr) for those systems
that need to link against it explicitly.

- Change the early dir-creation logic to only use that idiom in an
inc-recursive copy that is preserving directory times. e.g. using
--omit-dir-times will avoid these early directories being created.

- Fix a bug in cmp_time() that would return a wrong result if the 2 times
differed by an amount greater than what a time_t can hold.
- Added "(DRY RUN)" info to the --debug=exit output line.
- Use usleep() for our msleep() function if it is available.
- Added a few extra long-option names to rrsync script, which will make
BackupPC happier.
- Made configure choose to use linux xattrs on netbsd (rather than not
supporting xattrs).
- Added -wo (write-only) option to rrsync support script.
- Misc. manpage tweaks.

DEVELOPER RELATED:

- We now include an example systemd file (in packaging/systemd).

- Tweaked configure to make sure that any intended use of the included popt
and/or zlib code is put early in the CFLAGS.
- Fixed a bug with the Makefile's use of INSTALL_STRIP.
- Improve a test in the suite that could get an erroneous timestamp error.
- Tweaks for newer versions of git in the packaging tools.
- Improved the m4 generation rules and some autoconf idioms.
117 changes: 117 additions & 0 deletions OLDNEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,119 @@
NEWS for rsync 3.1.1 (22 Jun 2014)
Protocol: 31 (unchanged)
Changes since 3.1.0:

BUG FIXES:

- If the receiver gets bogus filenames from the sender (an unexpected
leading slash or a ".." infix dir), exit with an error. This prevents a
malicious sender from trying to inject filenames that would affect an
area outside the destination directories.

- Fixed a failure to remove the partial-transfer temp file when interrupted
(and rsync is not saving the partial files).

- Changed the chown/group/xattr-set order to avoid losing some security-
related xattr info (that would get cleared by a chown).

- Fixed a bug in the xattr-finding code that could make a non-root-run
receiver not able to find some xattr numbers.

- Fixed a bug in the early daemon protocol where a timeout failed to be
honored (e.g. if the remote side fails to send us the initial protocol
greeting).

- Fixed unintended inclusion of commas in file numbers in the daemon log.

- We once again send the 'f' sub-flag (of -e) to the server side so it
knows that we can handle incremental-recursion directory errors properly
in older protocols.

- Fixed an issue with too-aggressive keep-alive messages causing a problem
for older rsync versions early in the transfer.

- Fixed an incorrect message about backup-directory-creation when using
--dry-run and the backup dir is not an absolute path.

- Fixed a bug where a failed deletion and/or a failed sender-side removal
would not affect the exit code.

- Fixed a bug that caused a failure when combining --delete-missing-args
with --xattrs and/or --acls.

- Fixed a strange dir_depth assertion error that was caused by empty-dir
removals and/or duplicate files in the transfer.

- Fixed a problem with --info=progress2's output stats where rsync would
only update the stats at the end of each file's transfer. It now uses
the data that is flowing for the current file, making the stats more
accurate and less jumpy.

- Fixed an itemize bug that affected the combo of --link-dest, -X, and -n.

- Fixed a problem with delete messages not appearing in the log file when
the user didn't use --verbose.

- Improve chunked xattr reading for OS X.

- Removed an attempted hard-link xattr optimization that was causing a
transfer failure. This removal is flagged in the compatibility code, so
if a better fix can be discovered, we have a way to flip it on again.

- Fixed a bug when the receiver is not configured to be able to hard link
symlimks/devices/special-file items but the sender sent some of these
items flagged as hard-linked.

- We now generate a better error if the buffer overflows in do_mknod().

- Fixed a problem reading more than 16 ACLs on some OSes.

- Fixed the reading of the secrets file to avoid an infinite wait when
the username is missing.

- Fixed a parsing problem in the --usermap/--groupmap options when using
MIN-MAX numbers.

- Switched Cygwin back to using socketpair "pipes" to try to speed it up.

- Added knowledge of a few new options to rrsync.

ENHANCEMENTS:

- Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file
names will not get a '.' prepended.

- Added support for a new-compression idiom that does not compress all the
matching data in a transfer. This can help rsync to use less cpu when a
transfer has a lot of matching data, and also makes rsync compatible with
a non-bundled zlib. See the --new-compress and --old-compress options in
the manpage.

- Added the support/rsync-no-vanished wrapper script.

- Made configure more prominently mention when we failed to find yodl (in
case the user wants to be able to generate manpages from *.yo files).

- Have manpage mention how a daemon's max-verbosity setting affects info
and debug options. Also added more clarification on backslash removals
for excludes that contain wildcards.

- Have configure check if for the attr lib (for getxattr) for those systems
that need to link against it explicitly.

- Change the early dir-creation logic to only use that idiom in an
inc-recursive copy that is preserving directory times. e.g. using
--omit-dir-times will avoid these early directories being created.

- Fix a bug in cmp_time() that would return a wrong result if the 2 times
differed by an amount greater than what a time_t can hold.

DEVELOPER RELATED:

- We now include an example systemd file (in packaging/systemd).

- Tweaked configure to make sure that any intended use of the included popt
and/or zlib code is put early in the CFLAGS.

NEWS for rsync 3.1.0 (28 Sep 2013)
Protocol: 31 (changed)
Changes since 3.0.9:
Expand Down Expand Up @@ -3534,6 +3650,7 @@ Changes since 2.4.6:

Partial Protocol History
RELEASE DATE VER. DATE OF COMMIT* PROTOCOL
21 Dec 2015 3.1.2 31
22 Jun 2014 3.1.1 31
28 Sep 2013 3.1.0 31 Aug 2008 31
23 Sep 2011 3.0.9 30
Expand Down
2 changes: 1 addition & 1 deletion access.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* Routines to authenticate access to a daemon (hosts allow/deny).
*
* Copyright (C) 1998 Andrew Tridgell
* Copyright (C) 2004-2014 Wayne Davison
* Copyright (C) 2004-2015 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down
Loading

0 comments on commit 650d097

Please sign in to comment.