Wayne Davison [Mon, 2 Feb 2004 21:33:03 +0000 (21:33 +0000)]
- Use as little memory as possible for the file_struct (saves another 3
bytes per file).
- Made the idev struct allocated by the group-malloc again (J.W. suggested
the proper way to align it for all systems).
- Added init_flist().
Wayne Davison [Mon, 2 Feb 2004 21:32:56 +0000 (21:32 +0000)]
Added comment about the position of file_list's "flags" var.
Wayne Davison [Mon, 2 Feb 2004 21:32:52 +0000 (21:32 +0000)]
Don't free link_u.idev.
Wayne Davison [Mon, 2 Feb 2004 21:02:13 +0000 (21:02 +0000)]
Use "%H:%M:%S" instead of "%T" in strftime() call since it looks to be
more portable.
Wayne Davison [Mon, 2 Feb 2004 18:25:37 +0000 (18:25 +0000)]
Clarify the safe/unsafe symlink options in the usage text.
Wayne Davison [Mon, 2 Feb 2004 18:23:09 +0000 (18:23 +0000)]
Clarify the various safe/unsafe symlink options.
Wayne Davison [Mon, 2 Feb 2004 07:06:54 +0000 (07:06 +0000)]
Go back to using malloc() for the hard-link data structure (for now
at least).
Wayne Davison [Mon, 2 Feb 2004 07:06:50 +0000 (07:06 +0000)]
Free the hlink data again.
Wayne Davison [Mon, 2 Feb 2004 06:52:49 +0000 (06:52 +0000)]
Make sure that the idev struct's data is 4-byte aligned.
Wayne Davison [Mon, 2 Feb 2004 05:06:36 +0000 (05:06 +0000)]
- Changed the file-list allocation to alloc all the memory we need
with one call, not with several mallocs and strdups.
- Got rid of string_area() stuff (as suggested in the "@todo").
- Enhanced free_file() to optionally free the whole struct or to
clear it (since we don't need to do both).
- Don't zero out the other flist data when we're about to free it.
Wayne Davison [Mon, 2 Feb 2004 05:06:35 +0000 (05:06 +0000)]
Don't free the hlink data (it is not separately allocated anymore).
Wayne Davison [Mon, 2 Feb 2004 05:06:34 +0000 (05:06 +0000)]
Changed args to make_file() and free_file().
Wayne Davison [Mon, 2 Feb 2004 05:06:33 +0000 (05:06 +0000)]
Added CLEAR_STRUCT and FREE_STRUCT defines.
Wayne Davison [Sun, 1 Feb 2004 17:37:14 +0000 (17:37 +0000)]
Added some missing #if SUPPORT_HARD_LINK and #if SUPPORT_LINK directives.
Wayne Davison [Sun, 1 Feb 2004 17:29:41 +0000 (17:29 +0000)]
- Fixed the bug where the --daemon option would squelch all option errors
for later parameters.
- Complain if someone passes us -l and we don't support symlinks.
Wayne Davison [Sun, 1 Feb 2004 16:28:31 +0000 (16:28 +0000)]
Changed the rdev code to have both an "rdev" variable (which always
has the full device value) and an "rdev_high" variable (which zeros
the lower byte in the last rdev value).
Wayne Davison [Sat, 31 Jan 2004 22:40:55 +0000 (22:40 +0000)]
One more improvement to the 0-flag-byte avoidance algorithm.
Wayne Davison [Sat, 31 Jan 2004 21:01:01 +0000 (21:01 +0000)]
A small optimization to the symlink-send code, and an extra sanity
check to the symlink-receive code.
Wayne Davison [Sat, 31 Jan 2004 20:24:52 +0000 (20:24 +0000)]
Fixed the test to ensure that we don't send a flag-byte of 0 to the
receiver when transferring the file list.
Wayne Davison [Sat, 31 Jan 2004 11:36:03 +0000 (11:36 +0000)]
One more minor variable-name change.
Wayne Davison [Sat, 31 Jan 2004 11:32:30 +0000 (11:32 +0000)]
Switched a buffer name in make_file() to make the code a little more
similar to what is in receive_file_entry().
Wayne Davison [Fri, 30 Jan 2004 16:14:46 +0000 (16:14 +0000)]
Fixed the optional sanitization of the files_from arg.
Wayne Davison [Wed, 28 Jan 2004 01:39:29 +0000 (01:39 +0000)]
OK, "find ... -print0 | xargs -0 ..." wasn't portable. This is.
Wayne Davison [Wed, 28 Jan 2004 00:37:55 +0000 (00:37 +0000)]
Got rid of indeterminacy in the overlapping-files.
Wayne Davison [Wed, 28 Jan 2004 00:04:57 +0000 (00:04 +0000)]
A couple more unsigned char changes to silence compiler warnings
on signed-char systems (like Solaris).
Wayne Davison [Tue, 27 Jan 2004 23:56:00 +0000 (23:56 +0000)]
New test to make sure that merging files from multiple directories
continues to work.
Wayne Davison [Tue, 27 Jan 2004 23:13:15 +0000 (23:13 +0000)]
Use who_am_i() to qualify some debug messages.
Wayne Davison [Tue, 27 Jan 2004 23:13:14 +0000 (23:13 +0000)]
Set the am_generator flag. Use who_am_i().
Wayne Davison [Tue, 27 Jan 2004 23:13:13 +0000 (23:13 +0000)]
New function: who_am_i() returns "sender", "receiver", or "generator".
Wayne Davison [Tue, 27 Jan 2004 23:13:12 +0000 (23:13 +0000)]
Added "am_generator".
Wayne Davison [Tue, 27 Jan 2004 23:00:47 +0000 (23:00 +0000)]
Don't free lastdir! It is still needed by the flist basedir pointers.
Also, output the basedir pointer when dumping the flist for debugging.
Wayne Davison [Tue, 27 Jan 2004 22:35:15 +0000 (22:35 +0000)]
Relocated the externs.
Wayne Davison [Tue, 27 Jan 2004 16:27:05 +0000 (16:27 +0000)]
Silenced some compiler warnings.
Wayne Davison [Tue, 27 Jan 2004 08:14:33 +0000 (08:14 +0000)]
Better pid handling.
Wayne Davison [Tue, 27 Jan 2004 08:02:31 +0000 (08:02 +0000)]
Cast getpid() to a long for output.
Wayne Davison [Tue, 27 Jan 2004 07:57:12 +0000 (07:57 +0000)]
Better pid handling.
Wayne Davison [Tue, 27 Jan 2004 07:48:57 +0000 (07:48 +0000)]
Fixed a comment.
Wayne Davison [Tue, 27 Jan 2004 07:48:19 +0000 (07:48 +0000)]
Tweaked the externs.
Wayne Davison [Tue, 27 Jan 2004 06:51:39 +0000 (06:51 +0000)]
Percentage of file-count output was off by one.
J.W. Schultz [Tue, 27 Jan 2004 05:00:43 +0000 (05:00 +0000)]
EXCLUDE PATTERNS is not just about syntax.
Wayne Davison [Tue, 27 Jan 2004 03:49:54 +0000 (03:49 +0000)]
Mention the latest -x improvement. Also improved the description of
one of my previous fixes.
Wayne Davison [Tue, 27 Jan 2004 01:47:41 +0000 (01:47 +0000)]
Optimized the -x option by removing the skip_filesystem() call and using the
new FLAG_MOUNT_POINT flag.
Wayne Davison [Tue, 27 Jan 2004 01:47:40 +0000 (01:47 +0000)]
Added FLAG_MOUNT_POINT.
Wayne Davison [Tue, 27 Jan 2004 01:27:37 +0000 (01:27 +0000)]
Tweaked a comment.
Wayne Davison [Tue, 27 Jan 2004 01:05:14 +0000 (01:05 +0000)]
Improved the differentiation of the transmit flags from the live flags
by naming the transmit flags with an XMIT_ prefix. Improved the names
of two other flags, got rid of the LIVE_FLAGS mask, and shortened the
flag storage in the flist struct (to save memory).
Wayne Davison [Tue, 27 Jan 2004 01:05:13 +0000 (01:05 +0000)]
Use the new names for the transmit-flag defines. We also make sure
that the FLAG_TOP_DIR flag doesn't get set in the live data for a
non-directory (when it's used as a kluge to prevent a 0x00 byte being
sent over the wire for the flag data).
Wayne Davison [Tue, 27 Jan 2004 01:05:12 +0000 (01:05 +0000)]
Use the new names for the transmit-flag defines.
Wayne Davison [Mon, 26 Jan 2004 22:35:04 +0000 (22:35 +0000)]
Fixed reference to -u that should have been -o.
J.W. Schultz [Mon, 26 Jan 2004 20:54:02 +0000 (20:54 +0000)]
Back out bad refactor (thanks Wayne)
Wayne Davison [Mon, 26 Jan 2004 04:21:59 +0000 (04:21 +0000)]
Mention new hard-link optimization.
Wayne Davison [Sun, 25 Jan 2004 22:32:11 +0000 (22:32 +0000)]
Added defines (FLAG_HLINK_EOL, HL_CHECK_MASTER, and HL_SKIP) and changed
the struct hlink to have an index into the hlink_list[] array instead of
a head pointer.
Wayne Davison [Sun, 25 Jan 2004 22:32:10 +0000 (22:32 +0000)]
We now link the hard-linked flist entries into a circular list, mark
the last item with FLAG_HLINK_EOL, and save off an index for our
master entry in the hlink_list[] array. Added the hard_link_check()
function.
Wayne Davison [Sun, 25 Jan 2004 22:32:09 +0000 (22:32 +0000)]
Use the new hard_link_check() function to figure out which one of the
hard-linked files to send (when -H was specified, of course). Moved
the call to do_hard_links() and the final directory-permissions scan
into generate_files() from recv_files().
Wayne Davison [Sun, 25 Jan 2004 22:32:08 +0000 (22:32 +0000)]
Moved the call to do_hard_links() and the final directory-permissions
scan from recv_files() into generate_files().
Wayne Davison [Sun, 25 Jan 2004 22:32:07 +0000 (22:32 +0000)]
Changed F_HEAD to F_HLINDEX.
Wayne Davison [Sun, 25 Jan 2004 22:32:05 +0000 (22:32 +0000)]
Tweaked a comment.
J.W. Schultz [Sun, 25 Jan 2004 22:11:09 +0000 (22:11 +0000)]
Tightened up code in skip_filesystem()
Wayne Davison [Sat, 24 Jan 2004 22:12:58 +0000 (22:12 +0000)]
Replaced an snprintf() call with pathjoin().
Wayne Davison [Sat, 24 Jan 2004 18:36:36 +0000 (18:36 +0000)]
The static last_in value in match_gid() needed to default to -2 so
that we don't accidentally return a GID of 0 when we don't have the
permissions to set it.
Wayne Davison [Sat, 24 Jan 2004 01:48:12 +0000 (01:48 +0000)]
Another improvement in the "use chroot" section.
Wayne Davison [Fri, 23 Jan 2004 16:58:24 +0000 (16:58 +0000)]
Refer to I/O (not IO), ID (not id), and "an rsync" (not "a rsync").
Wayne Davison [Fri, 23 Jan 2004 16:55:40 +0000 (16:55 +0000)]
Improved the "use chroot" discussion on ID mapping.
Wayne Davison [Fri, 23 Jan 2004 16:40:17 +0000 (16:40 +0000)]
More changes to make the --owner and --group items clearer.
Wayne Davison [Fri, 23 Jan 2004 09:34:04 +0000 (09:34 +0000)]
Use "an" in front of rsync, not "a".
Wayne Davison [Fri, 23 Jan 2004 09:32:50 +0000 (09:32 +0000)]
Tweaked the --help text to refer to I/O (not IO) and use "an" in
front of rsync (not "a").
Wayne Davison [Fri, 23 Jan 2004 09:30:45 +0000 (09:30 +0000)]
Improved the "use chroot" section to mention how to get user/group
preservation by name (getting rid of the erroneous bit about the
--numeric-ids option being implied).
Wayne Davison [Fri, 23 Jan 2004 09:29:16 +0000 (09:29 +0000)]
Improved comments on --owner and --groups, and removed misinformation
on a chroot daemon (it does not imply --numeric-ids).
Wayne Davison [Fri, 23 Jan 2004 08:59:19 +0000 (08:59 +0000)]
Properly punctuate "etc." and changed all occurrences of "IO" to "I/O".
Wayne Davison [Fri, 23 Jan 2004 02:02:51 +0000 (02:02 +0000)]
Fixed two more misspelled words.
Wayne Davison [Fri, 23 Jan 2004 01:36:59 +0000 (01:36 +0000)]
Some spelling corrections and other simple fixes.
Wayne Davison [Thu, 22 Jan 2004 18:39:32 +0000 (18:39 +0000)]
When setting an flist entry's flags, mask it with LIVE_FLAGS.
Wayne Davison [Thu, 22 Jan 2004 18:37:26 +0000 (18:37 +0000)]
A couple comment tweaks.
Wayne Davison [Thu, 22 Jan 2004 09:16:21 +0000 (09:16 +0000)]
Made the getgroups() code a little more portable. This will hopefully
make the chgrp test work on the NetBSD and OpenBSD systems where it is
failing.
Wayne Davison [Thu, 22 Jan 2004 09:13:36 +0000 (09:13 +0000)]
Improved to add the default gid if it is missing from the list.
Wayne Davison [Thu, 22 Jan 2004 09:05:09 +0000 (09:05 +0000)]
Removed an obsolete comment.
Wayne Davison [Thu, 22 Jan 2004 04:40:33 +0000 (04:40 +0000)]
Tweaked an argv-type variable so that it's a little clearer what
the code is doing. Also added a comment.
Wayne Davison [Thu, 22 Jan 2004 04:38:18 +0000 (04:38 +0000)]
Use the new f_name_to() calling syntax.
Wayne Davison [Thu, 22 Jan 2004 04:38:17 +0000 (04:38 +0000)]
- Ensure in make_file() that we can't make a name that overflows
our buffers (note that receive_file_entry() already does this).
- Changed f_name_to() to not do any length checking since it is
now redundant.
Wayne Davison [Thu, 22 Jan 2004 02:02:00 +0000 (02:02 +0000)]
Added more missing news.
Wayne Davison [Thu, 22 Jan 2004 01:23:43 +0000 (01:23 +0000)]
New news.
Wayne Davison [Thu, 22 Jan 2004 01:20:24 +0000 (01:20 +0000)]
Size-check the --temp-dir string so we don't have to worry about it
overflowing elsewhere in the code.
Wayne Davison [Wed, 21 Jan 2004 02:45:10 +0000 (02:45 +0000)]
Improved a couple comments.
Wayne Davison [Tue, 20 Jan 2004 17:46:31 +0000 (17:46 +0000)]
Use new push_dir() syntax.
Wayne Davison [Tue, 20 Jan 2004 17:46:30 +0000 (17:46 +0000)]
- Use the new push_dir() and pop_dir() calling syntax.
- The "olddir" handling changed to accommodate the above, and to
avoid using malloc()/free().
Wayne Davison [Tue, 20 Jan 2004 17:46:29 +0000 (17:46 +0000)]
- Changed push_dir() to not take a "save" arg and to return 1 or 0
for success or failure instead of a string pointer. The function
also ensures that we don't overflow the curr_dir[] buffer.
- Changed pop_dir() to not free() anything and to return 1 or 0
for success or failure.
Wayne Davison [Tue, 20 Jan 2004 05:35:57 +0000 (05:35 +0000)]
Use new stringjoin() function.
Wayne Davison [Tue, 20 Jan 2004 05:27:09 +0000 (05:27 +0000)]
Find last '@' in the user@site string, just in case the username has
a '@' in it.
Wayne Davison [Tue, 20 Jan 2004 05:24:07 +0000 (05:24 +0000)]
Use new stringjoin() and pathjoin() functions.
Wayne Davison [Tue, 20 Jan 2004 05:15:14 +0000 (05:15 +0000)]
Use new pathjoin() function.
Wayne Davison [Tue, 20 Jan 2004 05:09:36 +0000 (05:09 +0000)]
Use new pathjoin() function.
Wayne Davison [Tue, 20 Jan 2004 04:56:20 +0000 (04:56 +0000)]
Use new stringjoin() function.
Wayne Davison [Tue, 20 Jan 2004 04:53:59 +0000 (04:53 +0000)]
Use new pathjoin() function.
Wayne Davison [Tue, 20 Jan 2004 04:43:49 +0000 (04:43 +0000)]
Added stringjoin() and pathjoin().
J.W. Schultz [Tue, 20 Jan 2004 03:37:04 +0000 (03:37 +0000)]
Eliminate unneeded strlen after strlcpy.
Wayne Davison [Tue, 20 Jan 2004 00:59:26 +0000 (00:59 +0000)]
Make sure that strlcpy() returns the right value when the bufsize is 0.
Wayne Davison [Tue, 20 Jan 2004 00:29:49 +0000 (00:29 +0000)]
Fixed a bug in strlcat() where it would not properly detect a no-change
condition if called with an initial string longer than the specified
size limit (due to an unsigned var's inability to go negative).
Wayne Davison [Mon, 19 Jan 2004 23:33:02 +0000 (23:33 +0000)]
Make sure that the batch-prefix string isn't overly long (avoiding
a potential problem in the batch-filename code).
Wayne Davison [Mon, 19 Jan 2004 23:28:57 +0000 (23:28 +0000)]
Actually, let's avoid snprintf() where possible.
Wayne Davison [Sun, 18 Jan 2004 21:22:49 +0000 (21:22 +0000)]
Use snprintf() instead of strlcpy()+strlcat().
Wayne Davison [Sat, 17 Jan 2004 19:45:26 +0000 (19:45 +0000)]
A few minor string optimizations and a new complaint if we try to
send a truncated filename.