-
Wayne Davison authored
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.)
030820d5