Wayne Davison [Mon, 21 Feb 2005 07:26:59 +0000 (07:26 +0000)]
If checkit is passed a 4th arg, skip the file-diffing step.
This is used by the devices.test script.
Wayne Davison [Mon, 21 Feb 2005 07:19:11 +0000 (07:19 +0000)]
Touch $tmpdir/do_not_diff_the_files so that checkit does not try
to diff the devices against each other.
Wayne Davison [Mon, 21 Feb 2005 00:38:15 +0000 (00:38 +0000)]
Reposition log_open() and log_close().
Wayne Davison [Mon, 21 Feb 2005 00:32:04 +0000 (00:32 +0000)]
Mention two more things.
Wayne Davison [Mon, 21 Feb 2005 00:31:31 +0000 (00:31 +0000)]
- For win32: made --no-detach the default for daemon mode.
- Added --detach (a --daemon option).
Wayne Davison [Mon, 21 Feb 2005 00:17:10 +0000 (00:17 +0000)]
Updated to remove completed items and add a little more info for
other items.
Wayne Davison [Mon, 21 Feb 2005 00:16:36 +0000 (00:16 +0000)]
Some minor tweaks.
Wayne Davison [Sun, 20 Feb 2005 23:08:56 +0000 (23:08 +0000)]
Mention the compression-mode fix for large block sizes.
Wayne Davison [Sun, 20 Feb 2005 22:11:43 +0000 (22:11 +0000)]
Tweaked the rprintf() that outputs about the delta-transmission
enablement.
Wayne Davison [Sun, 20 Feb 2005 22:10:33 +0000 (22:10 +0000)]
- Integrated the latest version from samba.
- Tweaked the order of the code in my_modf() to avoid
a compiler warning.
Wayne Davison [Sun, 20 Feb 2005 21:04:03 +0000 (21:04 +0000)]
One more tweak to the "whoami" code.
Wayne Davison [Sun, 20 Feb 2005 20:55:24 +0000 (20:55 +0000)]
Changed the memory implementation of --delay-updates so that it
only allocates memory to store needed bits, it sparsely allocates
the bits in 16KB chunks, and the bit-finding loop works in a more
efficient manner.
Wayne Davison [Sun, 20 Feb 2005 17:24:15 +0000 (17:24 +0000)]
Got rid of "set -x" (runtests.sh has a way to set this, if desired).
Wayne Davison [Sun, 20 Feb 2005 17:21:13 +0000 (17:21 +0000)]
Dropped a useless "const" from the definition of poptStrerror.
Wayne Davison [Sun, 20 Feb 2005 17:20:14 +0000 (17:20 +0000)]
Mark a couple unused variables.
Wayne Davison [Sun, 20 Feb 2005 17:07:31 +0000 (17:07 +0000)]
Cast char* to uchar* when dereferencing characters for isdigit()
and isprint().
Wayne Davison [Sun, 20 Feb 2005 17:04:53 +0000 (17:04 +0000)]
Have rule_strcmp() accept and return a uchar*.
Wayne Davison [Sun, 20 Feb 2005 17:01:32 +0000 (17:01 +0000)]
A few improvements to the "test" commands to neaten them up and
to try to fix another problem under solaris.
Wayne Davison [Sun, 20 Feb 2005 16:56:30 +0000 (16:56 +0000)]
Cast a uchar* arg to char* for write_buf().
Wayne Davison [Sun, 20 Feb 2005 16:27:10 +0000 (16:27 +0000)]
Improved the testuser-setting code to try to get it to work
under solaris.
Wayne Davison [Sun, 20 Feb 2005 02:54:30 +0000 (02:54 +0000)]
If --delay-updates is specified with --remove-sent-files, delay
the MSG_SUCCESS messages until we actually move the files into
place at the end.
Wayne Davison [Sun, 20 Feb 2005 02:45:10 +0000 (02:45 +0000)]
Corrected "log format" info and added info on --remove-sent-files.
Wayne Davison [Sun, 20 Feb 2005 01:14:27 +0000 (01:14 +0000)]
A small twiddle.
Wayne Davison [Sun, 20 Feb 2005 01:04:54 +0000 (01:04 +0000)]
- For every file that we send off to the receiver, mark it with
FLAG_SENT.
- Added successful_send(), which is called when MSG_SUCCESS was
received from the receiver/generator side. This function
validates the message, and removes the indicated file/symlink
(assuming that remove_sent_files was actually set).
Wayne Davison [Sun, 20 Feb 2005 01:04:51 +0000 (01:04 +0000)]
If --remove-sent-files was specified and we successfully updated a
file, send MSG_SUCCESS to the sender (through the generator).
Wayne Davison [Sun, 20 Feb 2005 01:04:49 +0000 (01:04 +0000)]
- If --remove-sent-files was specified, abort if we're pulling from
a read-only module.
- If need_messages_from_generator is set, make sure that the
connection between the generator to the sender has multiplexed
I/O enabled.
Wayne Davison [Sun, 20 Feb 2005 01:04:46 +0000 (01:04 +0000)]
Handle the new MSG_SUCCESS message for both the generator and the
sender.
Wayne Davison [Sun, 20 Feb 2005 01:04:43 +0000 (01:04 +0000)]
If we update the contents of a symlink and --remove-sent-files
is enabled, tell the sender about it via MSG_SUCCESS.
Wayne Davison [Sun, 20 Feb 2005 01:04:40 +0000 (01:04 +0000)]
- Added --remove-sent-files option.
- If a server is refusing "delete" and we're the sender, also refuse
the --remove-sent-files option.
Wayne Davison [Sun, 20 Feb 2005 01:04:37 +0000 (01:04 +0000)]
Document how refusing "delete" affects --remove-sent-files.
Wayne Davison [Sun, 20 Feb 2005 01:04:34 +0000 (01:04 +0000)]
Document --remove-sent-files.
Wayne Davison [Sun, 20 Feb 2005 01:04:27 +0000 (01:04 +0000)]
Test --remove-sent-files.
Wayne Davison [Sun, 20 Feb 2005 01:04:12 +0000 (01:04 +0000)]
Disallow --remove-sent-files with a read-only server.
Wayne Davison [Sun, 20 Feb 2005 00:47:15 +0000 (00:47 +0000)]
Got rid of maybe_DEL_TERSE.
Wayne Davison [Sun, 20 Feb 2005 00:16:23 +0000 (00:16 +0000)]
Tweaked some externs.
Wayne Davison [Sat, 19 Feb 2005 23:42:09 +0000 (23:42 +0000)]
Tweaked some externs.
Wayne Davison [Sat, 19 Feb 2005 23:41:52 +0000 (23:41 +0000)]
- Needed to use a name buffer in delete_missing() to avoid having
a recursive delete reuse our buffer from f_name().
- Moved the backup-handling into delete_file() in rsync.c.
- Moved the --max-delete counting into delete_file() in rsync.c.
Wayne Davison [Sat, 19 Feb 2005 23:39:47 +0000 (23:39 +0000)]
Made delete_file() backup files it is removing if --backup was specified.
Wayne Davison [Sat, 19 Feb 2005 23:24:41 +0000 (23:24 +0000)]
Moved deletion_count here so that we honor --max-delete in
delete_file().
Wayne Davison [Sat, 19 Feb 2005 23:01:52 +0000 (23:01 +0000)]
If the server refuses a directory, don't allow any files to be
sent to the server inside that directory.
Wayne Davison [Sat, 19 Feb 2005 22:57:08 +0000 (22:57 +0000)]
Changed a couple log_recv() calls back to log_send().
Wayne Davison [Sat, 19 Feb 2005 22:16:53 +0000 (22:16 +0000)]
When logging PERMS_REPORT messages, send them with the FCLIENT code
if the daemon has "%i" in its log message (because it already got a
detailed log message from the generator).
Wayne Davison [Sat, 19 Feb 2005 22:16:50 +0000 (22:16 +0000)]
- Always send the itemized-info bytes on to the receiver. This
not only ensures that batch files are created consistently for
push and pull, but allows a daemon to log itemized changes.
- Improved the logging of itemized changes for the daemon.
- Make sure we debug-log our presence in send_files().
Wayne Davison [Sat, 19 Feb 2005 22:16:47 +0000 (22:16 +0000)]
- Improved the logging of itemized changes for the daemon.
- Make sure we debug-log our presence in recv_files().
Wayne Davison [Sat, 19 Feb 2005 22:16:45 +0000 (22:16 +0000)]
Make use of new variables (log_format_has_i, log_format_has_o_or_i,
and daemon_log_format_has_i) and the new FCLIENT logging code to
output stats in the best way possible for both the client and the
daemon.
Wayne Davison [Sat, 19 Feb 2005 22:16:41 +0000 (22:16 +0000)]
The FCLIENT log code aviods putting the message into the daemon's
log file and instead sends a FINFO message to the client. This is
used when the daemon wants to log a better message locally than it
is sending to the client. Improved log_delete() to make use of this
idiom if it needs to log a separate delete message for the daemon
and the client.
Wayne Davison [Sat, 19 Feb 2005 22:16:39 +0000 (22:16 +0000)]
- Added log_format_has_i.
- Fixed a problem withe option-refusing code when it refuses the
daemon options.
- Don't sent --itemize-changes (-i) to the server -- send an
improved --log-format value instead.
Wayne Davison [Sat, 19 Feb 2005 22:16:35 +0000 (22:16 +0000)]
We now set daemon_log_format_has_i and daemon_log_format_has_o_or_i
instead of itemize_daemon_changes.
Wayne Davison [Sat, 19 Feb 2005 22:16:33 +0000 (22:16 +0000)]
No more need to clear itemize_changes based on protocol_version.
Wayne Davison [Sat, 19 Feb 2005 22:16:31 +0000 (22:16 +0000)]
Changed some of the values of the MSG_* defines.
Wayne Davison [Sat, 19 Feb 2005 19:36:54 +0000 (19:36 +0000)]
We now use a regular expression to parse the (restored to its previous
version) default logfile format. Added parsing for a version of the
default logfile format where %o has been replaced with %i.
Wayne Davison [Sat, 19 Feb 2005 17:38:51 +0000 (17:38 +0000)]
Decided to leave the "log format" default the same as in
earlier versions.
Wayne Davison [Sat, 19 Feb 2005 17:37:40 +0000 (17:37 +0000)]
If the "log format" has a %i in it, set itemize_daemon_changes.
Wayne Davison [Sat, 19 Feb 2005 17:23:08 +0000 (17:23 +0000)]
- Don't log a delete message to the daemon log in dry-run mode.
- The daemon's wrote/read log message now uses the terms
sent/received.
Wayne Davison [Sat, 19 Feb 2005 03:54:13 +0000 (03:54 +0000)]
Decide whether to log a delete message via the default format by
checking the new log_format_has_o_or_i variable, not itemize_changes.
Wayne Davison [Sat, 19 Feb 2005 03:54:11 +0000 (03:54 +0000)]
- Set new variable, log_format_has_o_or_i.
- Make sure that -i can't be set w/o an actual %i in the log_format.
- Only need to pass -i to server if we're the sender.
- Only need to pass some --log-format information to the server in
certain circumstances.
Wayne Davison [Sat, 19 Feb 2005 03:12:21 +0000 (03:12 +0000)]
Rules read in from per-dir merge files need to have non-applicable
rules filtered out before the rule gets stored (not in a post-
filtering pass like the rules that are read-in prior to the run).
Wayne Davison [Sat, 19 Feb 2005 03:03:13 +0000 (03:03 +0000)]
Mention the change in the default "log format" daemon-config setting.
Wayne Davison [Sat, 19 Feb 2005 02:39:33 +0000 (02:39 +0000)]
Log items that are unchanged if verbose > 1.
Wayne Davison [Sat, 19 Feb 2005 02:39:30 +0000 (02:39 +0000)]
Notify the remote side about -i (if either specified or inferred from
the user's --log-format string) and, if we're not verbose but we're
logging messages, let the server know that --log-format was specified.
Wayne Davison [Sat, 19 Feb 2005 02:39:26 +0000 (02:39 +0000)]
- Tweaked the letters output by "%i", including adding support for
logging a deleted item and an identical item.
- Added log_delete(), a routine that either logs the fact that a
deletion happened, or sends a MSG_DELETED message to the client
side (or both if we're a daemon server receiver).
Wayne Davison [Sat, 19 Feb 2005 02:39:23 +0000 (02:39 +0000)]
- Changed the calling args to delete_file() to take an st_mode instead
of a DEL_DIR flag.
- Call log_delete() instead of outputting "deleting ..." messages..
- Log deletions if either verbose or log-format is specified.
Wayne Davison [Sat, 19 Feb 2005 02:39:21 +0000 (02:39 +0000)]
- Send the itemized data for every file, changed or not, if verbose > 1.
- Don't call set_perms() with PERMS_REPORT if we're itemizing changes.
- Don't call delete_file() with DEL_TERSE if we're itemizing changes.
- Call delete_file() with its new arg.
Wayne Davison [Sat, 19 Feb 2005 02:39:18 +0000 (02:39 +0000)]
- Allow send_msg() to be called by the delete code in flist.c and
have it figure out if it should send the message to our sibling
or the other side.
- Handle the new MSG_DELETED message in both the generator and the
sender. This message is used to let the client side log each
deletion when the server side is the receiver.
Wayne Davison [Sat, 19 Feb 2005 02:39:15 +0000 (02:39 +0000)]
- Call log_delete() instead of outputting a "deleting ..." message.
- Call delete_file() with its new arg.
Wayne Davison [Sat, 19 Feb 2005 02:39:11 +0000 (02:39 +0000)]
If the protocol is less than 29, make sure itemize_changes is off.
Wayne Davison [Sat, 19 Feb 2005 02:39:09 +0000 (02:39 +0000)]
- Got rid of DEL_DIR define.
- Added define for ITEM_DELETED.
Wayne Davison [Sat, 19 Feb 2005 02:39:06 +0000 (02:39 +0000)]
- Mention that "%o" can now have the value "del."
- Updated the description of "%i" to reflect the latest functioning.
Wayne Davison [Sat, 19 Feb 2005 02:39:03 +0000 (02:39 +0000)]
Fixed an inaccuracy in the --archive description.
Wayne Davison [Fri, 18 Feb 2005 21:24:00 +0000 (21:24 +0000)]
More improvements.
Wayne Davison [Fri, 18 Feb 2005 20:17:24 +0000 (20:17 +0000)]
- Use read_short() and write_short().
- If the user does not want itemized changes, don't log the name
for attribute changes.
Wayne Davison [Fri, 18 Feb 2005 20:17:20 +0000 (20:17 +0000)]
- Tweaked code in itemize() a bit.
- Use the new write_short() function.
- Mention the delete() when an item replaces an item of a different type.
- Make sure that this replacing of a non-same item is marked as a new
transfer in the itemized output.
Wayne Davison [Fri, 18 Feb 2005 20:17:17 +0000 (20:17 +0000)]
The '%n' escape needs to append a trailing slash onto a directory name.
Wayne Davison [Fri, 18 Feb 2005 20:17:15 +0000 (20:17 +0000)]
Added read_short() and write_short().
Wayne Davison [Fri, 18 Feb 2005 20:17:12 +0000 (20:17 +0000)]
Improved the "log format" section some more.
Wayne Davison [Fri, 18 Feb 2005 20:17:09 +0000 (20:17 +0000)]
Improved --verbose, --itemize-changes, and --log-format.
Wayne Davison [Fri, 18 Feb 2005 20:17:05 +0000 (20:17 +0000)]
Fixed/improved the comment before safe_name().
Wayne Davison [Fri, 18 Feb 2005 20:16:59 +0000 (20:16 +0000)]
Handle uchar and short as a function return type.
Wayne Davison [Fri, 18 Feb 2005 17:58:03 +0000 (17:58 +0000)]
- Fixed a few bugs and compile warnings.
- Use the long-option parser for better option handling.
- Output a usage message if the options are wrong.
- Improved the option-variable names.
- Parse the new default daemon log-file format.
- Handle filenames that have spaces in them.
Wayne Davison [Fri, 18 Feb 2005 17:36:12 +0000 (17:36 +0000)]
For the server, don't ever intuit verbosity higher than what
the client asked for.
Wayne Davison [Fri, 18 Feb 2005 17:34:09 +0000 (17:34 +0000)]
The daemon loop needs to call log_open() because it called log_close().
Wayne Davison [Fri, 18 Feb 2005 17:33:43 +0000 (17:33 +0000)]
Made log_open() non-static and moved log_close() next to it.
Wayne Davison [Thu, 17 Feb 2005 09:19:07 +0000 (09:19 +0000)]
Updated the default "log format" string and the output of "%i".
Wayne Davison [Thu, 17 Feb 2005 09:16:51 +0000 (09:16 +0000)]
Changed the default log format.
Wayne Davison [Thu, 17 Feb 2005 09:16:23 +0000 (09:16 +0000)]
Use '.' for unchanged attributes in the %i output.
Wayne Davison [Wed, 16 Feb 2005 20:12:20 +0000 (20:12 +0000)]
More improvements for the description of the %i output.
Wayne Davison [Wed, 16 Feb 2005 17:08:04 +0000 (17:08 +0000)]
Mention the new flag-word for protocol 29.
Wayne Davison [Wed, 16 Feb 2005 17:02:16 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send/receive the itemized flags for protocols >= 29.
- The output of the verbose log-the-transfer messages is always handled
via log_send() (when we're the client).
Wayne Davison [Wed, 16 Feb 2005 17:02:13 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send/receive the itemized flags for protocols >= 29.
- The output of the verbose log-the-transfer messages is always handled
via log_recv() (when we're the client).
Wayne Davison [Wed, 16 Feb 2005 17:02:11 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send the itemized flags for protocols >= 29.
- Sent an itemized-flag update for dirs and symlinks for protocols >= 29
(instead of outputting a message directly).
Wayne Davison [Wed, 16 Feb 2005 17:02:08 +0000 (17:02 +0000)]
- Auto-set --verbose if --dry-run is specified w/o --log-format.
- When verbose w/o a log_format specified, set it to "%n%L".
- There's no longer a need to send -i to the server.
Wayne Davison [Wed, 16 Feb 2005 17:02:05 +0000 (17:02 +0000)]
Moved the auto-setting of --verbose when --dry-run is specified into
options.c.
Wayne Davison [Wed, 16 Feb 2005 17:02:02 +0000 (17:02 +0000)]
Tweaked ITEM_MISSING_DATA.
Wayne Davison [Wed, 16 Feb 2005 17:01:59 +0000 (17:01 +0000)]
No need to handle itemize_changes anymore.
Wayne Davison [Wed, 16 Feb 2005 08:12:34 +0000 (08:12 +0000)]
Tweaked the mention of --itemize-changes.
Wayne Davison [Wed, 16 Feb 2005 08:10:45 +0000 (08:10 +0000)]
- We now accept an itemized-changes flag-byte over the socket if we're
the local client and --itemized-changes was specified. If the item
is not being updated, just call log_recv().
- We reject an attempt to file-update any non-regular file, not just
dirs.
- Avoid the verbose "log the transfer" output if --log-format was
specified and log_before_transfer is in effect.
- Call log_recv() with its new iflags arg.
Wayne Davison [Wed, 16 Feb 2005 08:10:41 +0000 (08:10 +0000)]
- We now accept an itemized-changes flag byte over the socket if we're
in --itemized-changes mode. If the item is not being updated,
either pass it along to the receiver (if we're the server) or just
call log_send().
- We reject an attempt to file-update any non-regular file, not just
dirs.
- Avoid the verbose "log the transfer" output if --log-format was
specified and log_before_transfer is in effect.
- Call log_send() with its new iflags arg.
Wayne Davison [Wed, 16 Feb 2005 08:10:38 +0000 (08:10 +0000)]
Ensure that -i is set consistent with the batch's data.
Wayne Davison [Wed, 16 Feb 2005 08:10:31 +0000 (08:10 +0000)]
- If log_before_transfer is possible, don't force --verbose on for
--progress.
- If --log-format contains %i, set --itemize-changes (-i).
- Always send -i to the remote rsync if it was specified/implied.
Wayne Davison [Wed, 16 Feb 2005 08:10:28 +0000 (08:10 +0000)]
- Improved log_formatted() to handle long filenames better.
- Added %i, for the list of itemized changes, %n for the normal
filename (might be shorter than %f), and %L for a " -> symlink"
string IIF the item is a symlink (else "").
- The log_{send,recv}() functions now take an "iflags" arg.