Wayne Davison [Sat, 19 Dec 2009 21:42:35 +0000 (13:42 -0800)]
Don't set last_io_out in check_timeout.
Wayne Davison [Sat, 19 Dec 2009 18:15:15 +0000 (10:15 -0800)]
Improve --timeout method to take into account all I/O that is going on.
The receiving side also switches timeout handling from the receiver to
the generator, which obviates the need for the sender to send any
keep-alive messages at all (for protocol 31 and beyond). Given this
setup, all keep-alive messages are now sent as empty MSG_DATA messages,
with MSG_NOOP messages only being understood and (when necessary) acted
upon to forward a keep-alive event to an older receiver. This is both
safer and more compatible with older versions.
Wayne Davison [Sat, 19 Dec 2009 18:14:49 +0000 (10:14 -0800)]
Added an am_receiver variable.
Wayne Davison [Thu, 17 Dec 2009 17:00:52 +0000 (09:00 -0800)]
Improved some I/O comments.
Wayne Davison [Wed, 16 Dec 2009 20:08:53 +0000 (12:08 -0800)]
Fix the val reading for MSG_ERROR_EXIT. Use 0-length MSG_DATA when
MSG_NOOP is not available (is both safer and supports older rsyncs).
Wayne Davison [Tue, 15 Dec 2009 16:44:46 +0000 (08:44 -0800)]
Allow per-test timeout overrides. Give hardlinks more time.
Wayne Davison [Tue, 15 Dec 2009 16:32:18 +0000 (08:32 -0800)]
Improve the timeout messages.
Wayne Davison [Mon, 14 Dec 2009 03:28:01 +0000 (19:28 -0800)]
Free a strdup() in do_cmd() that checker was complaining about.
Wayne Davison [Mon, 14 Dec 2009 02:15:09 +0000 (18:15 -0800)]
Avoid -u option to id since solaris doesn't support it.
Wayne Davison [Mon, 14 Dec 2009 01:52:05 +0000 (17:52 -0800)]
Avoid a compiler warnings about a signed/unsigned mismatch.
Wayne Davison [Mon, 14 Dec 2009 01:48:57 +0000 (17:48 -0800)]
Increase the testrun timeout for slow compilefarm systems.
Wayne Davison [Mon, 14 Dec 2009 01:47:35 +0000 (17:47 -0800)]
Fix a compiler warning about a %d mismatch.
Wayne Davison [Sun, 13 Dec 2009 22:14:38 +0000 (14:14 -0800)]
Run each testsuite test with a timeout.
Wayne Davison [Sun, 13 Dec 2009 21:21:30 +0000 (13:21 -0800)]
Avoid another checker warning.
Wayne Davison [Sun, 13 Dec 2009 05:53:19 +0000 (21:53 -0800)]
Prevent the reading of another message before the end of the current one.
Wayne Davison [Sun, 13 Dec 2009 05:40:02 +0000 (21:40 -0800)]
Change a variable name in read_a_msg().
Wayne Davison [Sat, 12 Dec 2009 23:58:15 +0000 (15:58 -0800)]
This should fix another checker warning.
Wayne Davison [Sat, 12 Dec 2009 23:51:03 +0000 (15:51 -0800)]
Fix checker compile warning.
Wayne Davison [Sat, 12 Dec 2009 23:16:46 +0000 (15:16 -0800)]
Turn iobuf.in into a circular input buffer.
Wayne Davison [Sat, 12 Dec 2009 17:32:14 +0000 (09:32 -0800)]
Fix a hang that can happen when the sender is sending an extra file-list
and no one is reading (i.e. do advantageous reading in perform_io()).
Wayne Davison [Sat, 12 Dec 2009 16:54:36 +0000 (08:54 -0800)]
Don't send MSG_ERROR_EXIT messages at the end of the transfer.
Added some debug output for MSG_ERROR_EXIT messages.
Wayne Davison [Sun, 29 Nov 2009 05:46:42 +0000 (21:46 -0800)]
Don't (wrongly) retouch dir permissions with --fake-super.
(Patch from Matt.)
Wayne Davison [Thu, 26 Nov 2009 23:17:49 +0000 (15:17 -0800)]
Add IPv6 detection on cygwin.
Wayne Davison [Tue, 24 Nov 2009 06:45:29 +0000 (22:45 -0800)]
Fix a comment.
Wayne Davison [Mon, 23 Nov 2009 16:16:18 +0000 (08:16 -0800)]
Change the handling of circular buffers to not waste 4 bytes
all the time (we only waste from 1-3 bytes some of the time).
Wayne Davison [Mon, 16 Nov 2009 20:35:17 +0000 (12:35 -0800)]
Make some RERR_* choices better, and another noop_io_until_death() tweak.
Wayne Davison [Sun, 15 Nov 2009 20:49:09 +0000 (12:49 -0800)]
Don't complain about a socket EOF unless it affects a read.
Make sure a write error drains any messages in the input buffer.
Wayne Davison [Sun, 15 Nov 2009 07:05:52 +0000 (23:05 -0800)]
Tweak the noop_io_until_death() timeout and comment it.
Wayne Davison [Sat, 14 Nov 2009 18:01:13 +0000 (10:01 -0800)]
Improved a couple comments and added some "else" optimizations.
Wayne Davison [Sat, 14 Nov 2009 17:58:25 +0000 (09:58 -0800)]
No need to check MIN_FILECNT_LOOKAHEAD w/extra_flist_sending_enabled.
Wayne Davison [Sat, 14 Nov 2009 17:55:17 +0000 (09:55 -0800)]
Make the two "wrap-bytes" sections simpler and more similar.
Wayne Davison [Sat, 14 Nov 2009 17:52:40 +0000 (09:52 -0800)]
Prefer send_msg_int() over send_msg() for better debug output.
Wayne Davison [Sat, 14 Nov 2009 17:51:26 +0000 (09:51 -0800)]
Tweaked sizing checks in perform_io().
Wayne Davison [Sat, 14 Nov 2009 17:43:02 +0000 (09:43 -0800)]
Fixed the buffer-has-space check in write_buf().
Wayne Davison [Fri, 13 Nov 2009 07:55:21 +0000 (23:55 -0800)]
Make --bwlimit take the same size suffixes as the --max-size option
(while keeping it backward compatible). Improve --bwlimit docs.
Wayne Davison [Fri, 13 Nov 2009 06:05:45 +0000 (22:05 -0800)]
Fix the daemon test when running it as root.
Wayne Davison [Mon, 9 Nov 2009 04:17:02 +0000 (20:17 -0800)]
Make use of seteuid() determined by configure.
Wayne Davison [Sun, 8 Nov 2009 19:51:02 +0000 (11:51 -0800)]
Change an RERR_* to RERR_FILEIO.
Wayne Davison [Sun, 8 Nov 2009 19:50:43 +0000 (11:50 -0800)]
Mention who got the unknown logcode.
Wayne Davison [Sun, 8 Nov 2009 19:43:16 +0000 (11:43 -0800)]
More improvements for abnormal exits.
Wayne Davison [Sun, 8 Nov 2009 08:12:33 +0000 (00:12 -0800)]
Save first filename and linenum in case exit_cleanup() recurses.
Wayne Davison [Sat, 7 Nov 2009 17:46:20 +0000 (09:46 -0800)]
Try to silence some warnings from "checker".
Wayne Davison [Sat, 7 Nov 2009 17:46:01 +0000 (09:46 -0800)]
Mention the error improvements.
Wayne Davison [Sat, 7 Nov 2009 17:45:43 +0000 (09:45 -0800)]
Give noop_io_until_death() a time limit.
Wayne Davison [Sat, 7 Nov 2009 08:39:50 +0000 (00:39 -0800)]
Added notifications about error-exit values:
- The receiver notifies the generator if it is exiting with an error,
and then, if it is a server, waits around for the generator to die.
This ensures that the client side has time to read the error.
- The generator or sender will notifiy the other side of the transfer of
an error-exit value if protocol 31 is in effect. This will get rid of
some "connection unexpectedly closed" errors that are really expected
events due to a fatal exit on the other side.
Wayne Davison [Sun, 1 Nov 2009 21:57:17 +0000 (13:57 -0800)]
Fix MSG_IO_TIMEOUT when the daemon is the receiver.
Wayne Davison [Sun, 1 Nov 2009 21:36:02 +0000 (13:36 -0800)]
A daemon treats --msgs2stderr as "output only to the log, not the user".
Wayne Davison [Sun, 1 Nov 2009 21:26:15 +0000 (13:26 -0800)]
Make sure rwrite() can handle any logcode value in --msgs2stderr mode.
Wayne Davison [Fri, 30 Oct 2009 00:35:50 +0000 (17:35 -0700)]
Fix a hang when dealing with really large numbers of files
in an incremental recursion scan.
Wayne Davison [Tue, 27 Oct 2009 19:38:30 +0000 (12:38 -0700)]
Get rid of some unneeded externs.
Wayne Davison [Tue, 27 Oct 2009 19:34:39 +0000 (12:34 -0700)]
Change the daemon-timeout conveyance into a protocol-31 message.
Wayne Davison [Mon, 26 Oct 2009 05:22:03 +0000 (22:22 -0700)]
Fix %b and %c so that they count per-transfer bytes again.
Wayne Davison [Mon, 26 Oct 2009 04:24:48 +0000 (21:24 -0700)]
Enhance log_format_has() to understand the "'" modifier.
Wayne Davison [Sun, 25 Oct 2009 20:51:09 +0000 (13:51 -0700)]
Updated NEWS with some of the recent changes.
Wayne Davison [Sat, 24 Oct 2009 19:39:58 +0000 (12:39 -0700)]
A few more --files-from fixes, and an enhanced testsuite for it.
Wayne Davison [Sat, 24 Oct 2009 19:37:26 +0000 (12:37 -0700)]
Add a check30 target.
Wayne Davison [Sat, 24 Oct 2009 18:42:29 +0000 (11:42 -0700)]
Make use of $suitedir.
Wayne Davison [Sat, 24 Oct 2009 18:12:37 +0000 (11:12 -0700)]
Fixed some backward-compatibility issues with --files-from.
Wayne Davison [Sat, 24 Oct 2009 07:23:21 +0000 (00:23 -0700)]
Moved some --iconv text that was supposed to be in --files-from.
Wayne Davison [Sat, 24 Oct 2009 07:15:40 +0000 (00:15 -0700)]
Fixed a couple iconv loops to properly handle incomplete chars
that span two reads.
Wayne Davison [Sat, 24 Oct 2009 05:55:06 +0000 (22:55 -0700)]
Move free_xbuf() into ifuncs.h.
Wayne Davison [Sat, 24 Oct 2009 05:51:29 +0000 (22:51 -0700)]
Give iconvbufs() an ICB_INIT flag.
Wayne Davison [Tue, 20 Oct 2009 22:07:51 +0000 (15:07 -0700)]
A protocol 31 daemon will inform the client about its timeout setting
so that the client will be able to cooperate with keep-alive.
Wayne Davison [Tue, 20 Oct 2009 22:05:15 +0000 (15:05 -0700)]
Make sure daemon's io_timeout is used as a maximum value.
Wayne Davison [Mon, 19 Oct 2009 18:21:55 +0000 (11:21 -0700)]
Moved a few group-related functions with some minor tweaks;
Wayne Davison [Mon, 19 Oct 2009 15:06:21 +0000 (08:06 -0700)]
Silence some rprintf() size_t warnings.
Wayne Davison [Sat, 17 Oct 2009 22:53:25 +0000 (15:53 -0700)]
Allow %VAR% environment references in daemon-config parameter values.
Wayne Davison [Sat, 17 Oct 2009 22:03:11 +0000 (15:03 -0700)]
Call seteuid() when calling setuid().
Wayne Davison [Sat, 17 Oct 2009 18:06:49 +0000 (11:06 -0700)]
Fix some man page problems Scott Kostyshak pointed out.
Wayne Davison [Sat, 17 Oct 2009 16:09:27 +0000 (09:09 -0700)]
Fix check for an empty output buffer and limit to flist_eof.
Wayne Davison [Sat, 17 Oct 2009 05:39:21 +0000 (22:39 -0700)]
A major overhaul of I/O routines, creating perform_io().
Files-from data is now sent as multiplexed I/O so that it can mingle
with any messages (such as debug output). Requires protocol 31.
Protocol 31 no longer disables output verbosity in a couple instances
that used to cause protocol issues.
Got rid of MSG_* messages that have implied raw data that follows after
them. We instead send a negative index value as a part of the raw data
stream, which is guaranteed to be output together with the following
data. This only affects the (in-progress) protocol 31 and the (self-
contained) communication stream from the receiver to the generator.
Added --debug=IO and improved --debug=FLIST. Some --debug=IO output
requires --msgs2stderr to be used to see it (i.e. sending a message
about sending a message would send another message, ad infinitum).
Wayne Davison [Wed, 14 Oct 2009 04:07:46 +0000 (21:07 -0700)]
Avoid type-punned compiler warnings for the byteorder.h macros
by using inline functions for the 4-char <-> uint32 conversions.
Wayne Davison [Tue, 13 Oct 2009 17:45:23 +0000 (10:45 -0700)]
Avoid calling send_extra_file_list() when we shouldn't.
Wayne Davison [Mon, 12 Oct 2009 16:03:42 +0000 (09:03 -0700)]
Avoid stopping multiplexed out over the message fd.
Use simpler multiplexed-out stopping method.
Make sure we can't false-match a socket fd.
Wayne Davison [Tue, 15 Sep 2009 23:12:24 +0000 (16:12 -0700)]
Change the msg pipe to use a real multiplexed IO mode
for the data that goes from the receiver to the generator.
Wayne Davison [Sat, 12 Sep 2009 16:40:31 +0000 (09:40 -0700)]
Better mask handling, including some changes to help solaris.
Wayne Davison [Sat, 12 Sep 2009 16:27:07 +0000 (09:27 -0700)]
Pass "new_mode" to set_acl() and change its return values.
Wayne Davison [Sat, 12 Sep 2009 16:13:38 +0000 (09:13 -0700)]
Put file descriptor arg at the start of the arg list for consistency.
Wayne Davison [Mon, 7 Sep 2009 21:22:59 +0000 (14:22 -0700)]
Improve the "--delete does not work without -r or -d" message.
Wayne Davison [Mon, 7 Sep 2009 20:49:52 +0000 (13:49 -0700)]
Add support for transferring & setting nsec time values.
Wayne Davison [Mon, 7 Sep 2009 20:45:33 +0000 (13:45 -0700)]
Always use lutimes() if it is available.
Wayne Davison [Sat, 5 Sep 2009 17:26:51 +0000 (10:26 -0700)]
Add a few new "dont compress" suffixes and improve the docs.
Wayne Davison [Sat, 5 Sep 2009 17:25:42 +0000 (10:25 -0700)]
Improve error handling and get rid of a lingering fprintf().
Wayne Davison [Sat, 5 Sep 2009 16:40:53 +0000 (09:40 -0700)]
Fix daemon's conveyance of io_error value from sender.
Wayne Davison [Sat, 5 Sep 2009 15:16:22 +0000 (08:16 -0700)]
Avoid an dry-run error trying to stat a prior hard-link
file that hasn't really been created.
Wayne Davison [Thu, 3 Sep 2009 22:25:55 +0000 (15:25 -0700)]
Need to use O_RDONLY in solaris sys_lremovexattr().
Wayne Davison [Wed, 2 Sep 2009 16:06:29 +0000 (09:06 -0700)]
Have --fake-super turn a symlink into a file when
NO_SYMLINK_XATTRS is defined.
Wayne Davison [Wed, 2 Sep 2009 15:56:34 +0000 (08:56 -0700)]
Define and use "our_gid" variable.
Wayne Davison [Wed, 2 Sep 2009 15:53:40 +0000 (08:53 -0700)]
Better compiling if SUPPORT_LINKS is not defined.
Wayne Davison [Wed, 2 Sep 2009 15:52:41 +0000 (08:52 -0700)]
Rebuild proto.h if config.h changes.
Wayne Davison [Wed, 2 Sep 2009 14:36:57 +0000 (07:36 -0700)]
Fix attropen() flags for writing an xattr on solaris.
Wayne Davison [Tue, 1 Sep 2009 19:11:32 +0000 (12:11 -0700)]
Fix read_xattr() for solaris.
Wayne Davison [Sat, 29 Aug 2009 18:27:40 +0000 (11:27 -0700)]
Create non-transferred files in a more atomic manner:
If a symlink, device, special-file, or hard-linked file is replacing
an existing non-directory, the new file is created using a temporary
filename and then renamed into place. Also changed the handling of
a cluster of hard-linked symlinks/devices/special-files to always
ensure the first item in the cluster is correct, since it doesn't
really save any significant work to try to find an existing correct
item later in the cluster to link with.
Wayne Davison [Sat, 22 Aug 2009 16:33:55 +0000 (09:33 -0700)]
Fix the chmod-temp-dir test if /var/tmp doesn't exist.
Fixes bug 6569.
Wayne Davison [Sat, 22 Aug 2009 15:15:26 +0000 (08:15 -0700)]
Have the sender use dead time to pad out the file list.
Wayne Davison [Sat, 15 Aug 2009 13:40:12 +0000 (06:40 -0700)]
Allow Solaris sys_llistxattr() to return the list length when size == 0.
Wayne Davison [Sat, 15 Aug 2009 13:27:19 +0000 (06:27 -0700)]
Fix some variable references.
Wayne Davison [Fri, 14 Aug 2009 14:04:24 +0000 (07:04 -0700)]
Fix a bogus free in uncache_tmp_xattrs().
Wayne Davison [Thu, 13 Aug 2009 15:02:00 +0000 (08:02 -0700)]
Some improvements to the solaris xattr routines.
Inspired by the patch to bug 6633.
Wayne Davison [Mon, 10 Aug 2009 16:24:53 +0000 (09:24 -0700)]
Fix a warning about a %d not getting an int (on some platforms).