free(file);
if (verbose > 1) {
---- orig/configure.in 2006-01-15 14:52:33
+--- orig/configure.in 2006-02-02 02:41:09
+++ configure.in 2004-08-19 19:53:27
@@ -478,6 +478,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no
AC_CHECK_LIB(resolv, strcasecmp)
dnl At the moment we don't test for a broken memcmp(), because all we
dnl need to do is test for equality, not comparison, and it seems that
dnl every platform has a memcmp that can do at least that.
-@@ -750,6 +755,77 @@ AC_SUBST(OBJ_RESTORE)
+@@ -751,6 +756,77 @@ AC_SUBST(OBJ_RESTORE)
AC_SUBST(CC_SHOBJ_FLAG)
AC_SUBST(BUILD_POPT)
+int sys_acl_free_text(char *text);
+int sys_acl_free_acl(SMB_ACL_T the_acl);
+int sys_acl_free_qualifier(void *qual, SMB_ACL_TAG_T tagtype);
---- orig/mkproto.awk 2005-02-18 20:16:59
-+++ mkproto.awk 2005-02-18 20:18:17
+--- orig/mkproto.awk 2006-02-02 02:41:09
++++ mkproto.awk 2006-02-02 02:41:47
@@ -58,7 +58,7 @@ BEGIN {
next;
}
--!/^OFF_T|^size_t|^off_t|^pid_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^uchar|^short|^struct|^BOOL|^void|^time|^const/ {
-+!/^OFF_T|^size_t|^off_t|^pid_t|^id_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^uchar|^short|^struct|^BOOL|^void|^time|^const/ {
+-!/^OFF_T|^size_t|^off_t|^pid_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^uchar|^short|^struct|^BOOL|^void|^time|^const|^RETSIGTYPE/ {
++!/^OFF_T|^size_t|^off_t|^pid_t|^id_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^uchar|^short|^struct|^BOOL|^void|^time|^const|^RETSIGTYPE/ {
next;
}
---- orig/options.c 2006-01-31 03:11:30
-+++ options.c 2006-01-31 03:11:18
+--- orig/options.c 2006-02-02 11:40:45
++++ options.c 2006-02-02 11:45:46
@@ -44,6 +44,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
int preserve_links = 0;
rprintf(f, "Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.\n");
rprintf(f, "<http://rsync.samba.org/>\n");
rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, "
-- "%shard links, %ssymlinks, batchfiles, \n",
-+ "%shard links, %sACLs, %ssymlinks, batchfiles, \n",
+- "%shard links, %ssymlinks, batchfiles,\n",
++ "%shard links, %sACLs, %ssymlinks, batchfiles,\n",
(int) (sizeof (OFF_T) * 8),
- got_socketpair, hardlinks, links);
+ got_socketpair, hardlinks, acls, links);
}
/* We now check to see if we are writing file "inplace" */
---- orig/rsync.c 2006-01-31 02:30:18
+--- orig/rsync.c 2006-02-02 02:41:09
+++ rsync.c 2006-01-31 19:35:44
@@ -53,7 +53,8 @@ void free_sums(struct sum_struct *s)
if (verbose > 1 && flags & ATTRS_REPORT) {
enum logcode code = daemon_log_format_has_i || dry_run
? FCLIENT : FINFO;
---- orig/rsync.h 2006-01-30 20:39:09
+--- orig/rsync.h 2006-02-02 02:41:09
+++ rsync.h 2006-01-31 19:27:00
-@@ -648,6 +648,44 @@ struct chmod_mode_struct;
- #include "lib/permstring.h"
- #include "lib/addrinfo.h"
+@@ -650,6 +650,44 @@ struct chmod_mode_struct;
+
+ #define UNUSED(x) x __attribute__((__unused__))
+#if HAVE_POSIX_ACLS|HAVE_UNIXWARE_ACLS|HAVE_SOLARIS_ACLS|\
+ HAVE_HPUX_ACLS|HAVE_IRIX_ACLS|HAVE_AIX_ACLS|HAVE_TRU64_ACLS
}
}
---- orig/generator.c 2006-01-31 02:30:18
-+++ generator.c 2006-01-26 09:15:22
-@@ -44,6 +44,7 @@ extern int preserve_perms;
+--- orig/generator.c 2006-01-31 18:59:39
++++ generator.c 2006-02-01 19:37:52
+@@ -45,6 +45,7 @@ extern int preserve_executability;
extern int preserve_uid;
extern int preserve_gid;
extern int preserve_times;
extern int omit_dir_times;
extern int delete_mode;
extern int delete_before;
-@@ -91,6 +92,7 @@ extern dev_t filesystem_dev;
+@@ -92,6 +93,7 @@ extern dev_t filesystem_dev;
extern char *backup_dir;
extern char *backup_suffix;
extern int backup_suffix_len;
extern struct file_list *the_file_list;
extern struct filter_list_struct server_filter_list;
-@@ -185,7 +187,7 @@ static int delete_item(char *fname, int
+@@ -186,7 +188,7 @@ static int delete_item(char *fname, int
for (j = dirlist->count; j--; ) {
struct file_struct *fp = dirlist->files[j];
continue;
strlcpy(p, fp->basename, remainder);
-@@ -263,7 +265,7 @@ static void delete_in_dir(struct file_li
+@@ -264,7 +266,7 @@ static void delete_in_dir(struct file_li
filt_array[cur_depth] = push_local_filters(fbuf, dlen);
if (one_file_system) {
filesystem_dev = stp->st_dev;
else if (filesystem_dev != stp->st_dev)
return;
-@@ -275,7 +277,7 @@ static void delete_in_dir(struct file_li
+@@ -276,7 +278,7 @@ static void delete_in_dir(struct file_li
* from the filesystem. */
for (i = dirlist->count; i--; ) {
struct file_struct *fp = dirlist->files[i];
continue;
if (flist_find(flist, fp) < 0) {
f_name(fp, delbuf);
-@@ -301,11 +303,11 @@ static void do_delete_pass(struct file_l
+@@ -302,11 +304,11 @@ static void do_delete_pass(struct file_l
for (j = 0; j < flist->count; j++) {
struct file_struct *file = flist->files[j];
rprintf(FINFO, "deleting in %s\n", fbuf);
if (link_stat(fbuf, &st, keep_dirlinks) < 0
-@@ -347,8 +349,11 @@ void itemize(struct file_struct *file, i
+@@ -348,8 +350,11 @@ void itemize(struct file_struct *file, i
iflags |= ITEM_REPORT_SIZE;
if ((iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !keep_time
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
+ if (preserve_atimes && !S_ISDIR(file->mode) && !S_ISLNK(file->mode)
+ && cmp_time(file->atime, st->st_atime) != 0)
+ iflags |= ITEM_REPORT_ATIME;
- if (preserve_perms
+ if ((preserve_perms || preserve_executability)
&& (file->mode & CHMOD_BITS) != (st->st_mode & CHMOD_BITS))
iflags |= ITEM_REPORT_PERMS;
-@@ -397,7 +402,7 @@ int unchanged_file(char *fn, struct file
+@@ -398,7 +403,7 @@ int unchanged_file(char *fn, struct file
if (ignore_times)
return 0;
}
-@@ -551,13 +556,13 @@ static int find_fuzzy(struct file_struct
+@@ -552,13 +557,13 @@ static int find_fuzzy(struct file_struct
uint32 dist;
if (!S_ISREG(fp->mode) || !fp->length
if (verbose > 4) {
rprintf(FINFO,
"fuzzy size/modtime match for %s\n",
-@@ -633,7 +638,7 @@ static int try_dests_reg(struct file_str
+@@ -634,7 +639,7 @@ static int try_dests_reg(struct file_str
if (!unchanged_attrs(file, stp))
continue;
if ((always_checksum || ignore_times)
continue;
best_match = j;
match_level = 3;
-@@ -660,6 +665,8 @@ static int try_dests_reg(struct file_str
+@@ -661,6 +666,8 @@ static int try_dests_reg(struct file_str
itemizing && verbose > 1,
code) < 0)
goto try_a_copy;
if (preserve_hard_links && file->link_u.links)
hard_link_cluster(file, ndx, itemizing, code);
} else if (itemizing)
-@@ -895,7 +902,7 @@ static void recv_generator(char *fname,
+@@ -896,7 +903,7 @@ static void recv_generator(char *fname,
&& verbose && code && f_out != -1)
rprintf(code, "%s/\n", fname);
if (delete_during && f_out != -1 && !phase && dry_run < 2
delete_in_dir(the_file_list, fname, file, &st);
return;
}
-@@ -1074,7 +1081,7 @@ static void recv_generator(char *fname,
+@@ -1075,7 +1082,7 @@ static void recv_generator(char *fname,
}
if (update_only && statret == 0
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", fname);
return;
-@@ -1177,7 +1184,7 @@ static void recv_generator(char *fname,
+@@ -1178,7 +1185,7 @@ static void recv_generator(char *fname,
if (fuzzy_basis) {
int j = flist_find(fuzzy_dirlist, file);
if (j >= 0) /* don't use changing file as future fuzzy basis */
+ } while (!(FFLAGS(file) & FLAG_HLINK_EOL));
#endif
}
---- orig/log.c 2006-01-26 10:45:39
+--- orig/log.c 2006-02-01 19:37:05
+++ log.c 2006-01-24 22:50:01
@@ -38,6 +38,7 @@ extern int module_id;
extern int msg_fd_out;
extern int log_format_has_i;
extern int log_format_has_o_or_i;
extern int daemon_log_format_has_o_or_i;
-@@ -543,10 +544,12 @@ static void log_formatted(enum logcode c
+@@ -546,10 +547,12 @@ static void log_formatted(enum logcode c
n[3] = !(iflags & ITEM_REPORT_SIZE) ? '.' : 's';
n[4] = !(iflags & ITEM_REPORT_TIME) ? '.'
: !preserve_times || S_ISLNK(file->mode) ? 'T' : 't';
}
change_uid = am_root && preserve_uid && st->st_uid != file->uid;
---- orig/rsync.h 2006-01-30 20:39:09
+--- orig/rsync.h 2006-02-01 19:37:05
+++ rsync.h 2006-01-24 22:38:08
@@ -54,6 +54,7 @@
#define XMIT_HAS_IDEV_DATA (1<<9)
TLS_OBJ = tls.o syscall.o lib/compat.o lib/snprintf.o lib/permstring.o
---- orig/cleanup.c 2006-01-30 07:18:27
+--- orig/cleanup.c 2006-02-02 02:41:08
+++ cleanup.c 2005-01-10 10:43:22
@@ -22,6 +22,9 @@
#include "rsync.h"
extern int keep_partial;
extern int log_got_error;
extern char *partial_dir;
-@@ -97,6 +100,11 @@ void _exit_cleanup(int code, const char
- signal(SIGUSR1, SIG_IGN);
- signal(SIGUSR2, SIG_IGN);
+@@ -101,6 +104,11 @@ void _exit_cleanup(int code, const char
+ SIGACTION(SIGUSR1, SIG_IGN);
+ SIGACTION(SIGUSR2, SIG_IGN);
+#if HAVE_OPENSSL
+ if (use_ssl)
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, file, line);
---- orig/clientserver.c 2006-01-30 21:47:45
+--- orig/clientserver.c 2006-02-01 19:37:05
+++ clientserver.c 2005-04-09 17:39:57
-@@ -44,6 +44,9 @@ extern int io_timeout;
+@@ -45,6 +45,9 @@ extern int io_timeout;
extern int orig_umask;
extern int no_detach;
extern int default_af_hint;
extern char *bind_address;
extern char *sockopts;
extern char *config_file;
-@@ -103,8 +106,18 @@ int start_socket_client(char *host, char
+@@ -104,8 +107,18 @@ int start_socket_client(char *host, char
set_socket_options(fd, sockopts);
ret = start_inband_exchange(user, path, fd, fd, argc);
}
int start_inband_exchange(char *user, char *path, int f_in, int f_out,
-@@ -165,6 +178,33 @@ int start_inband_exchange(char *user, ch
+@@ -166,6 +179,33 @@ int start_inband_exchange(char *user, ch
if (verbose > 1)
print_child_argv(sargs);
p = strchr(path,'/');
if (p) *p = 0;
io_printf(f_out, "%s\n", path);
-@@ -193,6 +233,10 @@ int start_inband_exchange(char *user, ch
+@@ -194,6 +234,10 @@ int start_inband_exchange(char *user, ch
* server to terminate the listing of modules.
* We don't want to go on and transfer
* anything; just exit. */
exit(0);
}
-@@ -200,6 +244,10 @@ int start_inband_exchange(char *user, ch
+@@ -201,6 +245,10 @@ int start_inband_exchange(char *user, ch
rprintf(FERROR, "%s\n", line);
/* This is always fatal; the server will now
* close the socket. */
return -1;
}
-@@ -714,6 +762,7 @@ static void send_listing(int fd)
+@@ -716,6 +764,7 @@ static void send_listing(int fd)
io_printf(fd,"@RSYNCD: EXIT\n");
}
/* this is called when a connection is established to a client
and we want to start talking. The setup of the system is done from
here */
-@@ -766,6 +815,9 @@ int start_daemon(int f_in, int f_out)
+@@ -768,6 +817,9 @@ int start_daemon(int f_in, int f_out)
if (protocol_version > remote_protocol)
protocol_version = remote_protocol;
line[0] = 0;
if (!read_line(f_in, line, sizeof line - 1))
return -1;
-@@ -775,6 +827,20 @@ int start_daemon(int f_in, int f_out)
+@@ -777,6 +829,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
if (*line == '#') {
/* it's some sort of command that I don't understand */
io_printf(f_out, "@ERROR: Unknown command '%s'\n", line);
---- orig/configure.in 2006-01-15 14:52:33
+--- orig/configure.in 2006-02-02 02:41:09
+++ configure.in 2004-07-03 20:22:28
@@ -282,6 +282,21 @@ if test x"$enable_locale" != x"no"; then
AC_DEFINE(CONFIG_LOCALE)
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/options.c 2006-01-31 03:11:30
-+++ options.c 2006-01-26 10:57:46
+--- orig/options.c 2006-02-02 11:40:45
++++ options.c 2006-02-02 11:49:06
@@ -167,6 +167,14 @@ int log_format_has_o_or_i = 0;
int always_checksum = 0;
int list_only = 0;
rprintf(f, "%s version %s protocol version %d\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION);
rprintf(f, "Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.\n");
-@@ -229,10 +242,10 @@ static void print_rsync_version(enum log
+@@ -229,9 +242,9 @@ static void print_rsync_version(enum log
/* Note that this field may not have type ino_t. It depends
* on the complicated interaction between largefile feature
* macros. */
-- rprintf(f, " %sinplace, %sIPv6, %d-bit system inums, %d-bit internal inums\n",
-+ rprintf(f, " %sinplace, %sIPv6, %d-bit system inums, %d-bit internal inums, %sssl\n",
- have_inplace, ipv6,
+- rprintf(f, " %sinplace, %sIPv6, "
++ rprintf(f, " %sinplace, %sIPv6, %sSSL, "
+ "%d-bit system inums, %d-bit internal inums\n",
+- have_inplace, ipv6,
++ have_inplace, ipv6, ssl,
(int) (sizeof dumstat->st_ino * 8),
-- (int) (sizeof (int64) * 8));
-+ (int) (sizeof (int64) * 8), ssl);
+ (int) (sizeof (int64) * 8));
#ifdef MAINTAINER_MODE
- rprintf(f, " panic action: \"%s\"\n",
- get_panic_action());
@@ -371,6 +384,13 @@ void usage(enum logcode F)
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
if ((p = strchr(s, '/')) != NULL) {
hostlen = p - s;
path = p + 1;
---- orig/rsync.h 2006-01-30 20:39:09
+--- orig/rsync.h 2006-02-02 02:41:09
+++ rsync.h 2004-10-08 21:01:33
@@ -32,6 +32,7 @@
CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
---- orig/cleanup.c 2006-02-01 19:37:05
-+++ cleanup.c 2005-12-08 23:17:08
-@@ -94,9 +94,6 @@ void _exit_cleanup(int code, const char
+--- orig/cleanup.c 2006-02-02 02:41:08
++++ cleanup.c 2006-02-02 02:43:34
+@@ -26,10 +26,6 @@ extern int keep_partial;
+ extern int log_got_error;
+ extern char *partial_dir;
+
+-#if defined HAVE_SIGACTION && defined HAVE_SIGPROCMASK
+-static struct sigaction sigact;
+-#endif
+-
+ /**
+ * Close all open sockets and files, allowing a (somewhat) graceful
+ * shutdown() of socket connections. This eliminates the abortive
+@@ -98,9 +94,6 @@ void _exit_cleanup(int code, const char
}
inside_cleanup++;
-- signal(SIGUSR1, SIG_IGN);
-- signal(SIGUSR2, SIG_IGN);
+- SIGACTION(SIGUSR1, SIG_IGN);
+- SIGACTION(SIGUSR2, SIG_IGN);
-
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, file, line);
-@@ -128,8 +125,6 @@ void _exit_cleanup(int code, const char
+@@ -132,8 +125,6 @@ void _exit_cleanup(int code, const char
io_flush(FULL_FLUSH);
if (cleanup_fname)
do_unlink(cleanup_fname);
send_msg((enum msgcode)code, buf, len);
return;
}
---- orig/main.c 2006-01-15 14:46:15
-+++ main.c 2005-12-16 23:50:33
+--- orig/main.c 2006-02-02 02:41:09
++++ main.c 2006-02-02 02:43:44
@@ -30,7 +30,6 @@ extern int list_only;
extern int am_root;
extern int am_server;
extern int am_daemon;
extern int blocking_io;
extern int remove_sent_files;
-@@ -75,9 +74,20 @@ struct pid_status {
+@@ -80,9 +79,20 @@ struct pid_status {
static time_t starttime, endtime;
static int64 total_read, total_written;
/* Works like waitpid(), but if we already harvested the child pid in our
* sigchld_handler(), we succeed instead of returning an error. */
pid_t wait_process(pid_t pid, int *status_ptr, int flags)
-@@ -154,7 +164,7 @@ static void handle_stats(int f)
+@@ -159,7 +169,7 @@ static void handle_stats(int f)
show_flist_stats();
}
return;
if (am_daemon) {
-@@ -609,12 +619,30 @@ static void do_server_sender(int f_in, i
+@@ -614,12 +624,30 @@ static void do_server_sender(int f_in, i
exit_cleanup(0);
}
/* The receiving side mustn't obey this, or an existing symlink that
* points to an identical file won't be replaced by the referent. */
-@@ -623,70 +651,16 @@ static int do_recv(int f_in,int f_out,st
+@@ -628,70 +656,16 @@ static int do_recv(int f_in,int f_out,st
if (preserve_hard_links)
init_hard_links();
generate_files(f_out, flist, local_name);
handle_stats(-1);
-@@ -697,10 +671,13 @@ static int do_recv(int f_in,int f_out,st
+@@ -702,10 +676,13 @@ static int do_recv(int f_in,int f_out,st
}
io_flush(FULL_FLUSH);
}
-@@ -1062,22 +1039,6 @@ static int start_client(int argc, char *
+@@ -1067,22 +1044,6 @@ static int start_client(int argc, char *
return ret;
}
static RETSIGTYPE sigchld_handler(UNUSED(int val))
{
#ifdef WNOHANG
-@@ -1160,8 +1121,6 @@ int main(int argc,char *argv[])
- int orig_argc = argc;
- char **orig_argv = argv;
-
-- signal(SIGUSR1, sigusr1_handler);
-- signal(SIGUSR2, sigusr2_handler);
- signal(SIGCHLD, sigchld_handler);
+@@ -1172,8 +1133,6 @@ int main(int argc,char *argv[])
+ sigemptyset(&sigmask);
+ sigact.sa_flags = SA_NOCLDSTOP;
+ #endif
+- SIGACTMASK(SIGUSR1, sigusr1_handler);
+- SIGACTMASK(SIGUSR2, sigusr2_handler);
+ SIGACTMASK(SIGCHLD, sigchld_handler);
#ifdef MAINTAINER_MODE
- signal(SIGSEGV, rsync_panic_handler);
+ SIGACTMASK(SIGSEGV, rsync_panic_handler);
--- orig/match.c 2005-11-10 16:58:36
+++ match.c 2005-12-08 23:17:09
@@ -21,7 +21,7 @@
}
}
make_backups = save_make_backups;
---- orig/rsync.c 2006-01-31 02:30:18
+--- orig/rsync.c 2006-02-02 02:41:09
+++ rsync.c 2005-12-08 23:17:10
@@ -32,7 +32,6 @@ extern int orig_umask;
extern int am_root;
- return am_sender ? "sender" : am_generator ? "generator" : "receiver";
+ return am_sender ? "sender" : am_generator() ? "generator" : "receiver";
}
---- orig/rsync.h 2006-02-01 19:37:05
+--- orig/rsync.h 2006-02-02 02:41:09
+++ rsync.h 2006-01-17 02:46:03
@@ -166,10 +166,8 @@ enum msgcode {
MSG_DATA=0, /* raw data on the multiplexed stream */
if (verbose > 1) {
--- orig/configure.in 2004-08-19 19:53:27
+++ configure.in 2005-05-12 22:57:53
-@@ -826,6 +826,30 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_
+@@ -827,6 +827,30 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_
AC_MSG_RESULT(no)
)
if (f >= 0) {
recv_uid_list(f, flist);
---- orig/generator.c 2006-01-31 02:35:44
+--- orig/generator.c 2006-01-31 19:36:04
+++ generator.c 2005-05-12 23:21:08
-@@ -899,6 +899,10 @@ static void recv_generator(char *fname,
+@@ -907,6 +907,10 @@ static void recv_generator(char *fname,
if (f_out == -1)
SET_ACL(fname, file);
#endif
+#else
+
+#endif /* No xattrs */
---- orig/options.c 2006-01-31 03:11:18
+--- orig/options.c 2006-02-02 11:45:46
+++ options.c 2006-01-31 03:16:24
@@ -45,6 +45,7 @@ int copy_links = 0;
int preserve_links = 0;
rprintf(f, "Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.\n");
rprintf(f, "<http://rsync.samba.org/>\n");
rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, "
-- "%shard links, %sACLs, %ssymlinks, batchfiles, \n",
-+ "%shard links, %sACLs, %sxattrs, %ssymlinks, batchfiles, \n",
+- "%shard links, %sACLs, %ssymlinks, batchfiles,\n",
++ "%shard links, %sACLs, %sxattrs, %ssymlinks, batchfiles,\n",
(int) (sizeof (OFF_T) * 8),
- got_socketpair, hardlinks, acls, links);
+ got_socketpair, hardlinks, acls, xattrs, links);
if (preserve_uid)
argstr[x++] = 'o';
if (preserve_gid)
---- orig/rsync.c 2006-01-31 02:33:51
+--- orig/rsync.c 2006-01-31 19:35:44
+++ rsync.c 2005-10-16 23:19:27
-@@ -163,12 +163,15 @@ int set_file_attrs(char *fname, struct f
+@@ -162,12 +162,15 @@ int set_file_attrs(char *fname, struct f
}
#endif
}
if (verbose > 1 && flags & ATTRS_REPORT) {
---- orig/rsync.h 2006-01-23 21:24:53
+--- orig/rsync.h 2006-01-31 19:27:00
+++ rsync.h 2005-10-16 23:19:44
@@ -688,6 +688,38 @@ struct chmod_mode_struct;
#endif /* SUPPORT_ACLS */