Wayne Davison [Mon, 2 Aug 2004 02:43:54 +0000 (02:43 +0000)]
- Changed "read so far" to "received so far".
- Output the who_am_i() information in the socket read/write errors to
make it a little clearer who is complaining about what (for those
familiar with rsync, at least -- e.g. it will help when users report
errors).
Wayne Davison [Sat, 31 Jul 2004 20:09:54 +0000 (20:09 +0000)]
- Changed all the errors in parse_arguments() to use the err_buf so
that a client talking to a daemon server actually gets the error.
- If a daemon has a list of exclusions, apply that list to various
options to ensure that an excluded file can't be affected.
- Fixed an arg-checking problem when --files-from got passed to a
daemon.
Wayne Davison [Sat, 31 Jul 2004 19:55:42 +0000 (19:55 +0000)]
If we need to return an error during the startup phase and the other
side is expecting us to send them a files-from list, send the list
terminator before sending the error.
Wayne Davison [Sat, 31 Jul 2004 18:13:20 +0000 (18:13 +0000)]
Don't allow a --partial-dir setting to overwrite a server-excluded
file (affects a daemon receiver only).
Wayne Davison [Sat, 31 Jul 2004 16:20:28 +0000 (16:20 +0000)]
- Document the change to --copy-links.
- Improved the "OUTPUT CHANGES" section.
Wayne Davison [Sat, 31 Jul 2004 16:19:14 +0000 (16:19 +0000)]
Document the old side-effect to --copy-links and that it no longer
happens in a modern rsync w/o --keep-dirlinks.
Wayne Davison [Sat, 31 Jul 2004 16:15:41 +0000 (16:15 +0000)]
One call to link_stat() (in set_perms()) needed to honor the setting
of keep_dirlinks if the current item is a directory.
Wayne Davison [Sat, 31 Jul 2004 16:14:27 +0000 (16:14 +0000)]
Reset copy_links in the receiver.
Wayne Davison [Sat, 31 Jul 2004 03:33:05 +0000 (03:33 +0000)]
Prominently mention the changes to the text that gets output.
Wayne Davison [Sat, 31 Jul 2004 03:32:42 +0000 (03:32 +0000)]
Changed "wrote"/"written" to "sent" and "read" to "received" in
the text that is output.
Wayne Davison [Fri, 30 Jul 2004 22:46:07 +0000 (22:46 +0000)]
- Mention the "list = no" change in error handling.
- Improved a few of the NEWS items.
Wayne Davison [Fri, 30 Jul 2004 20:07:52 +0000 (20:07 +0000)]
If someone is denied access to a "list = no" module, lie and tell them
that the module is "Unknown" (so the user can't probe to find unlisted
modules).
Wayne Davison [Fri, 30 Jul 2004 20:05:37 +0000 (20:05 +0000)]
Don't ignore case in lp_number() because the rest of the daemon code
can't handle the case where the module name doesn't exactly match the
string the user provided.
Wayne Davison [Fri, 30 Jul 2004 07:02:37 +0000 (07:02 +0000)]
If we reject a name due to a server-exclude, someone is trying to hack
rsync (because the generator would not have included this file). Respond
with an exit.
Wayne Davison [Thu, 29 Jul 2004 18:08:16 +0000 (18:08 +0000)]
Document the latest changes.
Wayne Davison [Thu, 29 Jul 2004 16:45:48 +0000 (16:45 +0000)]
Got rid of bogus compare_dest scan in skip_file() -- it must checksum
the same file that we used for the stat() (in the parent routine).
Wayne Davison [Thu, 29 Jul 2004 16:06:38 +0000 (16:06 +0000)]
Added the new --partial-dir option.
Wayne Davison [Thu, 29 Jul 2004 16:06:34 +0000 (16:06 +0000)]
Document the new --partial-dir option.
Wayne Davison [Thu, 29 Jul 2004 07:37:27 +0000 (07:37 +0000)]
Check the error return of flush_write_file().
Wayne Davison [Thu, 29 Jul 2004 07:24:45 +0000 (07:24 +0000)]
Added close_multiplexing_in() and renamed io_multiplexing_close()
to close_multiplexing_out().
Wayne Davison [Thu, 29 Jul 2004 07:24:00 +0000 (07:24 +0000)]
Call the new close_multiplexing_in() function in the generator.
Wayne Davison [Thu, 29 Jul 2004 07:09:46 +0000 (07:09 +0000)]
If we fail writing to the socket and we're receiving error messages
from the other side via a multiplexed input, read the socket to see
if we get some errors that would explain why they went away.
Wayne Davison [Thu, 29 Jul 2004 06:59:30 +0000 (06:59 +0000)]
One more inplace code tweak.
Wayne Davison [Thu, 29 Jul 2004 06:40:26 +0000 (06:40 +0000)]
Some minor fixes and improvements for the inplace code.
Wayne Davison [Wed, 28 Jul 2004 10:04:06 +0000 (10:04 +0000)]
- Explicitly save the stat()'s errno so that we can be sure we're
testing the right thing lower down (and so that future code doesn't
always have to remember to save it off and restore it).
- Improved a chunk of link_dest code.
- Handle the removal of a non-regular file without so much duplicated
code.
Wayne Davison [Mon, 26 Jul 2004 16:36:59 +0000 (16:36 +0000)]
Use the new safe_fname() function.
Wayne Davison [Mon, 26 Jul 2004 16:34:36 +0000 (16:34 +0000)]
Allow safe_fname() to tweak up to two name at a time.
Wayne Davison [Mon, 26 Jul 2004 15:59:51 +0000 (15:59 +0000)]
Use safe_fname() in full_fname().
Wayne Davison [Mon, 26 Jul 2004 15:52:25 +0000 (15:52 +0000)]
Added safe_fname() that converts any newlines in a name into '?'s.
Wayne Davison [Mon, 26 Jul 2004 05:38:02 +0000 (05:38 +0000)]
Made a comment better.
Wayne Davison [Sat, 24 Jul 2004 16:51:58 +0000 (16:51 +0000)]
Some batch-mode changes.
Wayne Davison [Sat, 24 Jul 2004 16:51:16 +0000 (16:51 +0000)]
Made the new option-twiddling message only output when verbose.
Wayne Davison [Sat, 24 Jul 2004 16:40:41 +0000 (16:40 +0000)]
Call read_stream_flags() as soon as we open the batch file for
reading.
Wayne Davison [Sat, 24 Jul 2004 16:39:53 +0000 (16:39 +0000)]
Call write_stream_flags() from start_write_batch().
Wayne Davison [Sat, 24 Jul 2004 16:38:49 +0000 (16:38 +0000)]
Added write_stream_flags() to write the state of certain flags into
the batchfile and read_stream_flags() to read and twiddle the same
flags. This ensures that the batchfile reading doesn't get confused
about what data to expect from the socket.
Wayne Davison [Fri, 23 Jul 2004 16:59:38 +0000 (16:59 +0000)]
Tweaked a compound line.
Wayne Davison [Fri, 23 Jul 2004 16:59:22 +0000 (16:59 +0000)]
Added a comment.
Wayne Davison [Fri, 23 Jul 2004 02:13:34 +0000 (02:13 +0000)]
Some basic batch-mode tests.
Wayne Davison [Fri, 23 Jul 2004 01:40:22 +0000 (01:40 +0000)]
Chris added a missing "not" to a comment.
Wayne Davison [Fri, 23 Jul 2004 01:39:19 +0000 (01:39 +0000)]
Fixed the opening comments.
Wayne Davison [Thu, 22 Jul 2004 22:52:39 +0000 (22:52 +0000)]
If we sucessfully renamed a file that has multiple links to it, unlink()
it to ensure that rename() didn't lie to us (which it does if you try to
rename() a file over another link to the same file).
Wayne Davison [Thu, 22 Jul 2004 19:28:45 +0000 (19:28 +0000)]
Changed NO_INT64 to INT64_IS_OFF_T because off_t might actually be
64 bits. The code now only complains if int64 is really too short.
Wayne Davison [Thu, 22 Jul 2004 15:43:28 +0000 (15:43 +0000)]
Some --help text fixes.
Wayne Davison [Thu, 22 Jul 2004 15:41:09 +0000 (15:41 +0000)]
Some more --inplace improvements.
Wayne Davison [Thu, 22 Jul 2004 15:31:06 +0000 (15:31 +0000)]
Should always call finish_transfer() for inplace handling, just like
for keep_partial handling.
Wayne Davison [Thu, 22 Jul 2004 15:30:04 +0000 (15:30 +0000)]
The inplace handling in finish_transfer() now passes PERMS_SKIP_MTIME
to set_perms() if ok_to_set_time wasn't specified.
Wayne Davison [Thu, 22 Jul 2004 08:16:35 +0000 (08:16 +0000)]
Need to output the "failed verification" error before sending the
MSG_REDO so that the output comes out in the right order.
Wayne Davison [Thu, 22 Jul 2004 04:15:18 +0000 (04:15 +0000)]
Added a warning message when a file fails to verify, letting the user
know if we retained it or discarded it. Especially useful for batch-
reading mode where the old code could look like it did the update when
it really silently failed.
Wayne Davison [Thu, 22 Jul 2004 03:23:04 +0000 (03:23 +0000)]
Added even more double-quoting.
Wayne Davison [Thu, 22 Jul 2004 02:52:57 +0000 (02:52 +0000)]
No need to check both delete_after and delete_mode since the former
implies the latter.
Wayne Davison [Wed, 21 Jul 2004 23:59:37 +0000 (23:59 +0000)]
In read_batch mode, we read ints from the new batch_gen_fd pipe and
only process the updates from the batch file when the generator has
indicated that it is ready (which ensures that all the necessary
dirs have been created).
Wayne Davison [Wed, 21 Jul 2004 23:59:33 +0000 (23:59 +0000)]
Got rid of read_batch special case.
Wayne Davison [Wed, 21 Jul 2004 23:59:31 +0000 (23:59 +0000)]
Setup for read_batch mode a little differently:
- Avoid calling local_child().
- Create a pipe that lets the generator send us index values.
- Set batch_gen_fd for the receiver to read the pipe.
Wayne Davison [Wed, 21 Jul 2004 23:59:28 +0000 (23:59 +0000)]
Added batch_gen_fd.
Wayne Davison [Wed, 21 Jul 2004 23:59:25 +0000 (23:59 +0000)]
In read_batch mode, we now let the code write out the index value
to the f_out pipe before we return from recv_generator(). This gives
the receiver something to sync with so that it doesn't rush ahead of
us (which could be bad if we didn't have a chance to create the
destination dirs yet).
Wayne Davison [Wed, 21 Jul 2004 23:59:22 +0000 (23:59 +0000)]
Don't write out the protocol_version number in read_batch mode.
Wayne Davison [Wed, 21 Jul 2004 22:50:11 +0000 (22:50 +0000)]
Complain if the user combines --read-batch with --files-from.
Wayne Davison [Wed, 21 Jul 2004 21:06:13 +0000 (21:06 +0000)]
Improved the test a little.
Wayne Davison [Wed, 21 Jul 2004 20:58:32 +0000 (20:58 +0000)]
Adding a test for the --compare-dest option.
Wayne Davison [Wed, 21 Jul 2004 20:17:02 +0000 (20:17 +0000)]
A couple am_sender checks (one negated) were not needed.
Wayne Davison [Tue, 20 Jul 2004 21:35:58 +0000 (21:35 +0000)]
Call map_file() with the new block_size arg (had to delay the
call to map_file() until the block size was known).
Wayne Davison [Tue, 20 Jul 2004 21:35:55 +0000 (21:35 +0000)]
- Call map_file() with the new block_size arg (had to delay the
call to map_file() until the block size was known).
- Got rid of the setting of max_map_size.
Wayne Davison [Tue, 20 Jul 2004 21:35:52 +0000 (21:35 +0000)]
- Added a new block_size arg to map_file(). Use it to set the
new def_window_size member variable.
- Got rid of max_map_size global (we use def_window_size now).
Wayne Davison [Tue, 20 Jul 2004 21:35:49 +0000 (21:35 +0000)]
- Got rid of cleanup_buf (map-file cleanup is not needed).
- Renamed the cleanup_fd* vars.
Wayne Davison [Tue, 20 Jul 2004 21:35:46 +0000 (21:35 +0000)]
Call map_file() with its new block_size arg.
Wayne Davison [Tue, 20 Jul 2004 21:10:20 +0000 (21:10 +0000)]
Tweaked an error message.
Wayne Davison [Tue, 20 Jul 2004 21:08:33 +0000 (21:08 +0000)]
Added a def_window_size variable to struct map_struct.
Wayne Davison [Tue, 20 Jul 2004 18:12:50 +0000 (18:12 +0000)]
- More batch-file improvements.
- A few spelling fixes.
Wayne Davison [Tue, 20 Jul 2004 17:07:55 +0000 (17:07 +0000)]
We now append the exclude list as a "here" document to the end of
the BATCH.sh file.
Wayne Davison [Tue, 20 Jul 2004 16:57:18 +0000 (16:57 +0000)]
Made write_sbuf() non-static.
Wayne Davison [Mon, 19 Jul 2004 17:11:41 +0000 (17:11 +0000)]
Changed write_batch_argvs_file() to new write_batch_shell_file()
call (with extra arg).
Wayne Davison [Mon, 19 Jul 2004 17:05:01 +0000 (17:05 +0000)]
Added new function discard_receive_data().
Wayne Davison [Mon, 19 Jul 2004 16:37:30 +0000 (16:37 +0000)]
- Don't allow some crafty user to try to force us to update a
server-excluded file.
- If get_tmpname() fails we need to discard the update using
receive_data().
Wayne Davison [Mon, 19 Jul 2004 08:27:17 +0000 (08:27 +0000)]
Do a better job of writing out the BATCH.sh file (i.e. quote special
characters and spaces in args, omit all the source args, omit the
include/exclude args if we can).
Wayne Davison [Mon, 19 Jul 2004 03:59:35 +0000 (03:59 +0000)]
Changed batch.rsync_argvs to batch.sh.
Wayne Davison [Mon, 19 Jul 2004 00:53:49 +0000 (00:53 +0000)]
Fixed the argv munging to work properly regardless of whether the
user specified a trailing '=VALUE' or put the value in a separate
arg.
Wayne Davison [Sat, 17 Jul 2004 21:17:34 +0000 (21:17 +0000)]
A very minor optimization was made to read_sbuf(), read_byte(),
write_sbuf(), and write_byte().
Wayne Davison [Sat, 17 Jul 2004 16:44:16 +0000 (16:44 +0000)]
- Improved the warning about --inplace.
- Fixed the sentence describing how to read standard input with
--read-batch.
Wayne Davison [Sat, 17 Jul 2004 16:29:10 +0000 (16:29 +0000)]
Moved the read_batch abort check below the code that handles the
symlinks and devices.
Wayne Davison [Sat, 17 Jul 2004 15:20:00 +0000 (15:20 +0000)]
Revamped some of the io variables and calls to make the various I/O
functions seemlessly work on fds that aren't for the main socket. This
involved changing some fd-variable names (to make them clearer), adding
io_set_sock_fds(), and making input buffering have a better enabled
flag (via an allocated buffer, just like the output buffering). I also
got rid of the fd arg to some functions where the fd arg could only
specify the input or output fd for the socket (which we already know).
Wayne Davison [Sat, 17 Jul 2004 15:19:57 +0000 (15:19 +0000)]
Got rid of the arg to io_start_multiplex_out().
Wayne Davison [Sat, 17 Jul 2004 15:19:54 +0000 (15:19 +0000)]
- Got rid of the arg to the io_start_multiplex_{in,out}() calls.
- Call io_set_sock_fds().
Wayne Davison [Sat, 17 Jul 2004 10:59:14 +0000 (10:59 +0000)]
Changed a MIN() to a MAX() when setting max_map_size.
Wayne Davison [Sat, 17 Jul 2004 00:00:27 +0000 (00:00 +0000)]
Mention the new --inplace option.
Wayne Davison [Fri, 16 Jul 2004 20:06:24 +0000 (20:06 +0000)]
My version of Mark Curtis's --inplace option.
Wayne Davison [Fri, 16 Jul 2004 20:04:20 +0000 (20:04 +0000)]
Added a check for ftruncate.
Wayne Davison [Fri, 16 Jul 2004 18:08:52 +0000 (18:08 +0000)]
Avoid some useless memory copying.
Wayne Davison [Fri, 16 Jul 2004 18:04:23 +0000 (18:04 +0000)]
- Limit the maximum block size we compute for a file.
- Set max_map_size based on the current file's block size (so that
map_ptr() is more efficient with large blocks).
Wayne Davison [Fri, 16 Jul 2004 18:02:30 +0000 (18:02 +0000)]
Added a max_map_size variable, initialized to MAX_MAP_SIZE.
Wayne Davison [Fri, 16 Jul 2004 18:01:30 +0000 (18:01 +0000)]
Limit the block-size that the user can specify.
Wayne Davison [Fri, 16 Jul 2004 17:14:55 +0000 (17:14 +0000)]
Improved a sentence about --whole-file.
Wayne Davison [Fri, 16 Jul 2004 01:32:02 +0000 (01:32 +0000)]
Make wf_writeBufSize based on a multiple of WRITE_SIZE instead
of the unrelated MAX_MAP_SIZE.
Wayne Davison [Thu, 15 Jul 2004 19:06:32 +0000 (19:06 +0000)]
- Complain and die if --dry-run is used with a batch option.
- Improved the warning if a batch option gets sent to the server.
Wayne Davison [Thu, 15 Jul 2004 19:04:54 +0000 (19:04 +0000)]
Changed the batch examples to show how to do a remote read-batch
without first transferring the batch file.
Wayne Davison [Thu, 15 Jul 2004 19:03:50 +0000 (19:03 +0000)]
Expanded the comment on the new batch code.
Wayne Davison [Thu, 15 Jul 2004 17:56:11 +0000 (17:56 +0000)]
Mention that "-" can be used with --read-batch for reading from stdin.
Wayne Davison [Thu, 15 Jul 2004 17:01:51 +0000 (17:01 +0000)]
Allow --read-batch=- to indicate stdin.
Wayne Davison [Thu, 15 Jul 2004 16:27:02 +0000 (16:27 +0000)]
We no longer refer to a batch "prefix".
Wayne Davison [Thu, 15 Jul 2004 03:13:09 +0000 (03:13 +0000)]
Mention new batch-mode changes.
Wayne Davison [Thu, 15 Jul 2004 02:20:08 +0000 (02:20 +0000)]
My modified version of Chris Shoemaker's improved batch-file handling.