+ get_acl(fnamecmp, &real_sx);
+#endif
+ itemize(file, -1, real_ret, &real_sx, iflags, fnamecmp_type,
- fuzzy_file ? F_BASENAME(fuzzy_file) : NULL);
+ fuzzy_file ? fuzzy_file->basename : NULL);
+#ifdef SUPPORT_ACLS
+ if (preserve_acls)
+ free_acl(&real_sx);
#define GID_NONE ((gid_t)-1)
struct file_struct {
-@@ -559,11 +567,13 @@ extern int preserve_gid;
+@@ -558,11 +566,13 @@ extern int preserve_gid;
/* When the associated option is on, all entries will have these present: */
#define F_UID(f) REQ_EXTRA(f, preserve_uid)->uid
#define F_GID(f) REQ_EXTRA(f, preserve_gid)->gid
/* This optional item might follow an F_HL_*() item.
* (Note: a device doesn't need to check LEN64_BUMP(f).) */
-@@ -699,6 +709,17 @@ struct stats {
+@@ -698,6 +708,17 @@ struct stats {
struct chmod_mode_struct;
#include "byteorder.h"
#include "lib/mdfour.h"
#include "lib/wildmatch.h"
-@@ -717,6 +738,16 @@ struct chmod_mode_struct;
+@@ -716,6 +737,16 @@ struct chmod_mode_struct;
#define NORETURN __attribute__((__noreturn__))
#endif
dit(bf(-E, --executability)) This option causes rsync to preserve the
executability (or non-executability) of regular files when bf(--perms) is
-@@ -805,6 +810,15 @@ quote(itemization(
+@@ -805,6 +810,14 @@ quote(itemization(
If bf(--perms) is enabled, this option is ignored.
+ACLs to be the same as the source ACLs. This nonstandard option only
+works if the remote rsync also supports it. bf(--acls) implies bf(--perms).
+
-+Note also that an optimization of the ACL-sending protocol used by this
-+version makes it incompatible with sending files to an older ACL-enabled
-+rsync unless you double the bf(--acls) option (e.g. bf(-AA)). This
-+doubling is not needed when pulling files from an older rsync.
++The ACL-sending protocol used by this version was first introduced in
++the patch that was shipped with 2.6.8. Sending files to an older version
++of the ACL patch is not supported.
+
dit(bf(--chmod)) This option tells rsync to apply one or more
comma-separated "chmod" strings to the permission of the files in the
transfer. The resulting value is treated as though it was the permissions
-@@ -1402,8 +1416,8 @@ if the receiving rsync is at least versi
+@@ -1402,8 +1415,8 @@ if the receiving rsync is at least versi
with older versions of rsync, but that also turns on the output of other
verbose messages).
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -1452,7 +1466,11 @@ quote(itemization(
+@@ -1452,7 +1465,11 @@ quote(itemization(
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).