Wayne Davison [Tue, 17 Jun 2008 22:59:47 +0000 (15:59 -0700)]
Avoid problems with timestamp rounding that cp -p and touch -r may do.
Wayne Davison [Fri, 13 Jun 2008 06:08:43 +0000 (23:08 -0700)]
Fix the problem with setting xattrs on a directory that has an
identical match found in a --link-dest/--copy-dest hierarchy.
Wayne Davison [Thu, 12 Jun 2008 13:59:51 +0000 (06:59 -0700)]
Cast the datum_len value to a long for rprintf().
Wayne Davison [Mon, 9 Jun 2008 14:42:03 +0000 (07:42 -0700)]
Handle a solo_file of a directory for --delete-during.
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 16:01:02 +0000 (09:01 -0700)]
Improved the progress_is_active code to not overwrite the progress
output in more circumstances.
Wayne Davison [Wed, 4 Jun 2008 15:15:51 +0000 (08:15 -0700)]
Improved handling of a system that doesn't have a 64-bit offset type.
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:52:24 +0000 (14:52 -0700)]
Improved the daemon testing, including adding a test to ensure that
daemon excludes can't exclude a dot dir.
Wayne Davison [Sat, 31 May 2008 21:51:38 +0000 (14:51 -0700)]
Fixed the destination path check so that it cannot exclude a
dot dir.
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 18:27:13 +0000 (11:27 -0700)]
If an arg is excluded, don't include its implied dirs.
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 [Thu, 22 May 2008 23:44:01 +0000 (16:44 -0700)]
Fixed the backing up of a device or socket.
Wayne Davison [Thu, 22 May 2008 14:32:11 +0000 (07:32 -0700)]
A cuple more fixes for --xattrs combined with --backup, this time to
handle when --link-dest is also used.
Wayne Davison [Sun, 18 May 2008 14:00:48 +0000 (07:00 -0700)]
Fixed the "src" symlink in each testtmp subdir.
Wayne Davison [Sat, 17 May 2008 22:07:24 +0000 (15:07 -0700)]
Fix some path problems when the build dir is not the
source dir.
Wayne Davison [Sat, 17 May 2008 17:02:19 +0000 (10:02 -0700)]
Preparing for release of 3.0.3pre2
Wayne Davison [Sat, 17 May 2008 16:57:08 +0000 (09:57 -0700)]
Fixed an "else" in the device-making part of keep_backup().
Wayne Davison [Sat, 17 May 2008 16:45:13 +0000 (09:45 -0700)]
Mention the latest fixes in the NEWS.
Wayne Davison [Sat, 17 May 2008 16:30:46 +0000 (09:30 -0700)]
Fixed several issues with preserving xattrs when using --backup.
Wayne Davison [Sat, 17 May 2008 14:44:20 +0000 (07:44 -0700)]
Preserve the right errno value when trying adjunct functions during
robust backup, copy, and renaming activities.
Wayne Davison [Sat, 10 May 2008 06:49:41 +0000 (23:49 -0700)]
Improved the docs for --inplace and made the mentions of
rsync's delta-transfer algorithm more consistent.
Wayne Davison [Thu, 8 May 2008 05:12:57 +0000 (22:12 -0700)]
Preparing for release of 3.0.3pre1
Wayne Davison [Thu, 8 May 2008 05:11:17 +0000 (22:11 -0700)]
The test of HAVE_LUTIMES accidentally omitted the 'L'.
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 [Thu, 1 May 2008 23:14:39 +0000 (16:14 -0700)]
Adding missing entry for 3.0.3 protocol-history list.
Wayne Davison [Tue, 29 Apr 2008 04:29:15 +0000 (21:29 -0700)]
Mention all the latest changes in the NEWS.
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 [Mon, 28 Apr 2008 01:45:13 +0000 (18:45 -0700)]
Fixed a crash if a non-incremental-recursion transfer has a
skipped file in a set of hard-links.
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 [Wed, 16 Apr 2008 16:32:22 +0000 (09:32 -0700)]
Fixed a problem with how the daemon filters deal with
a destination directory with a trailing slash.
Wayne Davison [Wed, 16 Apr 2008 16:30:28 +0000 (09:30 -0700)]
Don't allow '.' dir to be excluded by the daemon's filter rules.
Wayne Davison [Wed, 16 Apr 2008 16:11:15 +0000 (09:11 -0700)]
A few $last_touch tweaks.
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, 15 Apr 2008 15:34:17 +0000 (08:34 -0700)]
Moved the setting of the socket options before the connect().
Wayne Davison [Tue, 15 Apr 2008 15:32:41 +0000 (08:32 -0700)]
Fixed the %M escape, which was munging the wrong spaces.
Wayne Davison [Tue, 15 Apr 2008 15:27:38 +0000 (08:27 -0700)]
Use overflow_exit() for overflows, not out_of_memory().
Wayne Davison [Tue, 15 Apr 2008 15:26:00 +0000 (08:26 -0700)]
Consistently call the daemon parameters "parameters", not "options",
which allows us to distinguish them from rsync's command-line options.
Wayne Davison [Tue, 15 Apr 2008 15:12:56 +0000 (08:12 -0700)]
Updated the README and the NEWS file.
Wayne Davison [Sat, 12 Apr 2008 05:32:38 +0000 (22:32 -0700)]
Fix a file-globbing bug in the daemon when chroot is on.
Wayne Davison [Sat, 12 Apr 2008 04:57:17 +0000 (21:57 -0700)]
If the daemon test is run as root, use a --config option.
Wayne Davison [Sat, 12 Apr 2008 04:48:32 +0000 (21:48 -0700)]
Prepare repository for more development.
Wayne Davison [Tue, 8 Apr 2008 15:16:05 +0000 (08:16 -0700)]
Preparing for release of 3.0.2
Wayne Davison [Tue, 8 Apr 2008 15:15:39 +0000 (08:15 -0700)]
Call patch-update in its new location.
Wayne Davison [Tue, 8 Apr 2008 15:01:56 +0000 (08:01 -0700)]
Roll over the NEWS files for the next release.
Wayne Davison [Tue, 8 Apr 2008 15:01:43 +0000 (08:01 -0700)]
Fixed a potential overflow issue with realloc() that Sebastian Krahmer
pointed out.
Wayne Davison [Sun, 6 Apr 2008 05:46:48 +0000 (22:46 -0700)]
Have the spec file put more useful stuff into the doc dir.
Wayne Davison [Sun, 6 Apr 2008 05:45:12 +0000 (22:45 -0700)]
Moving some files from support into packaging.
Wayne Davison [Fri, 4 Apr 2008 07:17:00 +0000 (00:17 -0700)]
Comment out the Source1 tar file by default in the spec file.
Wayne Davison [Fri, 4 Apr 2008 07:05:44 +0000 (00:05 -0700)]
Fixed the code that removes old file versions for a final release.
Wayne Davison [Fri, 4 Apr 2008 07:04:58 +0000 (00:04 -0700)]
Bump the repository version to 3.0.2dev.
Wayne Davison [Fri, 4 Apr 2008 05:37:01 +0000 (22:37 -0700)]
Preparing for release of 3.0.1
Wayne Davison [Wed, 2 Apr 2008 03:00:08 +0000 (20:00 -0700)]
A few more spec-file tweaks.
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 [Mon, 31 Mar 2008 21:10:07 +0000 (14:10 -0700)]
Tweaked spec to use "rsync" in place of "%{name}" in a few
places (which allows for easier creation of adjunct RPMs).
Wayne Davison [Mon, 31 Mar 2008 14:46:47 +0000 (07:46 -0700)]
A simple change to change_pathname() to ensure that the error output
mentions the right path when dir == NULL.
Wayne Davison [Mon, 31 Mar 2008 06:29:43 +0000 (23:29 -0700)]
Preparing for release of 3.0.1pre3
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 15:05:50 +0000 (08:05 -0700)]
Some argc-based actions in parse_arguments() shouldn't happen on
the server side.
Wayne Davison [Sun, 30 Mar 2008 15:05:42 +0000 (08:05 -0700)]
Fixed a path-exclusion glitch when checking more than one arg.
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:40:17 +0000 (10:40 -0700)]
Extended a test to ensure that hard-linked distant files continues
to work in incremental-recursion mode.
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 [Fri, 28 Mar 2008 17:30:11 +0000 (10:30 -0700)]
Dump an extraneous empty line.
Wayne Davison [Thu, 27 Mar 2008 00:12:07 +0000 (17:12 -0700)]
Preparing for release of 3.0.1pre2
Wayne Davison [Thu, 27 Mar 2008 00:04:29 +0000 (17:04 -0700)]
Mention two more NEWS items.
Wayne Davison [Wed, 26 Mar 2008 23:49:12 +0000 (16:49 -0700)]
Ensure that a per-dir merge file is also loaded from implied directories
in the sender (was working in incremental mode).
Wayne Davison [Wed, 26 Mar 2008 23:12:39 +0000 (16:12 -0700)]
Fixed the discovery of a prior finished hard-link when the entry
is old enough that it is no longer in the flist data.
Wayne Davison [Wed, 26 Mar 2008 21:01:52 +0000 (14:01 -0700)]
Improved a length check in parse_merge_name().
Wayne Davison [Wed, 26 Mar 2008 18:01:09 +0000 (11:01 -0700)]
Ensure that a per-dir merge file is also loaded from implied directories
in the generator (for protocol 30, at least).
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 04:15:51 +0000 (21:15 -0700)]
Preparing for release of 3.0.1pre1
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 17:09:00 +0000 (10:09 -0700)]
Don't send daemon-config filter-action messages back to the user.
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='/*/*'".
Wayne Davison [Sun, 23 Mar 2008 17:06:53 +0000 (10:06 -0700)]
Added a couple more NEWS items.
Wayne Davison [Sun, 23 Mar 2008 14:33:24 +0000 (07:33 -0700)]
Properly handle a new patch-branch that is only available locally.
Wayne Davison [Sun, 23 Mar 2008 06:45:05 +0000 (23:45 -0700)]
Changed the way version numbering of pre-releases will be done in
the RPM spec file so that they order prior to the final release.
Wayne Davison [Sun, 23 Mar 2008 05:15:20 +0000 (22:15 -0700)]
More NEWS updates and improvements.
Wayne Davison [Sat, 22 Mar 2008 22:29:34 +0000 (15:29 -0700)]
Made the filename arg-parsing code skip args that have excluded path
components, returning the same errors that would occur if the path
elements didn't actually exist. The glob_match() code was also
changed to no longer truncate an arg with an excluded path element
(it just omits excluded items from glob matching).
Wayne Davison [Sat, 22 Mar 2008 19:34:03 +0000 (12:34 -0700)]
Added XFLG_DIR2WILD3 flag that the daemon uses to transform any
config-file dir/ exclude rule into a dir/*** rule.
Wayne Davison [Sat, 22 Mar 2008 19:30:43 +0000 (12:30 -0700)]
A couple fixes in add_rule() for XFLG_ABS_IF_SLASH:
- Remove the trailing slash earlier, so that it doesn't
affect the XFLG_ABS_IF_SLASH check.
- Count the slashes earlier so that the XFLG_ABS_IF_SLASH
can use it instead of using a strchr() all that could
scan past the end of the input.
Wayne Davison [Sat, 22 Mar 2008 19:21:41 +0000 (12:21 -0700)]
Change ex_len to pre_len in add_rule().
Wayne Davison [Sat, 22 Mar 2008 15:13:04 +0000 (08:13 -0700)]
Improved ENSURE_MEMSPACE() macro and use it in more places in glob code.
Wayne Davison [Sat, 22 Mar 2008 00:50:01 +0000 (17:50 -0700)]
Mention the most recent changes in the NEWS.
Wayne Davison [Fri, 21 Mar 2008 23:28:20 +0000 (16:28 -0700)]
Some RPM spec file improvements:
- Added installation of new /etc/xinetd.d/rsync config file.
- Added commented-out lines to demonstrate how to use rsync-patches.
Wayne Davison [Fri, 21 Mar 2008 22:00:28 +0000 (15:00 -0700)]
Make glob_expand() return an indicator if the glob had no matches.
Wayne Davison [Fri, 21 Mar 2008 14:26:25 +0000 (07:26 -0700)]
Changed d_name() to be a static inline function.
Wayne Davison [Fri, 21 Mar 2008 14:11:37 +0000 (07:11 -0700)]
A couple improvements to the new arg-globbing code:
- Put all the state variables into a single struct.
- Reuse the buffer memory for each glob_expand() call until a final
call with a NULL pointer tells us to free it.
Wayne Davison [Fri, 21 Mar 2008 05:51:03 +0000 (22:51 -0700)]
Changed the arg-globbing routine to use a custom arg-globbing algorithm
that does not include any daemon-excluded items in the matches. It is
also not subverted by the presence of one or more dot-dir elements in
an arg.
Wayne Davison [Thu, 20 Mar 2008 18:59:54 +0000 (11:59 -0700)]
Some improvements to the file-name cleaning code:
- Removed the CFN_KEEP_LEADING_DOT_DIR flag for clean_fname().
- Explicitly add an implied dot-dir to the transfer rather than keeping
a leading a "./" prefix as a part of a relative pathname.
- Added the CFN_KEEP_DOT_DIRS flag for clean_fname().
- Added the SP_KEEP_DOT_DIRS flag for sanitize_path().
- Call clean_fname() a couple more times.
Wayne Davison [Thu, 20 Mar 2008 17:42:43 +0000 (10:42 -0700)]
Changed the name of the server_filter_list to be
daemon_filter_list, for improved clarity.
Wayne Davison [Thu, 20 Mar 2008 17:35:53 +0000 (10:35 -0700)]
Fixed a bug in the truncating of daemon-excluded paths.
Wayne Davison [Wed, 19 Mar 2008 23:44:11 +0000 (16:44 -0700)]
A couple more support/rrsync tweaks:
- Die if the --server option is not first on the command-line.
- Don't allow the --daemon option by default.
Wayne Davison [Wed, 19 Mar 2008 15:57:41 +0000 (08:57 -0700)]
Some more minor changes for the skip/missing/dry_run code.
Matt McCutchen [Wed, 19 Mar 2008 02:16:41 +0000 (22:16 -0400)]
Unsnarl missing_below/dry_run logic.
The generator can skip a directory's contents altogether due to
--ignore-non-existing, a daemon exclude, or a mkdir failure. On a
--dry-run, the generator can also note the missingness of a directory
while still scanning its contents. These two scenarios were conflated
using a single set of missing_below/missing_dir variables in combination
with transient increments in dry_run; this caused at least three bugs.
Now recv_generator has separate variables for the two scenarios, called
skip_dir and dry_missing_dir, respectively. For simplicity, we take the
F_DEPTH instead of having separate *_below variables. We mark both
kinds of missing dirs with FLAG_MISSING_DIR. (dry_run > 1) iff the
*root* of the destination does not exist; it is no longer incremented
for missing subdirs. I added tests for the three fixed bugs in
missing.test.