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.
Matt McCutchen [Tue, 18 Mar 2008 19:28:36 +0000 (15:28 -0400)]
Fix a poorly placed sentence in rsyncd.conf.yo.
Wayne Davison [Tue, 18 Mar 2008 18:41:00 +0000 (11:41 -0700)]
My modified version of Matt's improvements to the sections on
the various filter parameters.
Wayne Davison [Tue, 18 Mar 2008 17:17:02 +0000 (10:17 -0700)]
Improved arg-path checking so that wildcards can't be used to
avoid a daemon-exclude.
Wayne Davison [Tue, 18 Mar 2008 17:10:13 +0000 (10:10 -0700)]
Use the missing_below code to make the daemon-exclusions
work better.
Wayne Davison [Tue, 18 Mar 2008 16:44:42 +0000 (09:44 -0700)]
Reject a daemon-excluded destination.
Wayne Davison [Tue, 18 Mar 2008 15:43:43 +0000 (08:43 -0700)]
Output a non-existent-file error for server-excluded files instead of
silently ignoring them.
Matt McCutchen [Mon, 17 Mar 2008 19:19:13 +0000 (15:19 -0400)]
More typo fixes.
Wayne Davison [Mon, 17 Mar 2008 17:50:11 +0000 (10:50 -0700)]
A couple more changes for dealing with "checker" warnings.
Matt McCutchen [Mon, 17 Mar 2008 15:30:08 +0000 (11:30 -0400)]
Fix typo in rsyncd.conf man page.
Wayne Davison [Mon, 17 Mar 2008 14:34:22 +0000 (07:34 -0700)]
Attempting to silence some more "checker" warnings.
Wayne Davison [Mon, 17 Mar 2008 05:43:35 +0000 (22:43 -0700)]
Mention all the latest changes in the NEWS file.
Wayne Davison [Mon, 17 Mar 2008 04:49:19 +0000 (21:49 -0700)]
If we're not compiling one or more major options (ACLs, xattrs, & iconv),
try to turn off unused-parameter compiler warnings.
Wayne Davison [Mon, 17 Mar 2008 04:43:27 +0000 (21:43 -0700)]
Changed stat() call to do_stat().
Wayne Davison [Mon, 17 Mar 2008 03:39:16 +0000 (20:39 -0700)]
Moved declaration of "int i" outside the ifdef in send_protected_args().
Wayne Davison [Mon, 17 Mar 2008 03:35:18 +0000 (20:35 -0700)]
If the system's popt.h file is not found, use our provided popt code.
Wayne Davison [Mon, 17 Mar 2008 02:48:44 +0000 (19:48 -0700)]
Added "const" to a couple more char * args.
Wayne Davison [Mon, 17 Mar 2008 01:06:47 +0000 (18:06 -0700)]
Fixed hard-linking when some of the files can get skipped. This adds
the FLAG_SKIP_HLINK flag, which gets set on any hard-linked file that
the user wants to skip (e.g. via --ignore-existing, --append, etc.).
The code in hlink.c now deals with the skipped files instead of
triggering an assert() error.
Wayne Davison [Mon, 17 Mar 2008 00:52:01 +0000 (17:52 -0700)]
Made the FLAG_MOUNT_DIR bit only honored on a directory.
Wayne Davison [Mon, 17 Mar 2008 00:50:28 +0000 (17:50 -0700)]
Moved the --append check so that files that don't need to be transferred
still get their non-content attributes updated, and combining --append
with --hard-links will not prevent the discovery of unchanged files.
Wayne Davison [Mon, 17 Mar 2008 00:06:52 +0000 (17:06 -0700)]
Make the --ignore-existing option not overwrite a regular file with
a dir/symlink/device/special-file, just like it already refuses to
overwrite a non-regular file with a regular file.
Wayne Davison [Sun, 16 Mar 2008 19:11:19 +0000 (12:11 -0700)]
A daemon no longer tries to refuse the iconv option when it is not enabled.
Wayne Davison [Sun, 16 Mar 2008 13:56:26 +0000 (06:56 -0700)]
Fixed a hang when using --remove-source-files in dry-run mode.
Wayne Davison [Sat, 15 Mar 2008 21:09:20 +0000 (14:09 -0700)]
Added missing $(CPPFLAGS) from the building of rounding.h.
Wayne Davison [Sat, 15 Mar 2008 18:25:01 +0000 (11:25 -0700)]
Fixed the use of --protect-args (-s) with a daemon.
Wayne Davison [Sat, 15 Mar 2008 15:51:07 +0000 (08:51 -0700)]
Generate a helpful message when we get an option-error from a daemon
while requesting a file-listing and we suspect that the remote rsync
is complaining about the -d option.
Wayne Davison [Sat, 15 Mar 2008 14:27:33 +0000 (07:27 -0700)]
Another optimization of "bp" adding when creating a file_struct.
Wayne Davison [Sat, 15 Mar 2008 14:26:46 +0000 (07:26 -0700)]
Got rid of some useless uses of the -t option.
Wayne Davison [Sat, 15 Mar 2008 07:43:31 +0000 (00:43 -0700)]
- Fixed a crash bug when backing up files with ACLs enabled and we
create a directory in the backup-path area.
- Fixed a bug where make_file() was setting F_PATHNAME() on the
receiving side.
- A non-pool (temp-memory) file structure now stores the size of
its extra_cnt value in the F_DEPTH() int so that unmake_file()
can always be sure of how to free() the memory.
- The ACL-preserving code no longer allocates 4 more bytes per
file entry than it needs.
- Got rid of a useless adding of the symlink length to "bp".
Wayne Davison [Sat, 15 Mar 2008 05:55:59 +0000 (22:55 -0700)]
Have configure check to see if /usr/include/popt/popt.h is around
(rather than /usr/include/popt.h), and use the included popt lib
if it is (to avoid a potential conflict due to our use of -I.).
Wayne Davison [Fri, 14 Mar 2008 00:45:13 +0000 (17:45 -0700)]
(Matt) More itemize clarifications.
Wayne Davison [Wed, 12 Mar 2008 23:51:13 +0000 (16:51 -0700)]
Clarify that the change/checksum itemize flag can be missing
when talking to older rsync versions.
Wayne Davison [Tue, 11 Mar 2008 21:50:21 +0000 (14:50 -0700)]
Fixed the 'T' itemized output for a symlink the right way this time.
Wayne Davison [Tue, 11 Mar 2008 14:25:31 +0000 (07:25 -0700)]
- One more fix for the 'T' itemized output for a symlink when we're
the client on the receiving side of a protocol-29 connection.
Wayne Davison [Tue, 11 Mar 2008 04:40:04 +0000 (21:40 -0700)]
(Matt) Add missing --no-y option.
Wayne Davison [Tue, 11 Mar 2008 04:15:37 +0000 (21:15 -0700)]
Fixed some itemized logging failures:
- If a symlink/device/special-file changes its value without any
attribute changes, the itemized event no longer gets dropped.
- We put a 'c' into the checksum/change field now to indicate when
a symlink/device/special-file changes its value without changing
its type. This lets us properly interpret the --copy-links output
to know which items are getting copied without changes and which
are getting created with new content.
- Fixed the 'T' itemized output for a symlink when rsync tries to
set the right time but fails due to lack of OS/disk support.
Wayne Davison [Mon, 10 Mar 2008 02:50:51 +0000 (19:50 -0700)]
Fixed the itemizing of perms with -E.
Wayne Davison [Sat, 8 Mar 2008 18:54:17 +0000 (10:54 -0800)]
Some popt improvements:
- Fixed a bug in short-opt parsing when an abutting arg has an '='.
- Allow a short-opt to be separated from its arg by an '='.
- Avoid an IBM-checker warning about an impossible case in a switch
and a warning about a potential NULL-pointer dereference.
- Fixed a memory leak.
Wayne Davison [Sat, 8 Mar 2008 01:13:38 +0000 (17:13 -0800)]
Fixed the latest xattrs tests on OS X.
Wayne Davison [Sat, 8 Mar 2008 00:45:26 +0000 (16:45 -0800)]
Restore a long-attribute test that was temporarily disabled.
Wayne Davison [Sat, 8 Mar 2008 00:41:09 +0000 (16:41 -0800)]
Fixed a syntax problem for non-HAVE_LINUX_ATTRS systems.
Wayne Davison [Sat, 8 Mar 2008 00:25:05 +0000 (16:25 -0800)]
Handle the very latest spot for the nightly dir.
Wayne Davison [Sat, 8 Mar 2008 00:16:29 +0000 (16:16 -0800)]
Fixed the interaction of --fake-super with --link-dest & --xattrs.
Fixed the munging of non-user namespace xattrs w/--fake-super.
Fixed the sorting of received xattrs when name-munging occurs.
Added xattr tests to verify that these things stay fixed.
Wayne Davison [Fri, 7 Mar 2008 23:23:39 +0000 (15:23 -0800)]
The --fake-super option conflicts with -XX (which copies internal
rsync xattrs literally).
Wayne Davison [Thu, 6 Mar 2008 17:40:46 +0000 (09:40 -0800)]
Simplify the description of what we're doing.
Wayne Davison [Thu, 6 Mar 2008 17:38:48 +0000 (09:38 -0800)]
Added even more no-OPTION overrides.
Wayne Davison [Thu, 6 Mar 2008 17:36:57 +0000 (09:36 -0800)]
Made the description of ignored symlink errors more accurate.
Wayne Davison [Wed, 5 Mar 2008 07:56:45 +0000 (23:56 -0800)]
Updated nightly-rsync and release-rsync to handle the new
ftp directory layout.
Wayne Davison [Wed, 5 Mar 2008 06:50:41 +0000 (22:50 -0800)]
Updated rrsync to deal with the latest 3.0.0's use of the -e option.
Added a couple more long options that might get passed.
Wayne Davison [Wed, 5 Mar 2008 06:48:01 +0000 (22:48 -0800)]
Don't call utimes() on a dir that doesn't need its mtime changed.
Wayne Davison [Wed, 5 Mar 2008 05:46:00 +0000 (21:46 -0800)]
- Made the itemize test check for CAN_HARDLINK_SYMLINK define instead
of running its own test using ln.
- Made the merge test call checkit with absolute paths so that some
folk's cd command won't foul things up with extra output.
Wayne Davison [Tue, 4 Mar 2008 02:33:11 +0000 (18:33 -0800)]
Fixing a problem with a NULL config_file pointer when accessing
a single-use daemon without no --config option specified. Added
a test to ensure that this doesn't break in the future.
Wayne Davison [Mon, 3 Mar 2008 19:37:42 +0000 (11:37 -0800)]
Improved the error-checking when tweaking the files for a new release.
Wayne Davison [Mon, 3 Mar 2008 16:46:30 +0000 (08:46 -0800)]
Updated copyright year in --version output and improved the release
script to look for year changes in options.c and to get the version
defaults totally right in the prompts.
Wayne Davison [Mon, 3 Mar 2008 15:16:38 +0000 (07:16 -0800)]
Fixed a thinko and a typo in the --append option.
Wayne Davison [Sun, 2 Mar 2008 05:00:41 +0000 (21:00 -0800)]
Show the last compile error if we failed to create rounding.h.
Wayne Davison [Sun, 2 Mar 2008 04:35:18 +0000 (20:35 -0800)]
Tweak the files to start work on the next release.
The work-in-progress version is 3.0.1dev.
Wayne Davison [Sat, 1 Mar 2008 20:12:04 +0000 (12:12 -0800)]
Preparing for release of 3.0.0
Wayne Davison [Sat, 1 Mar 2008 20:01:41 +0000 (12:01 -0800)]
Include 2008 in the copyright years.
Wayne Davison [Sat, 1 Mar 2008 19:26:03 +0000 (11:26 -0800)]
Fixed the lastversion default when changing from a pre-release
to a final release. Ensure that newly-created "extra files"
get included in the diff.
Wayne Davison [Sat, 1 Mar 2008 17:47:13 +0000 (09:47 -0800)]
Mention a couple more items of note.
Wayne Davison [Thu, 28 Feb 2008 01:48:25 +0000 (17:48 -0800)]
Use variables to hold the constant itemized strings so
that future changes are easier to make.
Wayne Davison [Thu, 28 Feb 2008 00:19:05 +0000 (16:19 -0800)]
Temporarily set uid_ndx in the delete code if the transfer is not
preserving ownership, but we want to know what the UIDs are on the
files we're deleting. Changed the DEL_OWNED_BY_US flag to be
DEL_NO_UID_WRITE, which is only set when a file is owned by us and
we can't write to it. Fixed a glitch in the error handling of the
--delete-delay code where it might try to enable delete-after in
incremental-transfer mode. Made a simple (well tested) optimization
in the --delete-delay code and a few other readability changes.
Wayne Davison [Thu, 28 Feb 2008 00:15:14 +0000 (16:15 -0800)]
Use preserve_[ug]id values for send/recv checking, which will
allow the delete code to temporarily set [ug]id_ndx during
delete processing, as needed. Got rid of a couple duplicate
tests.