Wayne Davison [Fri, 11 Jul 2008 16:34:28 +0000 (09:34 -0700)]
If the user specifies --protocol=29, rsync will avoid sending an -e
option to the server (which is only useful for protocols 30 and above
anyway). This gives the user an easy way to talk to a restricted
server that has overly restrictive option-checking.
Wayne Davison [Sat, 5 Jul 2008 07:21:05 +0000 (00:21 -0700)]
The --progress output now leaves the cursor at the end of the line
(instead of the start) in order to be extra sure that an error won't
overwrite it. We also ensure that the progress option can't be enabled
on the server side.
Wayne Davison [Tue, 24 Jun 2008 06:05:07 +0000 (23:05 -0700)]
Some deny-rsync fixes:
- Fixed messages longer than 63 chars.
- Don't require the presence of a "bc" program.
- Append a newline to the message to make the script easier to call.
- Make extra sure the message outputs without escape interpretation.
- Stick around long enough for a client to reliably get the message.
Wayne Davison [Mon, 9 Jun 2008 04:07:30 +0000 (21:07 -0700)]
A couple more xattr improvements:
- Made the XSTATE_* defines avoid using 0.
- Call !XATTR_ABBREV() in recv_xattr_request().
- Improved the "internal abbrev" error message.
- Fixed the potential for a directory time glitch in xattrs.diff.
Wayne Davison [Mon, 9 Jun 2008 03:26:22 +0000 (20:26 -0700)]
Fixed an "Internal abbrev error" when dealing with an xattr value
that is unchanged on an early file, and changed on a later file.
Added 2 new test cases to ensure this stays fixed.
Wayne Davison [Wed, 4 Jun 2008 14:13:22 +0000 (07:13 -0700)]
Improved the proto.h target so that a build in a different dir from the
srcdir will ensure that the builddir has a copy of the proto.h file when
the Makefile found it to be out of date. This prevents the repeated
building of all the targets when the srcdir's proto.h file is accurate,
but older than the newest .c file.
Wayne Davison [Sat, 31 May 2008 21:41:20 +0000 (14:41 -0700)]
Have send_file_list() check is_excluded() (but only on non-dot-dirs)
and then call send_file_name() with NO_FILTERS. This gets rid of
the need for a FLAG_DOTDIR_NAME flag (used only by make_file()).
Wayne Davison [Sat, 31 May 2008 16:08:13 +0000 (09:08 -0700)]
Make sure the generator doesn't try to send a negative checksum count to
the sender (which would cause it to die with a cryptic error). Instead,
warn the user when the file's size is too large for checksum processing.
Wayne Davison [Tue, 6 May 2008 17:39:19 +0000 (10:39 -0700)]
Added options to tls.c to allow us to ask for mtime and ownership info
on symlinks. The testsuite will now pass these options to tls if rsync
is configured to affect such attributes on symlinks.
Wayne Davison [Tue, 29 Apr 2008 04:17:36 +0000 (21:17 -0700)]
- Changed prev_name into a buffer so that there is no chance that its
contents can be overwritten by other calls to f_name().
- Changed an hlink assert into a check that provides more debug info.
Wayne Davison [Sat, 19 Apr 2008 02:55:08 +0000 (19:55 -0700)]
Reorder the filenames to touch to try to avoid a weird error on Solaris
5.8. Also, use lsh in one of the runs in order to try a hard-link run
that uses a (pretend) remote shell.
Wayne Davison [Fri, 18 Apr 2008 14:20:30 +0000 (07:20 -0700)]
Added a --no-cd option to support/lsh so that the script can be used by
the testsuite. Improved the home-directory-changing code and added an
error message when "localhost" is not the hostname specified. Use the
updated script in the testsuite instead of creating a pretend-ssh script
in a couple spots.
Wayne Davison [Tue, 15 Apr 2008 15:39:59 +0000 (08:39 -0700)]
When running in --progress mode with a progress message active, the
client now outputs a newline prior to an error message, which avoids
overwriting the active file's last progress line.
Wayne Davison [Tue, 1 Apr 2008 19:19:36 +0000 (12:19 -0700)]
Define a "srcdir" in the spec file and use it in the URLs for the
source files so that they use the unchanging src or src-preview
subdirectory location for the file.
Wayne Davison [Sun, 30 Mar 2008 22:40:34 +0000 (15:40 -0700)]
Improved the chdir() code:
- Renamed push_dir() to change_dir() and revised it a little so that it
can chdir() to a relative path without an intervening chdir() back to
the staring path.
- Renamed push_pathname() to change_pathname() and revised it to take
different args and to only call path_is_daemon_excluded() on a new
path (not a revisit of a file's already-checked path).
- Fixed change_pathname() to set the right pathname value when a chdir()
call fails.
- Set orig_dir once outside of the change_pathname() function.
- Got rid of pop_dir().
Wayne Davison [Sun, 30 Mar 2008 05:53:03 +0000 (22:53 -0700)]
Improved the code that protects a '.' dir from exclusion.
This fixed a glitch in the daemon-exclusion code that allowed
an exclude rule such as ".*" or "*/" to affect a '.' dir.
Wayne Davison [Fri, 28 Mar 2008 17:30:19 +0000 (10:30 -0700)]
Allow the file-list sending code to set XMIT_SAME_UID/XMIT_SAME_GID
when owner/group info isn't being preserved. This helps to ensure
that the lower 8 bits of the xflags aren't 0, and is what older
rsync versions did.
Wayne Davison [Tue, 25 Mar 2008 17:46:06 +0000 (10:46 -0700)]
Fixed the way rsync handles iconv-conversion problems in the file-list:
- If the sender cannot convert a name, the discarding of the entry now
occurs soon enough to avoid affecting the sender's list (which was
causing the file-list on the receiving side to be out of sync).
- If the receiver cannot convert a name, its transformation of the name
into an empty name (which indicates that the entry should be skipped)
is no longer thwarted by the clean_fname() call (which was changing
the name into a ".").
Wayne Davison [Tue, 25 Mar 2008 03:30:44 +0000 (20:30 -0700)]
Some more improvements for the packaging/release-rsync script:
- Check early if the version tag already exists, so it aborts right
away if the release script can't do its work.
- Update the files in the "patches" dir while merging the master branch
into the patch branches (done before creating the release patches for
the rsync-patches tar file).
- Allow the user to ask to visit each patch when updating them.
- Pause after initial patch updating so that any extra patch changes
can be done before the creating of the tar files.
- Ask for the GPG signing passphrase once for all signing commands.
Wayne Davison [Tue, 25 Mar 2008 02:30:51 +0000 (19:30 -0700)]
Some improvements for support/patch-update:
- Added a --shell option which starts a sub-shell on each patch branch.
- Don't allow the user to exit a sub-shell if the branch is not clean.
- If the sub-shell exited with a non-zero exit status, prompt to see if
the user wanted to abort rather than assuming that.
- Wait to start the new patch-file output until after the shell runs.
- Always return to the starting branch on exit.
Wayne Davison [Mon, 24 Mar 2008 16:33:07 +0000 (09:33 -0700)]
Improved --dirs/--no-dirs/--list-only option handling:
- Moved setting of list_only and xfer_dirs from main.c to options.c.
- Fixed the ability of the user to force --no-dirs.
- Added the --old-dirs/--old-d option to make it easier to interact
in list-only mode with an older rsync.
- Suggest the use of --old-d instead of "-r --exclude='/*/*'".