See the file "instructions" (after applying this patch) for more info.
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2005-09-23 15:59:02
+--- old/Makefile.in
++++ new/Makefile.in
@@ -31,7 +31,7 @@ LIBOBJ=lib/wildmatch.o lib/compat.o lib/
ZLIBOBJ=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \
zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o
OBJS2=options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o \
fileio.o batch.o clientname.o chmod.o
OBJS3=progress.o pipe.o
---- orig/cleanup.c 2006-02-03 20:00:35
-+++ cleanup.c 2005-09-23 15:59:19
+--- old/cleanup.c
++++ new/cleanup.c
@@ -23,6 +23,7 @@
extern int io_error;
if (verbose > 2) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): about to call exit(%d)\n",
---- orig/clientserver.c 2006-02-03 20:41:03
-+++ clientserver.c 2005-09-23 15:59:36
+--- old/clientserver.c
++++ new/clientserver.c
@@ -392,6 +392,9 @@ static int rsync_module(int f_in, int f_
XFLG_ABS_IF_SLASH | XFLG_OLD_PREFIXES);
} else {
rprintf(FLOG, "rsync %s %s from %s (%s)\n",
am_sender ? "on" : "to",
---- orig/configure.in 2006-02-05 04:53:34
-+++ configure.in 2005-09-24 18:38:47
+--- old/configure.in
++++ new/configure.in
@@ -536,6 +536,12 @@ if test x"$with_included_popt" != x"yes"
AC_CHECK_LIB(popt, poptGetContext, , [with_included_popt=yes])
fi
AC_MSG_CHECKING([whether to use included libpopt])
if test x"$with_included_popt" = x"yes"; then
AC_MSG_RESULT($srcdir/popt)
---- orig/db_log_error-list.txt 2005-09-23 15:58:32
-+++ db_log_error-list.txt 2005-09-23 15:58:32
+--- old/db_log_error-list.txt
++++ new/db_log_error-list.txt
@@ -0,0 +1,35 @@
+error type description
+0 not an error.
+31 unlink
+32 failed to open file/directory
+33 open?
---- orig/dblog-tables-mysql.sql 2005-09-23 16:08:39
-+++ dblog-tables-mysql.sql 2005-09-23 16:08:39
+--- old/dblog-tables-mysql.sql
++++ new/dblog-tables-mysql.sql
@@ -0,0 +1,64 @@
+drop table transfer;
+drop table exit;
+ PrimaryKey (id),
+ foreign key (session_id) references session (id)
+);
---- orig/dblog-tables-postgresql.sql 2005-09-23 16:00:34
-+++ dblog-tables-postgresql.sql 2005-09-23 16:00:34
+--- old/dblog-tables-postgresql.sql
++++ new/dblog-tables-postgresql.sql
@@ -0,0 +1,67 @@
+drop table transfer;
+drop table exit;
+ Primary Key (id),
+ foreign key (session_id) references session (id)
+);
---- orig/dblog.c 2005-09-24 18:25:52
-+++ dblog.c 2005-09-24 18:25:52
+--- old/dblog.c
++++ new/dblog.c
@@ -0,0 +1,549 @@
+/*
+ * ODBC Database logging functions
+ rprintf(FERROR,"Error at db_log_error: Not connected to database!\n");
+ }
+}
---- orig/instructions 2005-09-23 15:58:24
-+++ instructions 2005-09-23 15:58:24
+--- old/instructions
++++ new/instructions
@@ -0,0 +1,84 @@
+This patch adds the following options:
+
+ sequence is used for unique IDs). If False the statement will be executed
+ after the session row is inserted (as is done when the session ID is
+ automatically generates unique IDs). Defaults to True.
---- orig/loadparm.c 2006-01-30 21:47:45
-+++ loadparm.c 2005-09-24 18:29:59
+--- old/loadparm.c
++++ new/loadparm.c
@@ -120,9 +120,16 @@ typedef struct
{
char *auth_users;
FN_LOCAL_BOOL(lp_ignore_errors, ignore_errors)
FN_LOCAL_BOOL(lp_ignore_nonreadable, ignore_nonreadable)
FN_LOCAL_BOOL(lp_list, list)
---- orig/log.c 2006-02-05 04:53:34
-+++ log.c 2005-09-23 16:01:13
+--- old/log.c
++++ new/log.c
@@ -93,7 +93,7 @@ struct {
/*
* Map from rsync error code to name, or return NULL.
{
int i;
for (i = 0; rerr_names[i].name; i++) {
---- orig/main.c 2006-02-05 04:53:34
-+++ main.c 2005-09-23 16:01:22
+--- old/main.c
++++ new/main.c
@@ -168,6 +168,9 @@ static void handle_stats(int f)
if (am_daemon) {
if (f == -1 || !am_sender)
return;
}
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2006-01-14 08:27:51
+--- old/receiver.c
++++ new/receiver.c
@@ -174,6 +174,10 @@ static int get_tmpname(char *fnametmp, c
if (maxname < 1) {
}
if (!phase) {
SIVAL(numbuf, 0, i);
---- orig/sender.c 2006-01-14 20:27:10
-+++ sender.c 2005-09-23 16:01:44
+--- old/sender.c
++++ new/sender.c
@@ -352,6 +352,9 @@ void send_files(struct file_list *flist,
if (!log_before_transfer)
notice that no ACLs are available to copy. Of course, trying to write out
ACLs to a non-ACL-supporting disk should complain.
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2005-11-07 04:31:05
+--- old/Makefile.in
++++ new/Makefile.in
@@ -25,15 +25,15 @@ VERSION=@VERSION@
.SUFFIXES:
.SUFFIXES: .c .o
OBJS3=progress.o pipe.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
---- orig/acls.c 2006-01-31 19:25:53
-+++ acls.c 2006-01-31 19:25:53
+--- old/acls.c
++++ new/acls.c
@@ -0,0 +1,1202 @@
+/* -*- c-file-style: "linux" -*-
+ Copyright (C) Andrew Tridgell 1996
+}
+
+#endif /* SUPPORT_ACLS */
---- orig/backup.c 2006-01-30 07:18:27
-+++ backup.c 2004-10-06 00:13:09
+--- old/backup.c
++++ new/backup.c
@@ -135,6 +135,7 @@ static int make_bak_dir(char *fullpath)
} else {
do_lchown(fullpath, st.st_uid, st.st_gid);
free(file);
if (verbose > 1) {
---- orig/configure.in 2006-02-05 04:53:34
-+++ configure.in 2004-08-19 19:53:27
+--- old/configure.in
++++ new/configure.in
@@ -478,6 +478,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no
AC_CHECK_LIB(resolv, strcasecmp)
fi
AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
AC_OUTPUT
---- orig/flist.c 2006-01-31 02:30:18
-+++ flist.c 2006-01-31 02:37:33
+--- old/flist.c
++++ new/flist.c
@@ -967,6 +967,8 @@ static struct file_struct *send_file_nam
f == -2 ? SERVER_FILTERS : ALL_FILTERS);
if (!file)
if (f >= 0) {
recv_uid_list(f, flist);
---- orig/generator.c 2006-02-05 06:40:40
-+++ generator.c 2006-02-04 22:26:45
+--- old/generator.c
++++ new/generator.c
@@ -754,6 +754,7 @@ static int try_dests_non(struct file_str
}
for (i = 0; i < flist->count; i++) {
struct file_struct *file = flist->files[i];
---- orig/lib/sysacls.c 2005-05-16 23:27:53
-+++ lib/sysacls.c 2005-05-16 23:27:53
+--- old/lib/sysacls.c
++++ new/lib/sysacls.c
@@ -0,0 +1,3242 @@
+/*
+ Unix SMB/CIFS implementation.
+#endif
+ return 0;
+}
---- orig/lib/sysacls.h 2005-05-16 23:25:51
-+++ lib/sysacls.h 2005-05-16 23:25:51
+--- old/lib/sysacls.h
++++ new/lib/sysacls.h
@@ -0,0 +1,28 @@
+#define SMB_MALLOC(cnt) new_array(char, cnt)
+#define SMB_MALLOC_P(obj) new_array(obj, 1)
+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 2006-02-02 02:41:09
-+++ mkproto.awk 2006-02-02 02:41:47
+--- old/mkproto.awk
++++ new/mkproto.awk
@@ -58,7 +58,7 @@ BEGIN {
next;
}
next;
}
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-02-04 19:58:53
+--- old/options.c
++++ new/options.c
@@ -44,6 +44,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
int preserve_links = 0;
if (preserve_uid)
argstr[x++] = 'o';
if (preserve_gid)
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2006-02-03 05:46:43
+--- old/receiver.c
++++ new/receiver.c
@@ -410,6 +410,10 @@ int recv_files(int f_in, struct file_lis
int itemizing = am_daemon ? daemon_log_format_has_i
: !am_server && log_format_has_i;
}
/* We now check to see if we are writing file "inplace" */
---- orig/rsync.c 2006-02-05 15:31:49
-+++ rsync.c 2006-02-04 19:53:13
+--- old/rsync.c
++++ new/rsync.c
@@ -91,7 +91,8 @@ void free_sums(struct sum_struct *s)
/* This is only called when we aren't preserving permissions. Figure out what
if (verbose > 1 && flags & ATTRS_REPORT) {
enum logcode code = daemon_log_format_has_i || dry_run
? FCLIENT : FINFO;
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2006-01-31 19:27:00
+--- old/rsync.h
++++ new/rsync.h
@@ -657,6 +657,44 @@ struct chmod_mode_struct;
#define UNUSED(x) x __attribute__((__unused__))
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2006-02-05 15:31:49
-+++ rsync.yo 2006-02-05 06:55:30
+--- old/rsync.yo
++++ new/rsync.yo
@@ -317,6 +317,7 @@ to the detailed description below for a
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-p, --perms preserve permissions
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
---- orig/smb_acls.h 2004-06-30 00:04:07
-+++ smb_acls.h 2004-06-30 00:04:07
+--- old/smb_acls.h
++++ new/smb_acls.h
@@ -0,0 +1,277 @@
+/*
+ Unix SMB/Netbios implementation.
+
+#endif /* No ACLs. */
+#endif /* _SMB_ACLS_H */
---- orig/testsuite/default-acls.test 2006-02-04 22:48:07
-+++ testsuite/default-acls.test 2006-02-04 22:48:07
+--- old/testsuite/default-acls.test
++++ new/testsuite/default-acls.test
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+
+# Hooray
+exit 0
---- orig/uidlist.c 2006-01-25 17:15:13
-+++ uidlist.c 2006-01-25 17:45:21
+--- old/uidlist.c
++++ new/uidlist.c
@@ -34,6 +34,7 @@
extern int verbose;
extern int preserve_uid;
make
---- orig/flist.c 2006-01-31 02:30:18
-+++ flist.c 2006-01-27 00:33:39
+--- old/flist.c
++++ new/flist.c
@@ -51,6 +51,7 @@ extern int preserve_devices;
extern int preserve_specials;
extern int preserve_uid;
}
}
---- orig/generator.c 2006-02-05 06:40:40
-+++ generator.c 2006-02-01 19:37:52
+--- old/generator.c
++++ new/generator.c
@@ -44,6 +44,7 @@ extern int preserve_perms;
extern int preserve_uid;
extern int preserve_gid;
}
/* open the file */
---- orig/hlink.c 2006-01-14 20:27:09
-+++ hlink.c 2006-01-24 19:17:58
+--- old/hlink.c
++++ new/hlink.c
@@ -26,6 +26,7 @@ extern int link_dest;
extern int make_backups;
extern int log_format_has_i;
+ } while (!(FFLAGS(file) & FLAG_HLINK_EOL));
#endif
}
---- orig/log.c 2006-02-05 04:53:34
-+++ log.c 2006-01-24 22:50:01
+--- old/log.c
++++ new/log.c
@@ -41,6 +41,7 @@ extern int module_id;
extern int msg_fd_out;
extern int protocol_version;
if (iflags & (ITEM_IS_NEW|ITEM_MISSING_DATA)) {
char ch = iflags & ITEM_IS_NEW ? '+' : '?';
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-01-31 03:08:39
+--- old/options.c
++++ new/options.c
@@ -52,6 +52,7 @@ int preserve_uid = 0;
int preserve_gid = 0;
int preserve_times = 0;
if (preserve_perms)
argstr[x++] = 'p';
else if (preserve_executability && am_sender)
---- orig/rsync.c 2006-02-05 15:31:49
-+++ rsync.c 2006-01-31 03:00:22
+--- old/rsync.c
++++ new/rsync.c
@@ -37,6 +37,7 @@ extern int preserve_perms;
extern int preserve_executability;
extern int preserve_times;
}
change_uid = am_root && preserve_uid && st->st_uid != file->uid;
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2006-01-24 22:38:08
+--- old/rsync.h
++++ new/rsync.h
@@ -54,6 +54,7 @@
#define XMIT_HAS_IDEV_DATA (1<<9)
#define XMIT_SAME_DEV (1<<10)
/*
* Start the flist array at FLIST_START entries and grow it
* by doubling until FLIST_LINEAR then grow by FLIST_LINEAR
---- orig/rsync.yo 2006-02-05 15:31:49
-+++ rsync.yo 2006-01-31 03:06:45
+--- old/rsync.yo
++++ new/rsync.yo
@@ -323,8 +323,9 @@ to the detailed description below for a
--devices preserve device files (super-user only)
--specials preserve special files
it() A bf(p) means the permissions are different and are being updated to
the sender's value (requires bf(--perms)).
it() An bf(o) means the owner is different and is being updated to the
---- orig/sender.c 2006-01-14 20:27:10
-+++ sender.c 2006-01-24 18:10:23
+--- old/sender.c
++++ new/sender.c
@@ -38,6 +38,7 @@ extern int do_progress;
extern int inplace;
extern int batch_fd;
}
make_backups = save_make_backups;
---- orig/testsuite/atimes.test 2006-01-24 22:54:53
-+++ testsuite/atimes.test 2006-01-24 22:54:53
+--- old/testsuite/atimes.test
++++ new/testsuite/atimes.test
@@ -0,0 +1,19 @@
+#! /bin/sh
+
+
+# The script would have aborted on error, so getting here means we've won.
+exit 0
---- orig/testsuite/devices.test 2006-01-30 08:12:44
-+++ testsuite/devices.test 2006-01-26 10:53:43
+--- old/testsuite/devices.test
++++ new/testsuite/devices.test
@@ -42,14 +42,14 @@ touch -r "$fromdir/block" "$fromdir/bloc
$RSYNC -ai "$fromdir/block" "$todir/block2" \
| tee "$outfile"
EOT
if test ! -b "$fromdir/block2.5"; then
sed -e '/block2\.5/d' \
---- orig/testsuite/itemize.test 2006-02-04 19:52:05
-+++ testsuite/itemize.test 2006-01-24 22:32:03
+--- old/testsuite/itemize.test
++++ new/testsuite/itemize.test
@@ -29,14 +29,14 @@ ln "$fromdir/foo/config1" "$fromdir/foo/
$RSYNC -iplr "$fromdir/" "$todir/" \
| tee "$outfile"
EOT
diff $diffopt "$chkfile" "$outfile" || test_fail "test 15 failed"
---- orig/testsuite/rsync.fns 2006-02-04 19:52:05
-+++ testsuite/rsync.fns 2005-07-28 00:41:20
+--- old/testsuite/rsync.fns
++++ new/testsuite/rsync.fns
@@ -66,7 +66,7 @@ printmsg() {
}
( cd "$3" && rsync_ls_lR . ) > "$tmpdir/ls-to"
diff $diffopt "$tmpdir/ls-from" "$tmpdir/ls-to" || failed=YES
---- orig/tls.c 2005-09-24 17:40:31
-+++ tls.c 2005-03-23 17:49:48
+--- old/tls.c
++++ new/tls.c
@@ -39,6 +39,7 @@
return 0;
}
---- orig/util.c 2006-02-03 20:00:36
-+++ util.c 2006-01-14 08:20:29
+--- old/util.c
++++ new/util.c
@@ -130,7 +130,7 @@ void overflow_exit(char *str)
Marc St-Onge
---- orig/backup.c 2006-01-30 07:18:27
-+++ backup.c 2005-02-22 02:11:15
+--- old/backup.c
++++ new/backup.c
@@ -22,11 +22,17 @@
extern int verbose;
+ deleting = 0;
+ return ret;
+}
---- orig/generator.c 2006-01-31 02:30:18
-+++ generator.c 2005-11-15 07:02:12
+--- old/generator.c
++++ new/generator.c
@@ -91,6 +91,9 @@ extern dev_t filesystem_dev;
extern char *backup_dir;
extern char *backup_suffix;
else
ok = do_rmdir(fname) == 0;
if (ok) {
---- orig/options.c 2006-01-31 03:11:30
-+++ options.c 2006-01-26 12:40:16
+--- old/options.c
++++ new/options.c
@@ -137,10 +137,14 @@ int no_detach
int write_batch = 0;
int read_batch = 0;
in each dir's CVS/Entries file as per-dir includes before the dir's list
of excludes taken from the .cvsignore file.
---- orig/exclude.c 2006-01-28 00:16:01
-+++ exclude.c 2005-12-17 21:18:38
+--- old/exclude.c
++++ new/exclude.c
@@ -221,6 +221,8 @@ static void add_rule(struct filter_list_
if (!(lp = new_array(struct filter_list_struct, 1)))
out_of_memory("add_rule");
parse_rule(listp, line, mflags, xflags);
if (ch == EOF)
break;
---- orig/rsync.h 2006-01-30 20:39:09
-+++ rsync.h 2005-12-17 19:52:48
+--- old/rsync.h
++++ new/rsync.h
@@ -116,6 +116,7 @@
#define XFLG_OLD_PREFIXES (1<<1)
#define XFLG_ANCHORED2ABS (1<<2)
#define ATTRS_REPORT (1<<0)
#define ATTRS_SKIP_MTIME (1<<1)
---- orig/testsuite/exclude.test 2006-01-26 22:14:14
-+++ testsuite/exclude.test 2005-12-30 07:32:41
-@@ -21,6 +21,7 @@ set -x
+--- old/testsuite/exclude.test
++++ new/testsuite/exclude.test
+@@ -19,6 +19,7 @@ export CVSIGNORE
makepath "$fromdir/foo/down/to/you"
makepath "$fromdir/foo/sub"
makepath "$fromdir/bar/down/to/foo/too"
makepath "$fromdir/bar/down/to/bar/baz"
makepath "$fromdir/mid/for/foo/and/that/is/who"
-@@ -59,6 +60,9 @@ echo cvsout >"$fromdir/bar/down/to/foo/f
+@@ -57,6 +58,9 @@ echo cvsout >"$fromdir/bar/down/to/foo/f
echo gone >"$fromdir/bar/down/to/foo/file3"
echo lost >"$fromdir/bar/down/to/foo/file4"
echo weird >"$fromdir/bar/down/to/foo/+ file3"
echo cvsout-but-filtin >"$fromdir/bar/down/to/foo/file4.junk"
echo smashed >"$fromdir/bar/down/to/foo/to"
cat >"$fromdir/bar/down/to/bar/.filt2" <<EOF
-@@ -105,7 +109,18 @@ cat >"$excl" <<EOF
+@@ -103,7 +107,18 @@ cat >"$excl" <<EOF
EOF
cat >"$scratchdir/.cvsignore" <<EOF
EOF
# Create the chk dir with what we expect to be excluded
-@@ -134,6 +149,10 @@ checkit "$RSYNC -avv --exclude-from=\"$e
+@@ -132,6 +147,10 @@ checkit "$RSYNC -avv --exclude-from=\"$e
# Modify the chk dir by removing cvs-ignored files and then tweaking the dir times.
rm "$chkdir"/foo/*.old
rm "$chkdir"/bar/down/to/foo/*.bak
rm "$chkdir"/bar/down/to/foo/*.junk
rm "$chkdir"/bar/down/to/home-cvs-exclude
-@@ -149,8 +168,12 @@ checkit "$RSYNC -avvC --filter=\"merge $
+@@ -147,8 +166,12 @@ checkit "$RSYNC -avvC --filter=\"merge $
# Modify the chk dir for our merge-exclude test and then tweak the dir times.
[Patched update to have context and apply to latest CVS source.]
---- orig/generator.c 2006-01-20 21:12:17
-+++ generator.c 2004-11-11 22:15:27
-@@ -59,6 +59,7 @@ extern int append_mode;
+--- old/generator.c
++++ new/generator.c
+@@ -61,6 +61,7 @@ extern int append_mode;
extern int make_backups;
extern int csum_length;
extern int ignore_times;
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
-@@ -378,6 +379,8 @@ void itemize(struct file_struct *file, i
+@@ -379,6 +380,8 @@ void itemize(struct file_struct *file, i
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
if (st->st_size != file->length)
return 0;
---- orig/options.c 2006-01-21 07:55:00
-+++ options.c 2006-01-21 08:07:05
-@@ -93,6 +93,7 @@ int keep_partial = 0;
+--- old/options.c
++++ new/options.c
+@@ -98,6 +98,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
int copy_unsafe_links = 0;
int size_only = 0;
int daemon_bwlimit = 0;
int bwlimit = 0;
int fuzzy_basis = 0;
-@@ -321,6 +322,7 @@ void usage(enum logcode F)
+@@ -331,6 +332,7 @@ void usage(enum logcode F)
rprintf(F," --timeout=TIME set I/O timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --size-only skip files that match in size\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
-@@ -425,6 +427,7 @@ static struct poptOption long_options[]
- {"chmod", 0, POPT_ARG_STRING, &chmod_mode, 0, 0, 0 },
+@@ -443,6 +445,7 @@ static struct poptOption long_options[]
+ {"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
+ {"date-only", 0, POPT_ARG_NONE, &date_only, 0, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 },
{"existing", 0, POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 },
-@@ -1573,6 +1576,9 @@ void server_options(char **args,int *arg
+@@ -1643,6 +1646,9 @@ void server_options(char **args,int *arg
if (size_only)
args[ac++] = "--size-only";
if (modify_window_set) {
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
goto oom;
---- orig/rsync.yo 2006-01-21 08:12:23
-+++ rsync.yo 2005-02-11 22:49:10
-@@ -350,6 +350,7 @@ to the detailed description below for a
+--- old/rsync.yo
++++ new/rsync.yo
+@@ -355,6 +355,7 @@ to the detailed description below for a
--timeout=TIME set I/O timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
-@@ -453,6 +454,12 @@ regardless of timestamp. This is useful
+@@ -460,6 +461,12 @@ regardless of timestamp. This is useful
after using another mirroring system which may not preserve timestamps
exactly.
I have benchmarked this a little, and it appears to slow things down
for a local copy, so the old algorithm is used for local copies.
---- orig/flist.c 2006-01-21 21:02:30
-+++ flist.c 2005-09-16 16:41:25
+--- old/flist.c
++++ new/flist.c
@@ -36,6 +36,7 @@ extern int am_daemon;
extern int am_sender;
extern int do_progress;
extern int module_id;
extern int ignore_errors;
extern int numeric_ids;
-@@ -708,6 +709,16 @@ static struct file_struct *receive_file_
+@@ -711,6 +712,16 @@ static struct file_struct *receive_file_
sum = empty_sum;
}
read_buf(f, sum, checksum_len);
+ }
}
- if (!preserve_perms) {
---- orig/generator.c 2006-01-21 21:02:30
-+++ generator.c 2005-12-15 23:16:48
-@@ -69,6 +69,7 @@ extern int ignore_timeout;
+ return file;
+--- old/generator.c
++++ new/generator.c
+@@ -71,6 +71,7 @@ extern int ignore_timeout;
extern int protocol_version;
extern int fuzzy_basis;
extern int always_checksum;
continue;
best_match = j;
match_level = 2;
-@@ -1145,7 +1149,7 @@ static void recv_generator(char *fname,
+@@ -1147,7 +1151,7 @@ static void recv_generator(char *fname,
;
else if (fnamecmp_type == FNAMECMP_FUZZY)
;
if (partialptr) {
do_unlink(partialptr);
handle_partial_dir(partialptr, PDIR_DELETE);
---- orig/hlink.c 2006-01-14 20:27:09
-+++ hlink.c 2005-12-15 23:17:31
+--- old/hlink.c
++++ new/hlink.c
@@ -210,7 +210,7 @@ int hard_link_check(struct file_struct *
itemizing = code = 0;
break;
continue;
statret = 1;
st = &st3;
---- orig/main.c 2006-01-15 14:46:15
-+++ main.c 2005-11-07 05:00:49
+--- old/main.c
++++ new/main.c
@@ -45,6 +45,7 @@ extern int copy_links;
extern int keep_dirlinks;
extern int preserve_hard_links;
struct file_list *the_file_list;
/* There's probably never more than at most 2 outstanding child processes,
-@@ -710,6 +713,7 @@ static void do_server_recv(int f_in, int
+@@ -719,6 +722,7 @@ static void do_server_recv(int f_in, int
struct file_list *flist;
char *local_name = NULL;
char *dir = NULL;
int save_verbose = verbose;
if (filesfrom_fd >= 0) {
-@@ -753,6 +757,10 @@ static void do_server_recv(int f_in, int
+@@ -762,6 +766,10 @@ static void do_server_recv(int f_in, int
filesfrom_fd = -1;
}
flist = recv_file_list(f_in);
verbose = save_verbose;
if (!flist) {
-@@ -761,6 +769,9 @@ static void do_server_recv(int f_in, int
+@@ -770,6 +778,9 @@ static void do_server_recv(int f_in, int
}
the_file_list = flist;
if (argc > 0)
local_name = get_local_name(flist,argv[0]);
-@@ -809,6 +820,7 @@ int client_run(int f_in, int f_out, pid_
+@@ -821,6 +832,7 @@ int client_run(int f_in, int f_out, pid_
{
struct file_list *flist = NULL;
int exit_code = 0, exit_code2 = 0;
char *local_name = NULL;
cleanup_child_pid = pid;
-@@ -880,11 +892,18 @@ int client_run(int f_in, int f_out, pid_
+@@ -895,11 +907,18 @@ int client_run(int f_in, int f_out, pid_
filesfrom_fd = -1;
}
if (flist && flist->count > 0) {
local_name = get_local_name(flist, argv[0]);
---- orig/rsync.h 2006-01-21 21:02:30
-+++ rsync.h 2006-01-21 21:08:49
+--- old/rsync.h
++++ new/rsync.h
@@ -64,6 +64,7 @@
#define FLAG_DEL_HERE (1<<3) /* receiver/generator */
#define FLAG_HLINK_TOL (1<<4) /* receiver/generator */
This patch from Sami Farin lets you specify --fsync if you want fsync()
to be called on every file we write.
---- orig/options.c 2006-01-31 03:11:30
-+++ options.c 2006-01-28 00:16:23
+--- old/options.c
++++ new/options.c
@@ -42,6 +42,7 @@ int whole_file = -1;
int append_mode = 0;
int keep_dirlinks = 0;
if (basis_dir[0] && am_sender) {
/* the server only needs this option if it is not the sender,
* and it may be an older version that doesn't know this
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2005-02-20 00:17:37
+--- old/receiver.c
++++ new/receiver.c
@@ -38,6 +38,7 @@ extern int keep_dirlinks;
extern int preserve_hard_links;
extern int preserve_perms;
sum_end(file_sum1);
if (mapbuf)
---- orig/t_stub.c 2005-11-12 20:13:05
-+++ t_stub.c 2005-11-12 20:13:29
+--- old/t_stub.c
++++ new/t_stub.c
@@ -30,6 +30,7 @@ int modify_window = 0;
int module_id = -1;
int relative_paths = 0;
char *partial_dir;
struct filter_list_struct server_filter_list;
---- orig/util.c 2006-01-30 07:18:28
-+++ util.c 2005-11-12 20:13:44
+--- old/util.c
++++ new/util.c
@@ -30,6 +30,7 @@
extern int verbose;
extern int dry_run;
This probably needs a hashing algorithm to be added if the uid+gid list
gets to be really large.
---- orig/flist.c 2006-01-31 02:30:18
-+++ flist.c 2006-01-26 10:56:31
+--- old/flist.c
++++ new/flist.c
@@ -60,6 +60,7 @@ extern int protocol_version;
extern int sanitize_paths;
extern const char *io_write_phase;
*gidbuf = '\0';
if (!am_sender)
sprintf(depthbuf, "%d", file->dir.depth);
---- orig/generator.c 2006-01-31 02:30:18
-+++ generator.c 2006-01-25 17:39:42
+--- old/generator.c
++++ new/generator.c
@@ -91,6 +91,7 @@ extern dev_t filesystem_dev;
extern char *backup_dir;
extern char *backup_suffix;
if (S_ISREG(file->mode) && file->length != st->st_size)
iflags |= ITEM_REPORT_SIZE;
-@@ -352,10 +357,10 @@ void itemize(struct file_struct *file, i
- if (preserve_perms
- && (file->mode & CHMOD_BITS) != (st->st_mode & CHMOD_BITS))
+@@ -351,10 +356,10 @@ void itemize(struct file_struct *file, i
+ iflags |= ITEM_REPORT_TIME;
+ if ((file->mode & CHMOD_BITS) != (st->st_mode & CHMOD_BITS))
iflags |= ITEM_REPORT_PERMS;
- if (preserve_uid && am_root && file->uid != st->st_uid)
+ if (preserve_uid && am_root && uid != st->st_uid)
iflags |= ITEM_REPORT_GROUP;
} else
iflags |= ITEM_IS_NEW;
---- orig/rsync.c 2006-01-31 02:30:18
-+++ rsync.c 2006-01-25 17:26:06
-@@ -40,6 +40,7 @@ extern int inplace;
+--- old/rsync.c
++++ new/rsync.c
+@@ -49,6 +49,7 @@ extern int inplace;
extern int keep_dirlinks;
extern int make_backups;
extern struct stats stats;
+extern struct id_pair *id_pairs;
-
- /*
-@@ -78,6 +79,8 @@ int set_file_attrs(char *fname, struct f
+ #if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
+ iconv_t ic_chck = (iconv_t)-1;
+@@ -116,6 +117,8 @@ int set_file_attrs(char *fname, struct f
int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
if (!st) {
if (dry_run)
-@@ -104,9 +107,11 @@ int set_file_attrs(char *fname, struct f
+@@ -148,9 +151,11 @@ int set_file_attrs(char *fname, struct f
updated = 1;
}
#if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK
if (S_ISLNK(st->st_mode))
;
-@@ -118,18 +123,18 @@ int set_file_attrs(char *fname, struct f
+@@ -162,18 +167,18 @@ int set_file_attrs(char *fname, struct f
rprintf(FINFO,
"set uid of %s from %ld to %ld\n",
fname,
/* shouldn't have attempted to change uid or gid
* unless have the privilege */
rsyserr(FERROR, errno, "%s %s failed",
---- orig/rsync.h 2006-01-30 20:39:09
-+++ rsync.h 2006-01-25 17:15:44
+--- old/rsync.h
++++ new/rsync.h
@@ -493,6 +493,11 @@ struct hlink {
int hlindex;
};
mode_t mode;
uchar flags; /* this item MUST remain last */
};
---- orig/uidlist.c 2006-01-25 17:15:13
-+++ uidlist.c 2006-01-25 17:31:20
+--- old/uidlist.c
++++ new/uidlist.c
@@ -37,6 +37,8 @@ extern int preserve_gid;
extern int numeric_ids;
extern int am_root;
This adds the --ignore-case option, which makes rsync compare filenames
in a case-insensitive manner.
---- orig/flist.c 2006-01-19 21:17:11
-+++ flist.c 2006-01-20 20:10:25
+--- old/flist.c
++++ new/flist.c
@@ -37,6 +37,7 @@ extern int am_sender;
extern int do_progress;
extern int always_checksum;
extern int ignore_errors;
extern int numeric_ids;
extern int recurse;
-@@ -1707,7 +1708,14 @@ int f_name_cmp(struct file_struct *f1, s
+@@ -1801,7 +1802,14 @@ int f_name_cmp(struct file_struct *f1, s
return type1 == t_PATH ? 1 : -1;
while (1) {
break;
if (!*c1) {
switch (state1) {
---- orig/lib/wildmatch.c 2006-01-14 08:14:31
-+++ lib/wildmatch.c 2006-01-03 17:29:11
+--- old/lib/wildmatch.c
++++ new/lib/wildmatch.c
@@ -53,6 +53,8 @@
#define ISUPPER(c) (ISASCII(c) && isupper(c))
#define ISXDIGIT(c) (ISASCII(c) && isxdigit(c))
}
/* Match the "pattern" against the forced-to-lower-case "text" string. */
---- orig/options.c 2006-01-20 18:44:02
-+++ options.c 2005-10-14 19:19:18
-@@ -105,6 +105,7 @@ OFF_T max_size = 0;
+--- old/options.c
++++ new/options.c
+@@ -110,6 +110,7 @@ OFF_T max_size = 0;
OFF_T min_size = 0;
int ignore_errors = 0;
int modify_window = 0;
int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
-@@ -339,6 +340,7 @@ void usage(enum logcode F)
+@@ -349,6 +350,7 @@ void usage(enum logcode F)
rprintf(F," --include-from=FILE read include patterns from FILE\n");
rprintf(F," --files-from=FILE read list of source-file names from FILE\n");
rprintf(F," -0, --from0 all *-from/filter files are delimited by 0s\n");
+ rprintf(F," --ignore-case ignore case when comparing filenames\n");
rprintf(F," --address=ADDRESS bind address for outgoing socket to daemon\n");
rprintf(F," --port=PORT specify double-colon alternate port number\n");
- rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
-@@ -482,6 +484,7 @@ static struct poptOption long_options[]
+ rprintf(F," --sockopts=OPTIONS specify custom TCP options\n");
+@@ -501,6 +503,7 @@ static struct poptOption long_options[]
{"only-write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_ONLY_WRITE_BATCH, 0, 0 },
{"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 },
{"from0", '0', POPT_ARG_NONE, &eol_nulls, 0, 0, 0},
{"numeric-ids", 0, POPT_ARG_NONE, &numeric_ids, 0, 0, 0 },
{"timeout", 0, POPT_ARG_INT, &io_timeout, 0, 0, 0 },
{"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
-@@ -1578,6 +1581,9 @@ void server_options(char **args,int *arg
+@@ -1655,6 +1658,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
+ args[ac++] = "--ignore-case";
+
if (partial_dir && am_sender) {
- if (partial_dir != partialdir_for_delayupdate) {
+ if (partial_dir != tmp_partialdir) {
args[ac++] = "--partial-dir";
---- orig/wildtest.c 2006-01-14 08:14:31
-+++ wildtest.c 2006-01-20 20:13:46
+--- old/wildtest.c
++++ new/wildtest.c
@@ -16,6 +16,7 @@ int fnmatch_errors = 0;
#endif
[last-match]
---- orig/exclude.c 2005-04-28 15:56:50
-+++ exclude.c 2005-02-26 03:22:20
-@@ -73,6 +73,7 @@ static BOOL parent_dirscan = False;
+--- old/exclude.c
++++ new/exclude.c
+@@ -76,6 +76,7 @@ static BOOL parent_dirscan = False;
static struct filter_struct **mergelist_parents;
static int mergelist_cnt = 0;
static int mergelist_size = 0;
/* Each filter_list_struct describes a singly-linked list by keeping track
* of both the head and tail pointers. The list is slightly unusual in that
-@@ -231,6 +232,9 @@ static void add_rule(struct filter_list_
+@@ -244,6 +245,9 @@ static void add_rule(struct filter_list_
if (!listp->tail) {
ret->next = listp->head;
listp->head = listp->tail = ret;
} else {
ret->next = listp->tail->next;
listp->tail->next = ret;
-@@ -957,6 +961,7 @@ void parse_filter_file(struct filter_lis
- char line[MAXPATHLEN+MAX_RULE_PREFIX+1]; /* +1 for trailing slash. */
+@@ -970,6 +974,7 @@ void parse_filter_file(struct filter_lis
+ char line[BIGPATHBUFLEN];
char *eob = line + sizeof line - 1;
int word_split = mflags & MATCHFLG_WORD_SPLIT;
+ int save_reversing_rules = reversing_rules;
if (!fname || !*fname)
return;
-@@ -992,6 +997,7 @@ void parse_filter_file(struct filter_lis
+@@ -1005,6 +1010,7 @@ void parse_filter_file(struct filter_lis
}
dirbuf[dirbuf_len] = '\0';
while (1) {
char *s = line;
int ch, overflow = 0;
-@@ -1015,6 +1021,10 @@ void parse_filter_file(struct filter_lis
+@@ -1030,6 +1036,10 @@ void parse_filter_file(struct filter_lis
s = line;
}
*s = '\0';
/* Skip an empty token and (when line parsing) comments. */
if (*line && (word_split || (*line != ';' && *line != '#')))
parse_rule(listp, line, mflags, xflags);
-@@ -1022,6 +1032,7 @@ void parse_filter_file(struct filter_lis
+@@ -1037,6 +1047,7 @@ void parse_filter_file(struct filter_lis
break;
}
fclose(fp);
the file's name.
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2005-11-07 04:37:17
+--- old/Makefile.in
++++ new/Makefile.in
@@ -34,7 +34,7 @@ OBJS1=rsync.o generator.o receiver.o cle
main.o checksum.o match.o syscall.o log.o backup.o
OBJS2=options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o \
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o
---- orig/hashlink.c 2004-09-24 16:44:25
-+++ hashlink.c 2004-09-24 16:44:25
+--- old/hashlink.c
++++ new/hashlink.c
@@ -0,0 +1,340 @@
+/*
+ Copyright (C) Cronosys, LLC 2004
+}
+
+#endif
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-01-26 10:57:21
+--- old/options.c
++++ new/options.c
@@ -144,6 +144,7 @@ char *backup_suffix = NULL;
char *tmpdir = NULL;
char *partial_dir = NULL;
if (files_from && (!am_sender || filesfrom_host)) {
if (filesfrom_host) {
args[ac++] = "--files-from";
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2005-01-15 21:29:13
+--- old/receiver.c
++++ new/receiver.c
@@ -54,6 +54,7 @@ extern int delay_updates;
extern struct stats stats;
extern char *log_format;
if (!log_before_transfer)
log_item(file, &initial_stats, iflags, NULL);
---- orig/rsync.c 2006-02-05 15:31:49
-+++ rsync.c 2006-01-30 07:19:44
+--- old/rsync.c
++++ new/rsync.c
@@ -49,6 +49,7 @@ extern int inplace;
extern int keep_dirlinks;
extern int make_backups;
if (ret < 0) {
rsyserr(FERROR, errno, "%s %s -> \"%s\"",
ret == -2 ? "copy" : "rename",
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2006-01-30 20:42:44
+--- old/rsync.h
++++ new/rsync.h
@@ -640,6 +640,14 @@ struct stats {
int current_file_index;
};
struct chmod_mode_struct;
#include "byteorder.h"
---- orig/rsync.yo 2006-02-05 15:31:49
-+++ rsync.yo 2005-02-13 06:58:47
+--- old/rsync.yo
++++ new/rsync.yo
@@ -361,6 +361,7 @@ to the detailed description below for a
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
handle relative symlinks properly, and that has not yet been fixed
in this modified version.
---- orig/flist.c 2005-11-10 16:58:36
-+++ flist.c 2004-07-16 16:58:04
+--- old/flist.c
++++ new/flist.c
@@ -45,6 +45,7 @@ extern int filesfrom_fd;
extern int one_file_system;
extern int keep_dirlinks;
extern int preserve_hard_links;
extern int preserve_perms;
extern int preserve_devices;
-@@ -718,6 +719,30 @@ static struct file_struct *receive_file_
+@@ -716,6 +717,30 @@ static struct file_struct *receive_file_
return file;
}
/**
* Create a file_struct for a named file by reading its stat()
* information and performing extensive checks against global
-@@ -843,7 +868,13 @@ struct file_struct *make_file(char *fnam
+@@ -850,7 +875,13 @@ struct file_struct *make_file(char *fnam
basename_len = strlen(basename) + 1; /* count the '\0' */
#ifdef SUPPORT_LINKS
#else
linkname_len = 0;
#endif
---- orig/options.c 2005-11-15 07:01:03
-+++ options.c 2005-08-27 21:22:39
+--- old/options.c
++++ new/options.c
@@ -43,6 +43,7 @@ int append_mode = 0;
int keep_dirlinks = 0;
int copy_links = 0;
+int follow_links_depth = 0;
int preserve_hard_links = 0;
int preserve_perms = 0;
- int preserve_devices = 0;
-@@ -284,6 +285,7 @@ void usage(enum logcode F)
+ int preserve_executability = 0;
+@@ -286,6 +287,7 @@ void usage(enum logcode F)
rprintf(F," --append append data onto shorter files\n");
rprintf(F," -d, --dirs transfer directories without recursing\n");
rprintf(F," -l, --links copy symlinks as symlinks\n");
rprintf(F," -L, --copy-links transform symlink into referent file/dir\n");
rprintf(F," --copy-unsafe-links only \"unsafe\" symlinks are transformed\n");
rprintf(F," --safe-links ignore symlinks that point outside the source tree\n");
-@@ -416,6 +418,7 @@ static struct poptOption long_options[]
+@@ -431,6 +433,7 @@ static struct poptOption long_options[]
{"links", 'l', POPT_ARG_VAL, &preserve_links, 1, 0, 0 },
{"no-links", 0, POPT_ARG_VAL, &preserve_links, 0, 0, 0 },
{"no-l", 0, POPT_ARG_VAL, &preserve_links, 0, 0, 0 },
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
{"copy-unsafe-links",0, POPT_ARG_NONE, ©_unsafe_links, 0, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
---- orig/rsync.yo 2005-11-15 07:01:04
-+++ rsync.yo 2005-01-28 19:33:40
+--- old/rsync.yo
++++ new/rsync.yo
@@ -310,6 +310,7 @@ to the detailed description below for a
--append append data onto shorter files
-d, --dirs transfer directories without recursing
---- orig/Makefile.in 2005-07-07 23:11:07
-+++ Makefile.in 2005-06-14 02:33:20
+--- old/Makefile.in
++++ new/Makefile.in
@@ -26,7 +26,7 @@ VERSION=@VERSION@
.SUFFIXES: .c .o
lib/permstring.o lib/pool_alloc.o @LIBOBJS@
ZLIBOBJ=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \
zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o
---- orig/checksum.c 2005-01-01 21:08:05
-+++ checksum.c 2005-06-14 02:43:38
+--- old/checksum.c
++++ new/checksum.c
@@ -18,6 +18,7 @@
*/
+ else
+ mdfour_result(&md, (uchar *)sum);
}
---- orig/lib/md5.c 2005-06-14 02:35:52
-+++ lib/md5.c 2005-06-14 02:35:52
+--- old/lib/md5.c
++++ new/lib/md5.c
@@ -0,0 +1,344 @@
+/*
+ * RFC 1321 compliant MD5 implementation
+}
+
+#endif
---- orig/lib/md5.h 2005-06-14 02:35:26
-+++ lib/md5.h 2005-06-14 02:35:26
+--- old/lib/md5.h
++++ new/lib/md5.h
@@ -0,0 +1,14 @@
+#ifndef _MD5_H
+#define _MD5_H
+void md5_finish(md5_context *ctx, uchar digest[16]);
+
+#endif /* md5.h */
---- orig/options.c 2005-08-27 21:11:26
-+++ options.c 2005-08-27 21:23:04
-@@ -107,6 +107,7 @@ int inplace = 0;
+--- old/options.c
++++ new/options.c
+@@ -116,6 +116,7 @@ int inplace = 0;
int delay_updates = 0;
long block_size = 0; /* "long" because popt can't set an int32. */
/** Network address family. **/
#ifdef INET6
-@@ -348,6 +349,7 @@ void usage(enum logcode F)
+@@ -367,6 +368,7 @@ void usage(enum logcode F)
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
rprintf(F," --protocol=NUM force an older protocol version to be used\n");
#ifdef INET6
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
-@@ -441,6 +443,7 @@ static struct poptOption long_options[]
+@@ -473,6 +475,7 @@ static struct poptOption long_options[]
{"whole-file", 'W', POPT_ARG_VAL, &whole_file, 1, 0, 0 },
{"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
{"no-W", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
{"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
{"block-size", 'B', POPT_ARG_LONG, &block_size, 0, 0, 0 },
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
-@@ -1412,6 +1415,9 @@ void server_options(char **args,int *arg
+@@ -1608,6 +1611,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
This patch still needs autoconf support for portability.
---- orig/access.c 2005-02-14 00:53:43
-+++ access.c 2005-01-15 20:09:59
+--- old/access.c
++++ new/access.c
@@ -22,12 +22,15 @@
*/
can't say if I've left any cleanup/compatibility errors in the code.
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2004-10-08 20:17:06
+--- old/Makefile.in
++++ new/Makefile.in
@@ -38,7 +38,7 @@ OBJS3=progress.o pipe.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
TLS_OBJ = tls.o syscall.o lib/compat.o lib/snprintf.o lib/permstring.o
---- orig/cleanup.c 2006-02-03 20:00:35
-+++ cleanup.c 2005-01-10 10:43:22
+--- old/cleanup.c
++++ new/cleanup.c
@@ -22,6 +22,9 @@
#include "rsync.h"
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, file, line);
---- orig/clientserver.c 2006-02-03 20:41:03
-+++ clientserver.c 2005-04-09 17:39:57
+--- old/clientserver.c
++++ new/clientserver.c
@@ -45,6 +45,9 @@ extern int io_timeout;
extern int orig_umask;
extern int no_detach;
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-02-05 04:53:34
-+++ configure.in 2004-07-03 20:22:28
+--- old/configure.in
++++ new/configure.in
@@ -282,6 +282,21 @@ if test x"$enable_locale" != x"no"; then
AC_DEFINE(CONFIG_LOCALE)
fi
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-02-02 11:49:06
+--- old/options.c
++++ new/options.c
@@ -167,6 +167,14 @@ int log_format_has_o_or_i = 0;
int always_checksum = 0;
int list_only = 0;
if ((p = strchr(s, '/')) != NULL) {
hostlen = p - s;
path = p + 1;
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2004-10-08 21:01:33
+--- old/rsync.h
++++ new/rsync.h
@@ -32,6 +32,7 @@
#define DEFAULT_LOCK_FILE "/var/run/rsyncd.lock"
/* Starting from protocol version 26, we always use 64-bit
* ino_t and dev_t internally, even if this platform does not
* allow files to have 64-bit inums. That's because the
---- orig/ssl.c 2004-10-08 19:37:22
-+++ ssl.c 2004-10-08 19:37:22
+--- old/ssl.c
++++ new/ssl.c
@@ -0,0 +1,366 @@
+/* -*- c-file-style: "linux" -*-
+ * ssl.c: operations for negotiating SSL rsync connections.
---- orig/loadparm.c 2005-09-19 17:21:10
-+++ loadparm.c 2005-09-16 20:41:11
-@@ -140,6 +140,10 @@ typedef struct
+--- old/loadparm.c
++++ new/loadparm.c
+@@ -142,6 +142,10 @@ typedef struct
char *temp_dir;
char *uid;
int max_connections;
int max_verbosity;
int timeout;
-@@ -183,6 +187,10 @@ static service sDefault =
+@@ -187,6 +191,10 @@ static service sDefault =
/* temp_dir; */ NULL,
/* uid; */ NOBODY_USER,
/* max_connections; */ 0,
/* max_verbosity; */ 1,
/* timeout; */ 0,
-@@ -287,10 +295,14 @@ static struct parm_struct parm_table[] =
+@@ -291,10 +299,14 @@ static struct parm_struct parm_table[] =
{"auth users", P_STRING, P_LOCAL, &sDefault.auth_users, NULL,0},
{"comment", P_STRING, P_LOCAL, &sDefault.comment, NULL,0},
{"gid", P_STRING, P_LOCAL, &sDefault.gid, NULL,0},
{"hosts allow", P_STRING, P_LOCAL, &sDefault.hosts_allow, NULL,0},
{"hosts deny", P_STRING, P_LOCAL, &sDefault.hosts_deny, NULL,0},
-@@ -397,6 +409,10 @@ FN_LOCAL_STRING(lp_secrets_file, secrets
+@@ -405,6 +417,10 @@ FN_LOCAL_STRING(lp_secrets_file, secrets
FN_LOCAL_STRING(lp_temp_dir, temp_dir)
FN_LOCAL_STRING(lp_uid, uid)
FN_LOCAL_INTEGER(lp_max_connections, max_connections)
FN_LOCAL_INTEGER(lp_max_verbosity, max_verbosity)
FN_LOCAL_INTEGER(lp_timeout, timeout)
---- orig/rsync.c 2005-07-27 23:31:12
-+++ rsync.c 2005-07-28 00:54:53
-@@ -32,6 +32,8 @@ extern int am_server;
+--- old/rsync.c
++++ new/rsync.c
+@@ -43,6 +43,8 @@ extern int am_server;
extern int am_sender;
extern int am_generator;
extern int am_starting_up;
extern int preserve_uid;
extern int preserve_gid;
extern int inplace;
-@@ -56,6 +58,7 @@ int set_perms(char *fname,struct file_st
+@@ -116,6 +118,7 @@ int set_file_attrs(char *fname, struct f
int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
if (!st) {
if (dry_run)
-@@ -125,9 +128,19 @@ int set_perms(char *fname,struct file_st
+@@ -191,9 +194,19 @@ int set_file_attrs(char *fname, struct f
updated = 1;
}
if (ret < 0) {
rsyserr(FERROR, errno,
"failed to set permissions on %s",
---- orig/rsyncd.conf.yo 2005-07-29 02:47:20
-+++ rsyncd.conf.yo 2005-03-31 08:28:41
-@@ -218,6 +218,70 @@ file transfers to and from that module s
+--- old/rsyncd.conf.yo
++++ new/rsyncd.conf.yo
+@@ -219,6 +219,70 @@ file transfers to and from that module s
was run as root. This complements the "uid" option. The default is gid -2,
which is normally the group "nobody".
./configure --enable-slp
make
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2006-02-02 00:00:00
+--- old/Makefile.in
++++ new/Makefile.in
@@ -12,6 +12,8 @@ CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
EXEEXT=@EXEEXT@
$(OBJS): $(HEADERS)
---- orig/clientserver.c 2006-02-03 20:41:03
-+++ clientserver.c 2006-02-02 11:32:24
+--- old/clientserver.c
++++ new/clientserver.c
@@ -836,6 +836,13 @@ int daemon_main(void)
* address too. In fact, why not just do inet_ntop on the
* local address??? */
if (((pid_file = lp_pid_file()) != NULL) && (*pid_file != '\0')) {
char pidbuf[16];
int fd;
---- orig/configure.in 2006-02-05 04:53:34
-+++ configure.in 2006-02-02 11:30:00
+--- old/configure.in
++++ new/configure.in
@@ -518,6 +518,29 @@ if test $rsync_cv_chown_follows_symlink
AC_DEFINE(CHOWN_MODIFIES_SYMLINK, 1, [Define to 1 if chown modifies symlinks.])
fi
AC_CACHE_CHECK([for working socketpair],rsync_cv_HAVE_SOCKETPAIR,[
AC_TRY_RUN([
#include <sys/types.h>
---- orig/loadparm.c 2006-01-30 21:47:45
-+++ loadparm.c 2006-02-02 10:38:12
+--- old/loadparm.c
++++ new/loadparm.c
@@ -105,6 +105,7 @@ typedef struct
char *socket_options;
FN_GLOBAL_INTEGER(lp_syslog_facility, &Globals.syslog_facility)
FN_LOCAL_STRING(lp_auth_users, auth_users)
---- orig/main.c 2006-02-05 04:53:34
-+++ main.c 2006-02-02 11:33:24
+--- old/main.c
++++ new/main.c
@@ -962,6 +962,18 @@ static int start_client(int argc, char *
if (!read_batch) { /* for read_batch, NO source is specified */
argc--;
if (shell_path) { /* source is remote */
char *dummy1;
int dummy2;
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-02-02 11:41:16
+--- old/options.c
++++ new/options.c
@@ -195,6 +195,7 @@ static void print_rsync_version(enum log
char const *hardlinks = "no ";
char const *links = "no ";
(int) (sizeof dumstat->st_ino * 8),
(int) (sizeof (int64) * 8));
#ifdef MAINTAINER_MODE
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2006-02-02 00:00:00
+--- old/rsync.h
++++ new/rsync.h
@@ -154,6 +154,9 @@
#define SIGNIFICANT_ITEM_FLAGS (~(\
ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE))
/* Log-message categories. Only FERROR and FINFO get sent over the socket.
* FLOG and FCLIENT are only used on the daemon side for custom logging,
---- orig/rsync.yo 2006-02-05 15:31:49
-+++ rsync.yo 2006-02-02 10:44:29
+--- old/rsync.yo
++++ new/rsync.yo
@@ -137,7 +137,12 @@ particular rsync daemon by leaving off t
quote(tt(rsync somehost.mydomain.com::))
manpagesection(ADVANCED USAGE)
---- orig/rsyncd.conf 2006-02-02 00:00:00
-+++ rsyncd.conf 2006-02-02 00:00:00
+--- old/rsyncd.conf
++++ new/rsyncd.conf
@@ -0,0 +1,3 @@
+
+slp refresh = 300
+
---- orig/rsyncd.conf.yo 2006-02-03 20:00:36
-+++ rsyncd.conf.yo 2006-02-02 10:40:24
+--- old/rsyncd.conf.yo
++++ new/rsyncd.conf.yo
@@ -119,6 +119,15 @@ details on some of the options you may b
special socket options are set. These settings are superseded by the
bf(--sockopts) command-line option.
[ftp]
path = /var/ftp/pub
---- orig/socket.c 2006-02-03 20:00:36
-+++ socket.c 2006-02-02 10:28:15
+--- old/socket.c
++++ new/socket.c
@@ -447,6 +447,14 @@ void start_accept_loop(int port, int (*f
{
fd_set deffds;
continue;
for (i = 0, fd = -1; sp[i] >= 0; i++) {
---- orig/srvloc.c 2006-02-02 11:19:54
-+++ srvloc.c 2006-02-02 11:19:54
+--- old/srvloc.c
++++ new/srvloc.c
@@ -0,0 +1,105 @@
+/* -*- c-file-style: "linux"; -*-
+
+
+ return 0;
+}
---- orig/srvreg.c 2006-02-02 11:20:37
-+++ srvreg.c 2006-02-02 11:20:37
+--- old/srvreg.c
++++ new/srvreg.c
@@ -0,0 +1,128 @@
+/* -*- c-file-style: "linux"; -*-
+
[Updated to latest CVS source by Wayne Davison.]
---- orig/syscall.c 2005-04-07 17:04:26
-+++ syscall.c 2004-04-22 23:48:45
-@@ -62,9 +62,14 @@ int do_symlink(char *fname1, char *fname
+--- old/syscall.c
++++ new/syscall.c
+@@ -62,9 +62,14 @@ int do_symlink(const char *fname1, const
#ifdef HAVE_LINK
- int do_link(char *fname1, char *fname2)
+ int do_link(const char *fname1, const char *fname2)
{
+ int st;
+
./configure (optional if already run)
make
---- orig/generator.c 2006-02-05 06:40:40
-+++ generator.c 2005-08-17 07:28:01
+--- old/generator.c
++++ new/generator.c
@@ -61,6 +61,7 @@ extern int append_mode;
extern int make_backups;
extern int csum_length;
return 0;
/* if always checksum is set then we use the checksum instead
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2006-01-21 08:09:48
+--- old/options.c
++++ new/options.c
@@ -98,6 +98,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
int copy_unsafe_links = 0;
if (size_only)
args[ac++] = "--size-only";
---- orig/pipe.c 2006-01-21 08:03:40
-+++ pipe.c 2006-01-14 08:34:59
+--- old/pipe.c
++++ new/pipe.c
@@ -157,3 +157,77 @@ pid_t local_child(int argc, char **argv,
return pid;
+
+ return pid;
+}
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2005-08-17 07:57:33
+--- old/receiver.c
++++ new/receiver.c
@@ -53,6 +53,7 @@ extern int inplace;
extern int delay_updates;
extern struct stats stats;
if ((recv_ok && (!delay_updates || !partialptr)) || inplace) {
if (partialptr == fname || *partial_dir == '/')
partialptr = NULL;
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2005-08-17 07:10:11
+--- old/rsync.h
++++ new/rsync.h
@@ -103,6 +103,7 @@
#define IOERR_DEL_LIMIT (1<<2)
#define MAX_BASIS_DIRS 20
#define MAX_SERVER_ARGS (MAX_BASIS_DIRS*2 + 100)
---- orig/rsync.yo 2006-02-05 15:31:49
-+++ rsync.yo 2005-08-17 07:08:21
+--- old/rsync.yo
++++ new/rsync.yo
@@ -355,6 +355,7 @@ to the detailed description below for a
--timeout=TIME set I/O timeout in seconds
-I, --ignore-times don't skip files that match size and time
dit(bf(--protocol=NUM)) Force an older protocol version to be used. This
is useful for creating a batch file that is compatible with an older
version of rsync. For instance, if rsync 2.6.4 is being used with the
---- orig/sender.c 2006-01-14 20:27:10
-+++ sender.c 2005-08-17 07:40:49
+--- old/sender.c
++++ new/sender.c
@@ -41,6 +41,7 @@ extern int write_batch;
extern struct stats stats;
extern struct file_list *the_file_list;
./configure (optional if already run)
make
---- orig/Makefile.in 2006-02-06 05:03:50
-+++ Makefile.in 2005-12-10 18:35:39
+--- old/Makefile.in
++++ new/Makefile.in
@@ -6,7 +6,7 @@ exec_prefix=@exec_prefix@
bindir=@bindir@
mandir=@mandir@
CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
---- orig/cleanup.c 2006-02-03 20:00:35
-+++ cleanup.c 2006-02-03 20:07:44
+--- old/cleanup.c
++++ new/cleanup.c
@@ -26,10 +26,6 @@ extern int keep_partial;
extern int log_got_error;
extern char *partial_dir;
if (cleanup_pid && cleanup_pid == getpid()) {
char *pidf = lp_pid_file();
if (pidf && *pidf)
---- orig/errcode.h 2005-12-16 23:48:43
-+++ errcode.h 2005-12-16 23:50:02
+--- old/errcode.h
++++ new/errcode.h
@@ -37,7 +37,6 @@
#define RERR_CRASHED 15 /* sibling crashed */
#define RERR_TERMINATED 16 /* sibling terminated abnormally */
#define RERR_SIGNAL 20 /* status returned when sent SIGINT, SIGTERM, SIGHUP */
#define RERR_WAITCHILD 21 /* some error returned by waitpid() */
#define RERR_MALLOC 22 /* error allocating core memory buffers */
---- orig/generator.c 2006-02-05 06:40:40
-+++ generator.c 2005-12-08 23:17:08
+--- old/generator.c
++++ new/generator.c
@@ -67,7 +67,6 @@ extern OFF_T min_size;
extern int io_error;
extern int allowed_lull;
}
do_progress = save_do_progress;
---- orig/io.c 2006-02-04 21:53:39
-+++ io.c 2006-02-01 19:50:09
+--- old/io.c
++++ new/io.c
@@ -47,7 +47,6 @@ extern int allowed_lull;
extern int am_server;
extern int am_daemon;
- write_batch_monitor_out = -1;
- write_batch_monitor_in = -1;
-}
---- orig/log.c 2006-02-05 04:53:34
-+++ log.c 2005-12-16 23:49:57
+--- old/log.c
++++ new/log.c
@@ -38,7 +38,6 @@ extern int am_sender;
extern int local_server;
extern int quiet;
send_msg((enum msgcode)code, buf, len);
return;
}
---- orig/main.c 2006-02-05 04:53:34
-+++ main.c 2006-02-02 02:43:44
+--- old/main.c
++++ new/main.c
@@ -30,7 +30,6 @@ extern int list_only;
extern int am_root;
extern int am_server;
SIGACTMASK(SIGCHLD, sigchld_handler);
#ifdef MAINTAINER_MODE
SIGACTMASK(SIGSEGV, rsync_panic_handler);
---- orig/match.c 2005-11-10 16:58:36
-+++ match.c 2005-12-08 23:17:09
+--- old/match.c
++++ new/match.c
@@ -21,7 +21,7 @@
extern int verbose;
show_progress(last_match, buf->file_size);
sum_update(map_ptr(buf, last_match, len), len);
last_match = s->flength;
---- orig/options.c 2006-02-03 23:51:57
-+++ options.c 2005-12-08 23:17:09
+--- old/options.c
++++ new/options.c
@@ -73,7 +73,6 @@ int def_compress_level = Z_DEFAULT_COMPR
int am_root = 0;
int am_server = 0;
if (dry_run)
do_xfers = 0;
---- orig/pipe.c 2006-01-21 08:03:40
-+++ pipe.c 2005-12-08 23:17:09
+--- old/pipe.c
++++ new/pipe.c
@@ -56,7 +56,7 @@ pid_t piped_child(char **command, int *f
exit_cleanup(RERR_IPC);
}
if (pid == -1) {
rsyserr(FERROR, errno, "fork");
exit_cleanup(RERR_IPC);
---- orig/receiver.c 2006-01-31 02:30:18
-+++ receiver.c 2006-01-14 08:30:29
+--- old/receiver.c
++++ new/receiver.c
@@ -24,7 +24,7 @@ extern int verbose;
extern int do_xfers;
extern int am_daemon;
}
}
make_backups = save_make_backups;
---- orig/rsync.c 2006-02-05 15:31:49
-+++ rsync.c 2005-12-08 23:17:10
+--- old/rsync.c
++++ new/rsync.c
@@ -41,7 +41,6 @@ extern int orig_umask;
extern int am_root;
extern int am_server;
- return am_sender ? "sender" : am_generator ? "generator" : "receiver";
+ return am_sender ? "sender" : am_generator() ? "generator" : "receiver";
}
---- orig/rsync.h 2006-02-03 20:00:36
-+++ rsync.h 2006-01-17 02:46:03
+--- old/rsync.h
++++ new/rsync.h
@@ -166,10 +166,8 @@ enum msgcode {
MSG_DATA=0, /* raw data on the multiplexed stream */
MSG_ERROR=FERROR, MSG_INFO=FINFO, /* remote logging */
#include "lib/pool_alloc.h"
---- orig/util.c 2006-02-03 20:00:36
-+++ util.c 2005-12-08 23:17:10
+--- old/util.c
++++ new/util.c
@@ -413,51 +413,6 @@ int robust_rename(char *from, char *to,
return -1;
}
Do we need configure support for mktime()?
---- orig/io.c 2005-12-08 21:19:31
-+++ io.c 2005-05-19 09:01:27
+--- old/io.c
++++ new/io.c
@@ -57,6 +57,7 @@ extern int remove_sent_files;
extern int preserve_hard_links;
extern char *filesfrom_host;
if (t - last_io_in >= io_timeout) {
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds -- exiting\n",
---- orig/options.c 2006-01-31 03:11:30
-+++ options.c 2006-01-26 10:58:41
+--- old/options.c
++++ new/options.c
@@ -115,6 +115,7 @@ int checksum_seed = 0;
int inplace = 0;
int delay_updates = 0;
if (backup_dir) {
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
---- orig/rsync.yo 2006-01-31 03:05:44
-+++ rsync.yo 2005-02-01 10:46:35
+--- old/rsync.yo
++++ new/rsync.yo
@@ -387,6 +387,8 @@ to the detailed description below for a
--password-file=FILE read password from FILE
--list-only list the files instead of copying them
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
-@@ -1534,6 +1536,19 @@ transfer was too fast, it will wait befo
+@@ -1572,6 +1574,19 @@ transfer was too fast, it will wait befo
result is an average transfer rate equaling the specified limit. A value
of zero specifies no limit.
dit(bf(--write-batch=FILE)) Record a file that can later be applied to
another identical destination with bf(--read-batch). See the "BATCH MODE"
section for details, and also the bf(--only-write-batch) option.
---- orig/util.c 2006-01-30 07:18:28
-+++ util.c 2004-07-03 20:23:22
+--- old/util.c
++++ new/util.c
@@ -128,6 +128,132 @@ void overflow_exit(char *str)
exit_cleanup(RERR_MALLOC);
}
This is an adapted version of the original by Zoong Pham.
---- orig/lib/getaddrinfo.c 2005-02-14 00:53:44
-+++ lib/getaddrinfo.c 2004-06-18 17:38:35
+--- old/lib/getaddrinfo.c
++++ new/lib/getaddrinfo.c
@@ -41,6 +41,20 @@
#include <rsync.h>
#if defined(__KAME__) && defined(INET6)
# define FAITH
#endif
---- orig/syscall.c 2005-04-07 17:04:26
-+++ syscall.c 2005-02-14 02:54:45
+--- old/syscall.c
++++ new/syscall.c
@@ -27,6 +27,7 @@
#include "rsync.h"
./configure --enable-acl-support --enable-xattr-support
make
---- orig/Makefile.in 2005-11-07 04:31:05
-+++ Makefile.in 2005-11-07 04:38:36
+--- old/Makefile.in
++++ new/Makefile.in
@@ -27,13 +27,13 @@ VERSION=@VERSION@
HEADERS=byteorder.h config.h errcode.h proto.h rsync.h smb_acls.h lib/pool_alloc.h
OBJS3=progress.o pipe.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
---- orig/backup.c 2004-10-06 00:13:09
-+++ backup.c 2005-03-03 01:20:46
+--- old/backup.c
++++ new/backup.c
@@ -136,6 +136,7 @@ static int make_bak_dir(char *fullpath)
do_lchown(fullpath, st.st_uid, st.st_gid);
do_chmod(fullpath, st.st_mode);
free(file);
if (verbose > 1) {
---- orig/configure.in 2004-08-19 19:53:27
-+++ configure.in 2005-05-12 22:57:53
+--- old/configure.in
++++ new/configure.in
@@ -810,6 +810,30 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_
AC_MSG_RESULT(no)
)
AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
AC_OUTPUT
---- orig/flist.c 2006-01-31 02:37:33
-+++ flist.c 2005-10-16 23:03:04
+--- old/flist.c
++++ new/flist.c
@@ -969,6 +969,8 @@ static struct file_struct *send_file_nam
return NULL;
if (MAKE_ACL(file, fname) < 0)
if (f >= 0) {
recv_uid_list(f, flist);
---- orig/generator.c 2006-02-04 22:26:45
-+++ generator.c 2005-05-12 23:21:08
+--- old/generator.c
++++ new/generator.c
@@ -908,6 +908,10 @@ static void recv_generator(char *fname,
if (f_out == -1)
SET_ACL(fname, file);
if (delete_during && f_out != -1 && !phase && dry_run < 2
&& (file->flags & FLAG_DEL_HERE))
delete_in_dir(the_file_list, fname, file, &st);
---- orig/lib/sysxattr.c 2005-05-12 23:23:15
-+++ lib/sysxattr.c 2005-05-12 23:23:15
+--- old/lib/sysxattr.c
++++ new/lib/sysxattr.c
@@ -0,0 +1,41 @@
+/* Extended attribute support for rsync. */
+/* This file Copyright (C) 2004 Red Hat, Inc. */
+#else
+
+#endif /* No xattrs */
---- orig/lib/sysxattr.h 2005-05-12 23:56:31
-+++ lib/sysxattr.h 2005-05-12 23:56:31
+--- old/lib/sysxattr.h
++++ new/lib/sysxattr.h
@@ -0,0 +1,9 @@
+#if defined(HAVE_LINUX_XATTRS)
+
+#else
+
+#endif /* No xattrs */
---- orig/options.c 2006-02-04 19:58:53
-+++ options.c 2006-02-04 20:05:35
+--- old/options.c
++++ new/options.c
@@ -45,6 +45,7 @@ int copy_links = 0;
int preserve_links = 0;
int preserve_hard_links = 0;
if (preserve_uid)
argstr[x++] = 'o';
if (preserve_gid)
---- orig/rsync.c 2006-02-04 19:53:13
-+++ rsync.c 2005-10-16 23:19:27
+--- old/rsync.c
++++ new/rsync.c
@@ -206,12 +206,15 @@ int set_file_attrs(char *fname, struct f
}
#endif
}
if (verbose > 1 && flags & ATTRS_REPORT) {
---- orig/rsync.h 2006-01-31 19:27:00
-+++ rsync.h 2005-10-16 23:19:44
+--- old/rsync.h
++++ new/rsync.h
@@ -695,6 +695,38 @@ struct chmod_mode_struct;
#endif /* SUPPORT_ACLS */
#include "smb_acls.h"
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2006-02-05 06:55:30
-+++ rsync.yo 2006-01-31 03:16:46
+--- old/rsync.yo
++++ new/rsync.yo
@@ -318,6 +318,7 @@ to the detailed description below for a
-p, --perms preserve permissions
-E, --executability preserve executability
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
---- orig/xattr.c 2005-10-16 23:25:12
-+++ xattr.c 2005-10-16 23:25:12
+--- old/xattr.c
++++ new/xattr.c
@@ -0,0 +1,540 @@
+/* Extended Attribute support for rsync */
+/* Copyright (C) 2004 Red Hat, Inc */