Wayne Davison [Fri, 25 May 2007 14:16:57 +0000 (14:16 +0000)]
Got rid of superfluous acl_clear_perms() call that Antti Tapaninen
pointed out.
Wayne Davison [Thu, 24 May 2007 23:11:33 +0000 (23:11 +0000)]
Mention latest improvements.
Wayne Davison [Thu, 24 May 2007 23:08:39 +0000 (23:08 +0000)]
Changed dup-detection code to keep the first item in the user's args.
This is more in keeping with the way cp works, and also makes the dir-
joining code (in inc_recurse mode) easier.
Wayne Davison [Thu, 24 May 2007 02:50:41 +0000 (02:50 +0000)]
- Added fsort() and fsort_tmp() that implement a mergesort routine
that ensures that any identical items in the file-list stay in the
same order as they had in the input. It will also obey the --qsort
option (which causes it to punt the sort to the qsort() routine).
- Changed the various places that sort the file-list to call fsort().
Wayne Davison [Thu, 24 May 2007 02:50:38 +0000 (02:50 +0000)]
If someone forces the use of qsort() via --qsort, disable incremental
recursion (at least for now).
Wayne Davison [Thu, 24 May 2007 02:50:35 +0000 (02:50 +0000)]
- Added the --qsort option.
- Added several new --no-FOO options.
Wayne Davison [Wed, 23 May 2007 00:48:27 +0000 (00:48 +0000)]
Make sure we don't try to output a NULL pointer in a verbose message.
Wayne Davison [Wed, 23 May 2007 00:42:38 +0000 (00:42 +0000)]
- Output a -vvv(erbose) message in the touch_up_dirs() loop.
- Made the keep-alive counter in touch_up_dirs() work better.
- Use !(N & 0xFF) instead of !(N % 200).
Wayne Davison [Wed, 23 May 2007 00:42:32 +0000 (00:42 +0000)]
Output a -vvv(erbose) message when receiving an incremental file list.
Wayne Davison [Tue, 22 May 2007 05:59:02 +0000 (05:59 +0000)]
Added a comment to the do_chmod() to mark it as a discouraged function.
Wayne Davison [Tue, 22 May 2007 05:58:59 +0000 (05:58 +0000)]
Added a comment to a shared iterator to avoid a warning from IBM's checker.
Wayne Davison [Tue, 22 May 2007 05:50:47 +0000 (05:50 +0000)]
- Changed the dir_flist code on the sending side to derive its sorted
data from the sorted parent flist. This ensures that any entries
marked with FLAG_DUPLICATE are in the same order in the dir_flist
(where the flags get checked) as they are in the parent flist
(where the flags get set).
- Made the flist_expand() function static.
- Added a growth count arg to flist_expand().
- Made make_file() set a pool variable instead of tweaking flist.
- Improved the error message when a dir-number is out of bounds.
Wayne Davison [Tue, 22 May 2007 05:50:41 +0000 (05:50 +0000)]
Improved the error message when a dir-number is out of bounds.
Wayne Davison [Tue, 22 May 2007 03:58:18 +0000 (03:58 +0000)]
One more output_flist() call that should verify if my analysis
of the Solaris 10 host's merge-test failure is correct or not.
Wayne Davison [Tue, 22 May 2007 00:00:51 +0000 (00:00 +0000)]
Be more verbose so that we can debug what is going wrong on solaris.
Wayne Davison [Tue, 22 May 2007 00:00:07 +0000 (00:00 +0000)]
Improved the index values that output_flist() outputs when we're being
extra verbose: they now have the list's ndx_start value added in.
Wayne Davison [Mon, 21 May 2007 23:45:26 +0000 (23:45 +0000)]
One more try at silencing some checker warnings.
Wayne Davison [Mon, 21 May 2007 18:39:05 +0000 (18:39 +0000)]
Let's see if we can silence some more code-checker warnings.
Wayne Davison [Mon, 21 May 2007 10:20:18 +0000 (10:20 +0000)]
Added some "FALL THROUGH" comments in the main switch.
Wayne Davison [Mon, 21 May 2007 03:56:06 +0000 (03:56 +0000)]
Get rid of compiler warning about iconv()'s second parameter.
Wayne Davison [Mon, 21 May 2007 03:20:39 +0000 (03:20 +0000)]
Fixed a thinko in the calling of recv_add_gid().
Wayne Davison [Mon, 21 May 2007 03:09:25 +0000 (03:09 +0000)]
Got rid of the temporary "set -x" that was added for debugging.
Wayne Davison [Mon, 21 May 2007 03:08:55 +0000 (03:08 +0000)]
The match_gid() function needed to affect the *flags_ptr value
when re-using the last-found match.
Wayne Davison [Mon, 21 May 2007 03:08:01 +0000 (03:08 +0000)]
The recv_file_entry() function needed to remember the gid flags so that
it can reuse them when the gid stays the same.
Wayne Davison [Mon, 21 May 2007 02:31:20 +0000 (02:31 +0000)]
Set -x option to diagnose what is going wrong on FreeBSD.
Wayne Davison [Mon, 21 May 2007 02:17:48 +0000 (02:17 +0000)]
Cast some F_OWNER()/F_GROUP() values to make sure that we don't get
a signed/unsigned compiler warning on some systems.
Wayne Davison [Mon, 21 May 2007 02:09:45 +0000 (02:09 +0000)]
Fixed a problem in a couple OS's sys_acl_get_access_bits() functions.
Wayne Davison [Mon, 21 May 2007 02:06:51 +0000 (02:06 +0000)]
Make sure that the scratch dirs have rwx permissions before we try
a recursive rm.
Wayne Davison [Mon, 21 May 2007 01:06:16 +0000 (01:06 +0000)]
Tweaked a sentence in the --size-only section.
Wayne Davison [Mon, 21 May 2007 01:05:36 +0000 (01:05 +0000)]
Create a symlink back to the source dir in the scratchdir of a test.
Wayne Davison [Mon, 21 May 2007 01:04:40 +0000 (01:04 +0000)]
- Unified the formerly separate user & group name-lists into a single
name-list. On POSIX systems, this list will be sorted with the user
names first, so the code will work essentially the same way it did
before for the currently supported OSes. However, the code will now
more easily support non-POSIX ACL setups such as (hopefully) the one
used in OS X.
- Increased the (potentially) available access-bit storage for name
elements from 3 to 31 bits. For non-name elements, the access bits
now have the potential to store 7 bits instead of 3. (All the
current POSIX implementations still error-check their values at 3
bits, but this will allow adding non-POSIX ACL setups more easily.)
- The protocol that transmits the ACL information was changed to send
names in a single list, and to use {read,write}_varint() functions
instead of {read,write}_byte(). This supports sending access-bit
values up to 32-bits (minus any bits reserved for xmit flags).
- The construction of the internal access-bit value was moved into the
lib/sysacls.c code, so that it could be handled in an appropriate
manner for each OS.
(Aside: the code still does not support transmitting incompatible ACL
information between systems, but I envision improving --fake-super to
store the ACL information that is received as xattr information, and
this would allow a system that supports extended attributes to backup
a source system that had an incompatible ACL method.)
Wayne Davison [Mon, 21 May 2007 01:04:37 +0000 (01:04 +0000)]
- Define what the valid access bits are for a name element and a
non-name element.
- Set a define when the OS needs the name-list sorted.
- Got rid of the permset-related defines.
- Got rid of some function prototypes that rsync doesn't need.
- Got rid of the defines for the do-nothing ACL code.
Wayne Davison [Mon, 21 May 2007 01:04:34 +0000 (01:04 +0000)]
- Added a function to get/set all the access-bit values with a single
call. This allows the per-OS compatibility code to construct the
value with however many bits are supported by each OS.
- Removed several functions that rsync doesn't (and won't) need.
- Got rid of the do-nothing ACL code (the ACL code in rsync should be
disabled on a system that we can't support).
Wayne Davison [Mon, 21 May 2007 01:04:31 +0000 (01:04 +0000)]
Changed SUBPROTOCOL_VERSION from 2 to 3 because of the ACL protocol changes.
Wayne Davison [Sun, 20 May 2007 07:40:07 +0000 (07:40 +0000)]
Moved GID_NONE define from rsync.h to uidlist.c.
Wayne Davison [Sun, 20 May 2007 07:10:48 +0000 (07:10 +0000)]
- Added more users and some groups to one of the files we're copying.
Wayne Davison [Sun, 20 May 2007 07:10:45 +0000 (07:10 +0000)]
- Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID().
Wayne Davison [Sun, 20 May 2007 07:10:41 +0000 (07:10 +0000)]
- Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID().
- Use the new FLAG_SKIP_GROUP define.
Wayne Davison [Sun, 20 May 2007 07:10:37 +0000 (07:10 +0000)]
- Use F_OWNER() and F_GROUP() instead of F_UID() and F_GID().
- Made recv_file_entry() name the xmit-flags variable "xflags" to
prevent confusion with the internal flags value we're creating.
- Added an arg to the calls of recv_group_name() and match_gid().
- Use the improved function names: send_id_list() and recv_id_list().
- Improved the display of the GID values in output_flist().
Wayne Davison [Sun, 20 May 2007 07:10:34 +0000 (07:10 +0000)]
- Fixed a bug in the match_racl_ids() function's iteration.
- Fixed a bug with preserving a group ID in an ACL when running as
a non-super user that the user is not a member of.
Wayne Davison [Sun, 20 May 2007 07:10:31 +0000 (07:10 +0000)]
- Changed id & id2 from int to id_t in the struct iflist.
- Added a uint16 flags var to struct iflist.
- We now mark a group with FLAG_SKIP_GROUP if the receiving user
can't set a group rather than turning it into GID_NONE. This
allows us to keep the real group ID mapping, which is needed by
the ACL code.
Wayne Davison [Sun, 20 May 2007 07:10:28 +0000 (07:10 +0000)]
- Added FLAG_SKIP_GROUP define.
- Removed F_UID() and F_GID() defines.
Wayne Davison [Tue, 8 May 2007 17:04:05 +0000 (17:04 +0000)]
A couple more minor tweaks.
Wayne Davison [Tue, 8 May 2007 17:01:24 +0000 (17:01 +0000)]
Improved the documentation on the "quick check" algorithm and the
--size-only option.
Wayne Davison [Sun, 6 May 2007 19:44:26 +0000 (19:44 +0000)]
If the server is exiting with an error, delay our exit just a little
in order to give the client side a better chance of reading any error
message we just sent.
Wayne Davison [Sat, 5 May 2007 18:34:37 +0000 (18:34 +0000)]
Clumped some option-sending together that only happens on the sending side.
Wayne Davison [Mon, 30 Apr 2007 02:58:14 +0000 (02:58 +0000)]
Try a better way to deduce if the xattr functions we need are there.
Wayne Davison [Sun, 29 Apr 2007 15:01:57 +0000 (15:01 +0000)]
Added a "sleep 1" to make certain failures more reproducible.
Wayne Davison [Sat, 28 Apr 2007 23:47:16 +0000 (23:47 +0000)]
Use the --super option for the non-fake test, just in case a system
can chown without appearing to be root (uid 0).
Wayne Davison [Sat, 28 Apr 2007 18:40:23 +0000 (18:40 +0000)]
If the lgetxattr() function isn't found, disable xattr support.
Wayne Davison [Sat, 28 Apr 2007 17:22:53 +0000 (17:22 +0000)]
Authorize 10.0.1.2 for one of the BSD test-farm systems.
Wayne Davison [Fri, 27 Apr 2007 14:09:22 +0000 (14:09 +0000)]
Improved the --iconv description.
Wayne Davison [Fri, 27 Apr 2007 13:52:07 +0000 (13:52 +0000)]
Added the $(CHECK_SYMLINKS) var to installcheck target.
Wayne Davison [Fri, 27 Apr 2007 00:19:21 +0000 (00:19 +0000)]
Fixed the buildability of the file without ICONV_OPTION enabled.
Wayne Davison [Fri, 27 Apr 2007 00:19:02 +0000 (00:19 +0000)]
Fixed the comment about --iconv.
Wayne Davison [Thu, 26 Apr 2007 23:15:51 +0000 (23:15 +0000)]
Got rid of the --no-ir kluge in this test.
Wayne Davison [Thu, 26 Apr 2007 23:15:47 +0000 (23:15 +0000)]
- Fixed the merging of duplicated directory hierarchies in incremental
recursion mode.
- Fixed some problems with --iconv in incremental recursion mode.
Wayne Davison [Thu, 26 Apr 2007 23:15:43 +0000 (23:15 +0000)]
Refer to the right sorted/unsorted file list array in touch_up_dirs().
Wayne Davison [Thu, 26 Apr 2007 23:15:39 +0000 (23:15 +0000)]
The server now needs the F_NDX() data for --iconv with incremental
recursion.
Wayne Davison [Thu, 26 Apr 2007 23:15:36 +0000 (23:15 +0000)]
Added FLAG_DUPLICATE for the sender to mark a duplicate flist entry
(which is better on the sending side than clearing the duplicate's
data).
Wayne Davison [Thu, 26 Apr 2007 23:06:38 +0000 (23:06 +0000)]
Prevent a hang in incremental-recursion mode when the receiver encounters
an error updating the file: the receiver now sends MSG_NO_SEND to the
generator so that it knows when all outstanding work is completed.
Wayne Davison [Thu, 26 Apr 2007 05:53:13 +0000 (05:53 +0000)]
The --iconv option has now made it to the trunk.
Wayne Davison [Thu, 26 Apr 2007 05:32:38 +0000 (05:32 +0000)]
Changed a "mkdir -p" into a makedir.
Wayne Davison [Thu, 26 Apr 2007 00:23:52 +0000 (00:23 +0000)]
Changed F_ROOTDIR() to F_PATHNAME().
Wayne Davison [Thu, 26 Apr 2007 00:23:48 +0000 (00:23 +0000)]
- Renamed flist_dir to pathname to avoid confusion with dir_flist var.
- Renamed push_flist_dir() to push_pathname().
- Set a pool var in recv_file_ent() instead of playing games with flist.
- Simplified the top_flags computation in send_file_list().
Wayne Davison [Tue, 24 Apr 2007 19:33:12 +0000 (19:33 +0000)]
Create symlinks for fake tests.
Wayne Davison [Tue, 24 Apr 2007 19:03:54 +0000 (19:03 +0000)]
Put the files down in a subdir so that we test backup's dir-
creating functionality (which had a bug until recently).
Wayne Davison [Tue, 24 Apr 2007 18:43:31 +0000 (18:43 +0000)]
Need to call unmake_file() instead of free() on a file_struct.
Wayne Davison [Tue, 24 Apr 2007 18:21:08 +0000 (18:21 +0000)]
Use a single makepath call with multiple args.
Wayne Davison [Tue, 24 Apr 2007 18:19:25 +0000 (18:19 +0000)]
Allow makepath to take multiple args.
Wayne Davison [Tue, 24 Apr 2007 18:18:57 +0000 (18:18 +0000)]
Specify an arg sequence that was recently failing to work.
Wayne Davison [Tue, 24 Apr 2007 18:18:29 +0000 (18:18 +0000)]
Use a slightly different rsync calling syntax.
Wayne Davison [Tue, 24 Apr 2007 17:53:54 +0000 (17:53 +0000)]
Fixed a directory push problem with the user specified an arg
with a subdir followed by an arg with no subdirs.
Wayne Davison [Tue, 24 Apr 2007 17:22:01 +0000 (17:22 +0000)]
The chown script now has a --fake-super mode if the script name has
"fake" in it. Added a symlink named chown-fake.test.
Wayne Davison [Tue, 24 Apr 2007 17:06:09 +0000 (17:06 +0000)]
Made the devices.test script do a real device test when called
normally, or a fake-device test when called with "fake" in the
script name. Added a devices-fake.test symlink.
Wayne Davison [Tue, 24 Apr 2007 16:54:38 +0000 (16:54 +0000)]
Conditionalize xattr code for systems without xattr support.
Wayne Davison [Tue, 24 Apr 2007 16:11:02 +0000 (16:11 +0000)]
A little more popt tweaking.
Wayne Davison [Tue, 24 Apr 2007 16:06:29 +0000 (16:06 +0000)]
Fixed build problem for tls for those using the included popt.
Wayne Davison [Tue, 24 Apr 2007 08:11:02 +0000 (08:11 +0000)]
Moved the header info from smb_acls.h into lib/sysacls.h.
Wayne Davison [Tue, 24 Apr 2007 08:00:49 +0000 (08:00 +0000)]
Improved the usage message.
Wayne Davison [Tue, 24 Apr 2007 07:52:45 +0000 (07:52 +0000)]
Added arg-parsing to tls.c.
Wayne Davison [Tue, 24 Apr 2007 07:32:44 +0000 (07:32 +0000)]
Adding the --fake-super option.
Wayne Davison [Mon, 23 Apr 2007 19:54:07 +0000 (19:54 +0000)]
Improved the SUBPROTOCOL_VERSION code a little, and bumped the value
to 2.
Wayne Davison [Mon, 23 Apr 2007 19:03:29 +0000 (19:03 +0000)]
Changed the prerelease-protocol support to use an idiom that will not
slow down the initial version handshake between the two sides.
Wayne Davison [Mon, 23 Apr 2007 18:40:00 +0000 (18:40 +0000)]
No need to reset quiet, since we tell parse_arguments() that it
should prevent quiet from getting set.
Wayne Davison [Sat, 21 Apr 2007 19:46:19 +0000 (19:46 +0000)]
Tweaked --version in a few minor ways, including the mentioning of
the SUBPROTOCOL_VERSION if it is non-zero.
Wayne Davison [Sat, 21 Apr 2007 19:32:46 +0000 (19:32 +0000)]
Batch files need to be written with the new subprotocol value
for protocol 30.
Wayne Davison [Sat, 21 Apr 2007 19:31:54 +0000 (19:31 +0000)]
Mention how many bits our local timestamps support.
Wayne Davison [Sat, 21 Apr 2007 19:27:04 +0000 (19:27 +0000)]
Mention the latest changes that have been made.
Wayne Davison [Sat, 21 Apr 2007 18:40:42 +0000 (18:40 +0000)]
Added a way to exchange a protocol's sub-protocol value. This will be
0 when a protocol goes final, and non-zero for an intermediary CVS
version of a protocol that is in flux. If we find that we're talking
to a CVS version with a different sub-protocol #, we automatically
drop back to the prior protocol that the sides have in common.
Wayne Davison [Fri, 20 Apr 2007 22:40:01 +0000 (22:40 +0000)]
We now allow verbose messages to be sent when forwarding incremental-recursion
file-list data from the receiver to the generator.
Wayne Davison [Fri, 20 Apr 2007 22:39:58 +0000 (22:39 +0000)]
Added a message queue for the receiver->generator messages to handle the case
where the message pipe is being used to forward the file-list data.
Wayne Davison [Fri, 20 Apr 2007 22:39:55 +0000 (22:39 +0000)]
Verify that the modtime value is not being truncated, and complain if it is.
Wayne Davison [Fri, 20 Apr 2007 21:39:08 +0000 (21:39 +0000)]
Check the size of a time_t.
Wayne Davison [Fri, 20 Apr 2007 08:17:06 +0000 (08:17 +0000)]
Call the new {read,write}_varlong30() names for the long-int
functions that are protocol sensitive.
Wayne Davison [Fri, 20 Apr 2007 08:17:03 +0000 (08:17 +0000)]
- Call the new {read,write}_varlong30() names for the long-int
functions that are protocol sensitive.
- Changed the sending of the time value in protocol 30 to support
64-bit values without bloating positive 32-bit values.
Wayne Davison [Fri, 20 Apr 2007 08:16:59 +0000 (08:16 +0000)]
Got rid of the NVAL*() defines.
Wayne Davison [Fri, 20 Apr 2007 08:16:56 +0000 (08:16 +0000)]
Added {read,write}_varlong30() inline functions to use the
right long-int function based on protocol version.
Wayne Davison [Fri, 20 Apr 2007 08:16:53 +0000 (08:16 +0000)]
- Changed the {read,write}_longint() functions into separate
{read,write}_varlong() and {read,write}_longint() functions:
the former handles variable-length transmissions, and the
latter is backward-compatible with older rsync versions.
- Improved the {read,write}_var{int,long}() functions to be
simpler and to use a different byte order.
- The {read_write}_varlong() functions also allow the caller
to specify the minimum number of bytes to send. This allows
time values to be sent efficiently with a 4-byte minimum,
while length values continue to be sent with a (more optimal
for them) 3-byte minimum.
Wayne Davison [Fri, 20 Apr 2007 02:17:58 +0000 (02:17 +0000)]
Changed the *_abbbrevint() functions to *_varint().