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 2004-10-14 17:11:40
+--- orig/Makefile.in 2004-11-03 11:56:03
+++ Makefile.in 2004-10-20 06:32:26
@@ -25,16 +25,16 @@ VERSION=@VERSION@
.SUFFIXES:
if (f != -1) {
/* Now send the uid/gid list. This was introduced in
* protocol version 15 */
---- orig/generator.c 2004-10-06 00:12:16
+--- orig/generator.c 2004-11-27 17:53:24
+++ generator.c 2004-07-03 20:11:58
-@@ -338,6 +338,10 @@ static void recv_generator(char *fname,
+@@ -342,6 +342,10 @@ static void recv_generator(char *fname,
if (set_perms(fname, file, statret ? NULL : &st, 0)
&& verbose && f_out != -1)
rprintf(FINFO, "%s/\n", safe_fname(fname));
+ SET_ACL(fname, file);
+#endif
return;
- }
-
+ } else if (max_size && file->length > max_size) {
+ if (verbose > 1)
--- orig/lib/sysacls.c 2004-10-20 15:35:58
+++ lib/sysacls.c 2004-10-20 15:35:58
@@ -0,0 +1,3217 @@
next;
}
---- orig/options.c 2004-10-14 17:11:40
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-08-19 17:38:57
@@ -43,6 +43,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
int preserve_perms = 0;
int preserve_devices = 0;
int preserve_uid = 0;
-@@ -152,6 +153,7 @@ static void print_rsync_version(enum log
+@@ -159,6 +160,7 @@ static void print_rsync_version(enum log
char const *got_socketpair = "no ";
char const *have_inplace = "no ";
char const *hardlinks = "no ";
char const *links = "no ";
char const *ipv6 = "no ";
STRUCT_STAT *dumstat;
-@@ -168,6 +170,10 @@ static void print_rsync_version(enum log
+@@ -175,6 +177,10 @@ static void print_rsync_version(enum log
hardlinks = "";
#endif
#if SUPPORT_LINKS
links = "";
#endif
-@@ -182,9 +188,9 @@ static void print_rsync_version(enum log
+@@ -189,9 +195,9 @@ static void print_rsync_version(enum log
"Copyright (C) 1996-2004 by Andrew Tridgell and others\n");
rprintf(f, "<http://rsync.samba.org/>\n");
rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, "
/* Note that this field may not have type ino_t. It depends
* on the complicated interaction between largefile feature
-@@ -249,6 +255,7 @@ void usage(enum logcode F)
+@@ -256,6 +262,7 @@ void usage(enum logcode F)
rprintf(F," --safe-links ignore \"unsafe\" symlinks\n");
rprintf(F," -H, --hard-links preserve hard links\n");
rprintf(F," -p, --perms preserve permissions\n");
rprintf(F," -o, --owner preserve owner (root only)\n");
rprintf(F," -g, --group preserve group\n");
rprintf(F," -D, --devices preserve devices (root only)\n");
-@@ -351,6 +358,7 @@ static struct poptOption long_options[]
+@@ -361,6 +368,7 @@ static struct poptOption long_options[]
{"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
{"copy-unsafe-links", 0, POPT_ARG_NONE, ©_unsafe_links, 0, 0, 0 },
{"perms", 'p', POPT_ARG_NONE, &preserve_perms, 0, 0, 0 },
{"owner", 'o', POPT_ARG_NONE, &preserve_uid, 0, 0, 0 },
{"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 },
{"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
-@@ -683,6 +691,24 @@ int parse_arguments(int *argc, const cha
- return 0;
- #endif
+@@ -749,6 +757,24 @@ int parse_arguments(int *argc, const cha
+ basis_dir[basis_dir_cnt++] = (char *)arg;
+ break;
+ case 'A':
+#if SUPPORT_ACLS
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -999,6 +1025,8 @@ void server_options(char **args,int *arg
+@@ -1072,6 +1098,8 @@ void server_options(char **args,int *arg
if (preserve_hard_links)
argstr[x++] = 'H';
if (verbose > 1 && flags & PERMS_REPORT) {
if (updated)
rprintf(FINFO,"%s\n",fname);
---- orig/rsync.h 2004-10-09 03:21:56
+--- orig/rsync.h 2004-11-27 17:53:24
+++ rsync.h 2004-07-03 20:11:58
-@@ -545,6 +545,40 @@ static inline int flist_up(struct file_l
+@@ -552,6 +552,40 @@ static inline int flist_up(struct file_l
#include "lib/permstring.h"
#include "lib/addrinfo.h"
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2004-10-06 00:12:16
+--- orig/rsync.yo 2004-11-27 17:53:24
+++ rsync.yo 2004-07-03 20:11:58
@@ -326,6 +326,7 @@ verb(
--safe-links ignore "unsafe" symlinks
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
-@@ -585,6 +586,11 @@ source file's permissions and the umask
+@@ -594,6 +595,11 @@ source file's permissions and the umask
other files (including updated files) retain their existing permissions
(which is the same behavior as other file-copy utilities, such as cp).
make proto
---- orig/Makefile.in 2004-08-13 07:18:58
+--- orig/Makefile.in 2004-11-03 11:56:03
+++ Makefile.in 2004-07-03 20:13:41
@@ -34,7 +34,7 @@ ZLIBOBJ=zlib/deflate.o zlib/infblock.o z
OBJS1=rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o \
file->uid = st.st_uid;
file->gid = st.st_gid;
---- orig/options.c 2004-09-23 17:42:07
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-07-03 20:13:41
-@@ -126,6 +126,7 @@ char *log_format = NULL;
+@@ -128,6 +128,7 @@ char *log_format = NULL;
char *password_file = NULL;
char *rsync_path = RSYNC_PATH;
char *backup_dir = NULL;
+char *chmod_mode = NULL;
char backup_dir_buf[MAXPATHLEN];
- int rsync_port = RSYNC_PORT;
- int link_dest = 0;
-@@ -138,6 +139,8 @@ int list_only = 0;
+ int rsync_port = 0;
+ int copy_dest = 0;
+@@ -141,6 +142,8 @@ int list_only = 0;
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
+
static int daemon_opt; /* sets am_daemon after option error-reporting */
static int modify_window_set;
-
-@@ -253,6 +256,7 @@ void usage(enum logcode F)
+ static int compare_dest = 0;
+@@ -260,6 +263,7 @@ void usage(enum logcode F)
rprintf(F," -g, --group preserve group\n");
rprintf(F," -D, --devices preserve devices (root only)\n");
rprintf(F," -t, --times preserve times\n");
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," -n, --dry-run show what would have been transferred\n");
rprintf(F," -W, --whole-file copy whole files, no incremental checks\n");
-@@ -360,6 +364,7 @@ static struct poptOption long_options[]
+@@ -363,6 +367,7 @@ static struct poptOption long_options[]
{"perms", 'p', POPT_ARG_NONE, &preserve_perms, 0, 0, 0 },
{"owner", 'o', POPT_ARG_NONE, &preserve_uid, 0, 0, 0 },
{"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 },
{"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
{"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 },
{"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
-@@ -804,6 +809,13 @@ int parse_arguments(int *argc, const cha
+@@ -932,6 +937,13 @@ int parse_arguments(int *argc, const cha
return 0;
}
if (do_progress && !verbose)
verbose = 1;
-@@ -1087,6 +1099,11 @@ void server_options(char **args,int *arg
- args[ac++] = compare_dest;
+@@ -1225,6 +1237,11 @@ void server_options(char **args,int *arg
+ }
}
+ if (chmod_mode && !am_sender) {
if (files_from && (!am_sender || remote_filesfrom_file)) {
if (remote_filesfrom_file) {
args[ac++] = "--files-from";
---- orig/rsync.yo 2004-09-24 16:42:30
+--- orig/rsync.yo 2004-11-27 17:53:24
+++ rsync.yo 2004-07-03 20:13:41
@@ -330,6 +330,7 @@ verb(
-g, --group preserve group
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy whole files, no incremental checks
-@@ -610,6 +611,14 @@ cause the next transfer to behave as if
+@@ -619,6 +620,14 @@ cause the next transfer to behave as if
updated (though the rsync algorithm will make the update fairly efficient
if the files haven't actually changed, you're much better off using -t).
[Patched update to have context and apply to latest CVS source.]
---- orig/generator.c 2004-11-11 22:13:09
+--- orig/generator.c 2004-11-27 17:53:24
+++ generator.c 2004-11-11 22:15:27
@@ -40,6 +40,7 @@ extern int inplace;
extern int make_backups;
extern int size_only;
extern OFF_T max_size;
extern int io_timeout;
-@@ -63,6 +64,8 @@ extern struct exclude_list_struct server
- /* choose whether to skip a particular file */
- static int skip_file(char *fname, struct file_struct *file, STRUCT_STAT *st)
+@@ -78,6 +79,8 @@ static int unchanged_attrs(struct file_s
+ /* Perform our quick-check heuristic for determining if a file is unchanged. */
+ static int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
+ if (date_only)
+ return cmp_modtime(st->st_mtime, file->modtime) == 0;
if (st->st_size != file->length)
return 0;
- if (link_dest) {
---- orig/options.c 2004-11-17 19:41:31
+
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-11-17 19:41:59
@@ -84,6 +84,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
int daemon_bwlimit = 0;
int bwlimit = 0;
size_t bwlimit_writemax = 0;
-@@ -279,6 +280,7 @@ void usage(enum logcode F)
+@@ -283,6 +284,7 @@ void usage(enum logcode F)
rprintf(F," --timeout=TIME set I/O timeout in seconds\n");
rprintf(F," -I, --ignore-times turn off mod time & file size quick check\n");
rprintf(F," --size-only ignore mod time for quick check (use 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," --compare-dest=DIR also compare destination files relative to DIR\n");
-@@ -327,6 +329,7 @@ static struct poptOption long_options[]
+@@ -333,6 +335,7 @@ static struct poptOption long_options[]
{"password-file", 0, POPT_ARG_STRING, &password_file, 0, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
{"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, &one_file_system, 0, 0, 0 },
{"delete", 0, POPT_ARG_NONE, &delete_mode, 0, 0, 0 },
-@@ -1135,6 +1138,9 @@ void server_options(char **args,int *arg
+@@ -1169,6 +1172,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 2004-11-17 19:41:31
+--- orig/rsync.yo 2004-11-27 17:53:24
+++ rsync.yo 2004-07-03 20:16:51
@@ -353,6 +353,7 @@ verb(
--timeout=TIME set I/O timeout in seconds
--modify-window=NUM compare mod times with reduced accuracy
-T --temp-dir=DIR create temporary files in directory DIR
--compare-dest=DIR also compare received files relative to DIR
-@@ -434,6 +435,12 @@ regardless of timestamp. This is useful
+@@ -435,6 +436,12 @@ regardless of timestamp. This is useful
after using another mirroring system which may not preserve timestamps
exactly.
..wayne..
---- orig/clientserver.c 2004-08-02 02:29:16
+--- orig/clientserver.c 2004-11-27 18:27:35
+++ clientserver.c 2004-08-10 15:44:15
@@ -48,12 +48,14 @@ extern int no_detach;
extern int default_af_hint;
if (link_stat(fname, &st, keep_dirlinks) != 0) {
if (f != -1) {
io_error |= IOERR_GENERAL;
---- orig/options.c 2004-10-14 17:11:40
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-10-14 17:26:10
-@@ -287,6 +287,7 @@ void usage(enum logcode F)
+@@ -296,6 +296,7 @@ void usage(enum logcode F)
rprintf(F," --include=PATTERN don't exclude files matching PATTERN\n");
rprintf(F," --include-from=FILE don't exclude patterns listed in FILE\n");
rprintf(F," --files-from=FILE read FILE for list of source-file names\n");
rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n");
rprintf(F," --version print version number\n");
rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
-@@ -380,6 +381,7 @@ static struct poptOption long_options[]
+@@ -392,6 +393,7 @@ static struct poptOption long_options[]
{"ignore-errors", 0, POPT_ARG_NONE, &ignore_errors, 0, 0, 0 },
{"blocking-io", 0, POPT_ARG_VAL, &blocking_io, 1, 0, 0 },
{"no-blocking-io", 0, POPT_ARG_VAL, &blocking_io, 0, 0, 0 },
{0, 'P', POPT_ARG_NONE, 0, 'P', 0, 0 },
{"log-format", 0, POPT_ARG_STRING, &log_format, 0, 0, 0 },
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
-@@ -652,6 +654,11 @@ int parse_arguments(int *argc, const cha
+@@ -667,6 +669,11 @@ int parse_arguments(int *argc, const cha
am_sender = 1;
break;
case 'P':
do_progress = 1;
keep_partial = 1;
---- orig/rsync.h 2004-10-09 03:21:56
+--- orig/rsync.h 2004-11-27 17:53:24
+++ rsync.h 2004-09-22 08:48:53
-@@ -109,6 +109,7 @@
+@@ -111,6 +111,7 @@
#define XFLG_WORDS_ONLY (1<<2)
#define XFLG_WORD_SPLIT (1<<3)
#define XFLG_DIRECTORY (1<<4)
#define PERMS_REPORT (1<<0)
#define PERMS_SKIP_MTIME (1<<1)
-@@ -503,11 +504,18 @@ struct map_struct {
+@@ -510,11 +511,18 @@ struct map_struct {
#define MATCHFLG_INCLUDE (1<<4) /* this is an include, not an exclude */
#define MATCHFLG_DIRECTORY (1<<5) /* this matches only directories */
#define MATCHFLG_CLEAR_LIST (1<<6) /* this item is the "!" token */
};
struct exclude_list_struct {
---- orig/rsync.yo 2004-10-06 00:12:16
+--- orig/rsync.yo 2004-11-27 17:53:24
+++ rsync.yo 2004-08-13 00:43:31
-@@ -364,6 +364,7 @@ verb(
+@@ -366,6 +366,7 @@ verb(
--include=PATTERN don't exclude files matching PATTERN
--include-from=FILE don't exclude patterns listed in FILE
--files-from=FILE read FILE for list of source-file names
+ -E same as --exclude='. -p /.rsync-excludes'
-0 --from0 all file lists are delimited by nulls
--version print version number
- --daemon run as an rsync daemon
-@@ -1037,24 +1038,32 @@ The exclude and include patterns specifi
+ --blocking-io use blocking I/O for the remote shell
+@@ -1076,24 +1077,32 @@ The exclude and include patterns specifi
selection of which files to transfer and which files to skip.
Rsync builds an ordered list of include/exclude options as specified on
Let's say that we want to match two source files, one with an absolute
path of "/home/me/foo/bar", and one with a path of "/home/you/bar/baz".
-@@ -1101,23 +1110,27 @@ because rsync did not descend through th
+@@ -1140,23 +1149,27 @@ because rsync did not descend through th
hierarchy.
Note also that the --include and --exclude options take one pattern
it() if the pattern ends with a / then it will only match a
directory, not a file, link, or device.
-@@ -1130,22 +1143,31 @@ itemize(
+@@ -1169,22 +1182,31 @@ itemize(
single asterisk pattern "*" will stop at slashes.
it() if the pattern contains a / (not counting a trailing /) or a "**"
)
The +/- rules are most useful in a list that was read from a file, allowing
-@@ -1192,8 +1214,160 @@ itemize(
+@@ -1231,8 +1253,160 @@ itemize(
it() --include "*/" --include "*.c" --exclude "*" would include all
directories and C source files
it() --include "foo/" --include "foo/bar.c" --exclude "*" would include
if (dir)
free(dir);
---- orig/options.c 2004-11-27 17:53:24
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-11-27 18:09:09
@@ -132,6 +132,7 @@ char backup_dir_buf[MAXPATHLEN];
- int rsync_port = RSYNC_PORT;
+ int rsync_port = 0;
int copy_dest = 0;
int link_dest = 0;
+char *fname_convert_cmd = NULL;
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2004-10-14 17:11:40
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-10-14 17:22:51
-@@ -92,6 +92,7 @@ int opt_ignore_existing = 0;
- int max_delete = 0;
+@@ -94,6 +94,7 @@ int max_delete = 0;
+ OFF_T max_size = 0;
int ignore_errors = 0;
int modify_window = 0;
+int ignore_case = 0;
int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
-@@ -288,6 +289,7 @@ void usage(enum logcode F)
+@@ -297,6 +298,7 @@ void usage(enum logcode F)
rprintf(F," --include-from=FILE don't exclude patterns listed in FILE\n");
rprintf(F," --files-from=FILE read FILE for list of source-file names\n");
rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n");
rprintf(F," --version print version number\n");
rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
rprintf(F," --no-blocking-io turn off --blocking-io\n");
-@@ -336,6 +338,7 @@ static struct poptOption long_options[]
+@@ -346,6 +348,7 @@ static struct poptOption long_options[]
{"include", 0, POPT_ARG_STRING, 0, OPT_INCLUDE, 0, 0 },
{"exclude-from", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE_FROM, 0, 0 },
{"include-from", 0, POPT_ARG_STRING, 0, OPT_INCLUDE_FROM, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
{"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 },
{"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 },
-@@ -1103,6 +1106,9 @@ void server_options(char **args,int *arg
+@@ -1181,6 +1184,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
+}
+
+#endif
---- orig/options.c 2004-11-27 17:53:24
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-11-27 18:19:42
@@ -128,6 +128,7 @@ char *log_format = NULL;
char *password_file = NULL;
char *backup_dir = NULL;
+char *link_by_hash_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
- int rsync_port = RSYNC_PORT;
+ int rsync_port = 0;
int copy_dest = 0;
@@ -288,6 +289,7 @@ void usage(enum logcode F)
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, file, line);
---- orig/clientserver.c 2004-08-02 02:29:16
+--- orig/clientserver.c 2004-11-27 18:27:35
+++ clientserver.c 2004-10-08 20:44:59
@@ -46,6 +46,9 @@ extern int io_timeout;
extern int orig_umask;
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/main.c 2004-11-03 20:30:45
+--- orig/main.c 2004-11-27 17:53:24
+++ main.c 2004-10-08 20:15:28
@@ -56,6 +56,9 @@ extern int write_batch;
extern int batch_fd;
extern pid_t cleanup_child_pid;
extern char *files_from;
extern char *remote_filesfrom_file;
-@@ -790,33 +793,48 @@ static int start_client(int argc, char *
+@@ -807,33 +810,48 @@ static int start_client(int argc, char *
if ((rc = copy_argv(argv)))
return rc;
p = find_colon(argv[0]);
if (p) { /* source is remote */
if (remote_filesfrom_file
-@@ -848,12 +866,26 @@ static int start_client(int argc, char *
+@@ -865,12 +883,26 @@ static int start_client(int argc, char *
argv++;
} else { /* source is local */
am_sender = 1;
p = strchr(host,'/');
if (p) {
*p = '\0';
---- orig/options.c 2004-11-11 22:13:09
-+++ options.c 2004-11-11 22:21:10
-@@ -136,6 +136,14 @@ int quiet = 0;
+--- orig/options.c 2004-11-27 18:27:35
++++ options.c 2004-11-27 18:31:46
+@@ -138,6 +138,14 @@ int quiet = 0;
int always_checksum = 0;
int list_only = 0;
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
-@@ -156,6 +164,7 @@ static void print_rsync_version(enum log
+@@ -161,6 +169,7 @@ static void print_rsync_version(enum log
char const *hardlinks = "no ";
char const *links = "no ";
char const *ipv6 = "no ";
STRUCT_STAT *dumstat;
#ifdef HAVE_SOCKETPAIR
-@@ -178,6 +187,10 @@ static void print_rsync_version(enum log
+@@ -183,6 +192,10 @@ static void print_rsync_version(enum log
ipv6 = "";
#endif
rprintf(f, "%s version %s protocol version %d\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION);
rprintf(f,
-@@ -191,10 +204,10 @@ static void print_rsync_version(enum log
+@@ -196,10 +209,10 @@ 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. */
#ifdef MAINTAINER_MODE
rprintf(f, " panic action: \"%s\"\n",
get_panic_action());
-@@ -305,6 +318,13 @@ void usage(enum logcode F)
+@@ -311,6 +324,13 @@ void usage(enum logcode F)
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
#endif
rprintf(F," -h, --help show this help screen\n");
rprintf(F,"\nUse \"rsync --daemon --help\" to see the daemon-mode command-line options.\n");
-@@ -315,7 +335,7 @@ void usage(enum logcode F)
- enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
- OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED, OPT_LINK_DEST,
+@@ -322,7 +342,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
+ OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED,
+ OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
- OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT, OPT_MAX_SIZE,
+ OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT, OPT_MAX_SIZE, OPT_USE_SSL,
OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -400,6 +420,13 @@ static struct poptOption long_options[]
+@@ -408,6 +428,13 @@ static struct poptOption long_options[]
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
#endif
/* All these options switch us into daemon-mode option-parsing. */
{"address", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
-@@ -716,6 +743,12 @@ int parse_arguments(int *argc, const cha
- return 0;
- #endif
+@@ -749,6 +776,12 @@ int parse_arguments(int *argc, const cha
+ basis_dir[basis_dir_cnt++] = (char *)arg;
+ break;
+ case OPT_USE_SSL:
+#ifdef HAVE_OPENSSL
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -897,6 +930,17 @@ int parse_arguments(int *argc, const cha
- if (do_progress && !verbose)
- verbose = 1;
+@@ -943,6 +976,17 @@ int parse_arguments(int *argc, const cha
+ bwlimit_writemax = 512;
+ }
+#ifdef HAVE_OPENSSL
+ if (use_ssl) {
+ }
+#endif
+
- if (bwlimit) {
- bwlimit_writemax = (size_t)bwlimit * 128;
- if (bwlimit_writemax < 512)
---- orig/rsync.h 2004-11-03 20:30:45
+ if (inplace) {
+ #if HAVE_FTRUNCATE
+ if (partial_dir) {
+--- orig/rsync.h 2004-11-27 17:53:24
+++ rsync.h 2004-10-08 21:01:33
@@ -32,6 +32,7 @@
#define BACKUP_SUFFIX "~"
-@@ -338,6 +339,11 @@ enum msgcode {
+@@ -340,6 +341,11 @@ enum msgcode {
#define uint64 unsigned off_t
#endif
Do we need configure support for mktime()?
---- orig/io.c 2004-11-03 20:30:45
+--- orig/io.c 2004-11-25 16:32:40
+++ io.c 2004-07-17 15:28:36
-@@ -49,6 +49,7 @@ extern int am_sender;
+@@ -50,6 +50,7 @@ extern int am_generator;
extern int eol_nulls;
extern int checksum_seed;
extern int protocol_version;
extern char *remote_filesfrom_file;
extern struct stats stats;
-@@ -135,17 +136,22 @@ static void check_timeout(void)
+@@ -136,17 +137,22 @@ static void check_timeout(void)
{
time_t t;
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds - exiting\n",
(int)(t-last_io));
---- orig/options.c 2004-11-11 22:13:09
+--- orig/options.c 2004-11-27 18:27:35
+++ options.c 2004-11-11 22:22:25
-@@ -97,6 +97,7 @@ int blocking_io = -1;
+@@ -98,6 +98,7 @@ int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
unsigned int block_size = 0;
/** Network address family. **/
-@@ -299,6 +300,8 @@ void usage(enum logcode F)
+@@ -305,6 +306,8 @@ void usage(enum logcode F)
rprintf(F," --log-format=FORMAT log file transfers using specified format\n");
rprintf(F," --password-file=FILE get password from FILE\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n");
rprintf(F," --write-batch=FILE write a batch to FILE\n");
rprintf(F," --read-batch=FILE read a batch from FILE\n");
#ifdef INET6
-@@ -316,6 +319,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
- OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED, OPT_LINK_DEST,
+@@ -323,6 +326,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
+ OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT, OPT_MAX_SIZE,
+ OPT_STOP_AT, OPT_TIME_LIMIT,
OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -387,6 +391,8 @@ static struct poptOption long_options[]
+@@ -395,6 +399,8 @@ static struct poptOption long_options[]
{0, 'P', POPT_ARG_NONE, 0, 'P', 0, 0 },
{"log-format", 0, POPT_ARG_STRING, &log_format, 0, 0, 0 },
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"hard-links", 'H', POPT_ARG_NONE, &preserve_hard_links, 0, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
-@@ -716,6 +722,36 @@ int parse_arguments(int *argc, const cha
- return 0;
- #endif
+@@ -749,6 +755,36 @@ int parse_arguments(int *argc, const cha
+ basis_dir[basis_dir_cnt++] = (char *)arg;
+ break;
+ case OPT_STOP_AT:
+ arg = poptGetOptArg(pc);
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -1100,6 +1136,15 @@ void server_options(char **args,int *arg
+@@ -1140,6 +1176,15 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
if (backup_dir) {
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
---- orig/rsync.yo 2004-11-11 22:13:11
+--- orig/rsync.yo 2004-11-27 17:53:24
+++ rsync.yo 2004-07-15 02:44:40
-@@ -379,6 +379,8 @@ verb(
+@@ -375,6 +375,8 @@ verb(
--log-format=FORMAT log file transfers using specified format
--password-file=FILE get password from FILE
--bwlimit=KBPS limit I/O bandwidth, KBytes per second
--write-batch=FILE write a batch to FILE
--read-batch=FILE read a batch from FILE
--checksum-seed=NUM set block/file checksum seed
-@@ -1007,6 +1009,19 @@ transfer was too fast, it will wait befo
+@@ -987,6 +989,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.