From afcb578c53a1c5579d48336e2197e476cead7057 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Wed, 8 Feb 2006 01:07:25 +0000 Subject: [PATCH] Updated to apply cleanly. --- ODBC-dblog.diff | 28 ++++++++++++++-------------- acls.diff | 34 +++++++++++++++++----------------- atimes.diff | 2 +- backup-dir-dels.diff | 20 ++++++++++---------- date-only.diff | 10 +++++----- detect-renamed.diff | 4 ++-- fsync.diff | 10 +++++----- id-pair.diff | 8 ++++---- ignore-case.diff | 8 ++++---- link-by-hash.diff | 30 +++++++++++++++--------------- links-depth.diff | 4 ++-- md5.diff | 8 ++++---- openssl-support.diff | 20 ++++++++++---------- slp.diff | 10 +++++----- source-filter_dest-filter.diff | 30 +++++++++++++++--------------- threaded-receiver.diff | 6 +++--- time-limit.diff | 23 ++++++++++++----------- xattrs.diff | 20 ++++++++++---------- 18 files changed, 138 insertions(+), 137 deletions(-) diff --git a/ODBC-dblog.diff b/ODBC-dblog.diff index ae4e47d..d0daa19 100644 --- a/ODBC-dblog.diff +++ b/ODBC-dblog.diff @@ -68,7 +68,7 @@ See the file "instructions" (after applying this patch) for more info. am_sender ? "on" : "to", --- old/configure.in +++ new/configure.in -@@ -536,6 +536,12 @@ if test x"$with_included_popt" != x"yes" +@@ -540,6 +540,12 @@ if test x"$with_included_popt" != x"yes" AC_CHECK_LIB(popt, poptGetContext, , [with_included_popt=yes]) fi @@ -1046,7 +1046,7 @@ See the file "instructions" (after applying this patch) for more info. FN_LOCAL_BOOL(lp_list, list) --- old/log.c +++ new/log.c -@@ -93,7 +93,7 @@ struct { +@@ -94,7 +94,7 @@ struct { /* * Map from rsync error code to name, or return NULL. */ @@ -1069,7 +1069,7 @@ See the file "instructions" (after applying this patch) for more info. } --- old/receiver.c +++ new/receiver.c -@@ -174,6 +174,10 @@ static int get_tmpname(char *fnametmp, c +@@ -113,6 +113,10 @@ static int get_tmpname(char *fnametmp, c if (maxname < 1) { rprintf(FERROR, "temporary filename too long: %s\n", fname); @@ -1080,7 +1080,7 @@ See the file "instructions" (after applying this patch) for more info. fnametmp[0] = '\0'; return 0; } -@@ -290,6 +294,11 @@ static int receive_data(int f_in, char * +@@ -229,6 +233,11 @@ static int receive_data(int f_in, char * rsyserr(FERROR, errno, "lseek failed on %s", full_fname(fname)); @@ -1092,7 +1092,7 @@ See the file "instructions" (after applying this patch) for more info. exit_cleanup(RERR_FILEIO); } continue; -@@ -315,6 +324,9 @@ static int receive_data(int f_in, char * +@@ -254,6 +263,9 @@ static int receive_data(int f_in, char * report_write_error: rsyserr(FERROR, errno, "write failed on %s", full_fname(fname)); @@ -1102,7 +1102,7 @@ See the file "instructions" (after applying this patch) for more info. exit_cleanup(RERR_FILEIO); } -@@ -358,6 +370,12 @@ static void handle_delayed_updates(struc +@@ -297,6 +309,12 @@ static void handle_delayed_updates(struc rsyserr(FERROR, errno, "rename failed for %s (from %s)", full_fname(fname), partialptr); @@ -1115,7 +1115,7 @@ See the file "instructions" (after applying this patch) for more info. } else { if (remove_sent_files || (preserve_hard_links -@@ -480,6 +498,9 @@ int recv_files(int f_in, struct file_lis +@@ -419,6 +437,9 @@ int recv_files(int f_in, struct file_lis if (server_filter_list.head && check_filter(&server_filter_list, fname, 0) < 0) { rprintf(FERROR, "attempt to hack rsync failed.\n"); @@ -1125,7 +1125,7 @@ See the file "instructions" (after applying this patch) for more info. exit_cleanup(RERR_PROTOCOL); } -@@ -535,6 +556,11 @@ int recv_files(int f_in, struct file_lis +@@ -474,6 +495,11 @@ int recv_files(int f_in, struct file_lis rprintf(FERROR, "invalid basis_dir index: %d.\n", fnamecmp_type); @@ -1137,7 +1137,7 @@ See the file "instructions" (after applying this patch) for more info. exit_cleanup(RERR_PROTOCOL); } pathjoin(fnamecmpbuf, sizeof fnamecmpbuf, -@@ -580,6 +606,9 @@ int recv_files(int f_in, struct file_lis +@@ -519,6 +545,9 @@ int recv_files(int f_in, struct file_lis if (fd1 != -1 && do_fstat(fd1,&st) != 0) { rsyserr(FERROR, errno, "fstat %s failed", full_fname(fnamecmp)); @@ -1147,7 +1147,7 @@ See the file "instructions" (after applying this patch) for more info. discard_receive_data(f_in, file->length); close(fd1); continue; -@@ -593,6 +622,9 @@ int recv_files(int f_in, struct file_lis +@@ -532,6 +561,9 @@ int recv_files(int f_in, struct file_lis */ rprintf(FERROR,"recv_files: %s is a directory\n", full_fname(fnamecmp)); @@ -1157,7 +1157,7 @@ See the file "instructions" (after applying this patch) for more info. discard_receive_data(f_in, file->length); close(fd1); continue; -@@ -616,6 +648,9 @@ int recv_files(int f_in, struct file_lis +@@ -555,6 +587,9 @@ int recv_files(int f_in, struct file_lis if (fd2 == -1) { rsyserr(FERROR, errno, "open %s failed", full_fname(fname)); @@ -1167,7 +1167,7 @@ See the file "instructions" (after applying this patch) for more info. discard_receive_data(f_in, file->length); if (fd1 != -1) close(fd1); -@@ -649,6 +684,10 @@ int recv_files(int f_in, struct file_lis +@@ -588,6 +623,10 @@ int recv_files(int f_in, struct file_lis if (fd2 == -1) { rsyserr(FERROR, errno, "mkstemp %s failed", full_fname(fnametmp)); @@ -1178,7 +1178,7 @@ See the file "instructions" (after applying this patch) for more info. discard_receive_data(f_in, file->length); if (fd1 != -1) close(fd1); -@@ -671,12 +710,19 @@ int recv_files(int f_in, struct file_lis +@@ -610,12 +649,19 @@ int recv_files(int f_in, struct file_lis if (!log_before_transfer) log_item(file, &initial_stats, iflags, NULL); @@ -1198,7 +1198,7 @@ See the file "instructions" (after applying this patch) for more info. exit_cleanup(RERR_FILEIO); } -@@ -730,6 +776,12 @@ int recv_files(int f_in, struct file_lis +@@ -669,6 +715,12 @@ int recv_files(int f_in, struct file_lis rprintf(msgtype, "%s: %s failed verification -- update %s%s.\n", errstr, fname, keptstr, redostr); diff --git a/acls.diff b/acls.diff index 48dd174..2ade185 100644 --- a/acls.diff +++ b/acls.diff @@ -1264,7 +1264,7 @@ ACLs to a non-ACL-supporting disk should complain. if (verbose > 1) { --- old/configure.in +++ new/configure.in -@@ -478,6 +478,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no +@@ -482,6 +482,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no AC_CHECK_LIB(resolv, strcasecmp) fi @@ -1276,7 +1276,7 @@ ACLs to a non-ACL-supporting disk should complain. 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. -@@ -734,6 +739,77 @@ AC_SUBST(OBJ_RESTORE) +@@ -738,6 +743,77 @@ AC_SUBST(OBJ_RESTORE) AC_SUBST(CC_SHOBJ_FLAG) AC_SUBST(BUILD_POPT) @@ -4784,7 +4784,7 @@ ACLs to a non-ACL-supporting disk should complain. int preserve_perms = 0; int preserve_executability = 0; int preserve_devices = 0; -@@ -193,6 +194,7 @@ static void print_rsync_version(enum log +@@ -194,6 +195,7 @@ static void print_rsync_version(enum log char const *got_socketpair = "no "; char const *have_inplace = "no "; char const *hardlinks = "no "; @@ -4792,7 +4792,7 @@ ACLs to a non-ACL-supporting disk should complain. char const *links = "no "; char const *ipv6 = "no "; STRUCT_STAT *dumstat; -@@ -209,6 +211,10 @@ static void print_rsync_version(enum log +@@ -210,6 +212,10 @@ static void print_rsync_version(enum log hardlinks = ""; #endif @@ -4803,7 +4803,7 @@ ACLs to a non-ACL-supporting disk should complain. #ifdef SUPPORT_LINKS links = ""; #endif -@@ -222,9 +228,9 @@ static void print_rsync_version(enum log +@@ -223,9 +229,9 @@ static void print_rsync_version(enum log rprintf(f, "Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.\n"); rprintf(f, "\n"); rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, " @@ -4815,7 +4815,7 @@ ACLs to a non-ACL-supporting disk should complain. /* Note that this field may not have type ino_t. It depends * on the complicated interaction between largefile feature -@@ -293,6 +299,9 @@ void usage(enum logcode F) +@@ -294,6 +300,9 @@ void usage(enum logcode F) rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n"); rprintf(F," -p, --perms preserve permissions\n"); rprintf(F," -E, --executability preserve the file's executability\n"); @@ -4825,7 +4825,7 @@ ACLs to a non-ACL-supporting disk should complain. rprintf(F," --chmod=CHMOD change destination permissions\n"); rprintf(F," -o, --owner preserve owner (super-user only)\n"); rprintf(F," -g, --group preserve group\n"); -@@ -409,6 +418,9 @@ static struct poptOption long_options[] +@@ -411,6 +420,9 @@ static struct poptOption long_options[] {"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 }, {"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 }, {"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 }, @@ -4835,7 +4835,7 @@ ACLs to a non-ACL-supporting disk should complain. {"times", 't', POPT_ARG_VAL, &preserve_times, 1, 0, 0 }, {"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 }, {"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 }, -@@ -1057,6 +1069,23 @@ int parse_arguments(int *argc, const cha +@@ -1060,6 +1072,23 @@ int parse_arguments(int *argc, const cha usage(FINFO); exit_cleanup(0); @@ -4859,7 +4859,7 @@ ACLs to a non-ACL-supporting disk should complain. default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -1497,6 +1526,10 @@ void server_options(char **args,int *arg +@@ -1499,6 +1528,10 @@ void server_options(char **args,int *arg if (preserve_hard_links) argstr[x++] = 'H'; @@ -4872,7 +4872,7 @@ ACLs to a non-ACL-supporting disk should complain. if (preserve_gid) --- old/receiver.c +++ new/receiver.c -@@ -410,6 +410,10 @@ int recv_files(int f_in, struct file_lis +@@ -349,6 +349,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; int max_phase = protocol_version >= 29 ? 2 : 1; @@ -4883,7 +4883,7 @@ ACLs to a non-ACL-supporting disk should complain. int i, recv_ok; if (verbose > 2) -@@ -607,7 +611,16 @@ int recv_files(int f_in, struct file_lis +@@ -546,7 +550,16 @@ int recv_files(int f_in, struct file_lis * mode based on the local permissions and some heuristics. */ if (!preserve_perms) { int exists = fd1 != -1; @@ -4903,7 +4903,7 @@ ACLs to a non-ACL-supporting disk should complain. /* We now check to see if we are writing file "inplace" */ --- old/rsync.c +++ new/rsync.c -@@ -91,7 +91,8 @@ void free_sums(struct sum_struct *s) +@@ -100,7 +100,8 @@ void free_sums(struct sum_struct *s) /* This is only called when we aren't preserving permissions. Figure out what * the permissions should be and return them merged back into the mode. */ @@ -4913,7 +4913,7 @@ ACLs to a non-ACL-supporting disk should complain. { /* If the file already exists, we'll return the local permissions, * possibly tweaked by the --executability option. */ -@@ -106,7 +107,7 @@ mode_t dest_mode(mode_t flist_mode, mode +@@ -115,7 +116,7 @@ mode_t dest_mode(mode_t flist_mode, mode dest_mode |= (dest_mode & 0444) >> 2; } } else @@ -4922,7 +4922,7 @@ ACLs to a non-ACL-supporting disk should complain. return (flist_mode & ~CHMOD_BITS) | (dest_mode & CHMOD_BITS); } -@@ -205,6 +206,14 @@ int set_file_attrs(char *fname, struct f +@@ -214,6 +215,14 @@ int set_file_attrs(char *fname, struct f } #endif @@ -4994,7 +4994,7 @@ ACLs to a non-ACL-supporting disk should complain. --chmod=CHMOD change destination permissions -o, --owner preserve owner (super-user only) -g, --group preserve group -@@ -691,7 +692,9 @@ quote(itemize( +@@ -692,7 +693,9 @@ quote(itemize( permissions, though the bf(--executability) option might change just the execute permission for the file. it() New files get their "normal" permission bits set to the source @@ -5005,7 +5005,7 @@ ACLs to a non-ACL-supporting disk should complain. their special permission bits disabled except in the case where a new directory inherits a setgid bit from its parent directory. )) -@@ -722,9 +725,11 @@ The preservation of the destination's se +@@ -723,9 +726,11 @@ The preservation of the destination's se directories when bf(--perms) is off was added in rsync 2.6.7. Older rsync versions erroneously preserved the three special permission bits for newly-created files when bf(--perms) was off, while overriding the @@ -5020,7 +5020,7 @@ ACLs to a non-ACL-supporting disk should complain. dit(bf(-E, --executability)) This option causes rsync to preserve the executability (or non-executability) of regular files when bf(--perms) is -@@ -742,6 +747,10 @@ quote(itemize( +@@ -743,6 +748,10 @@ quote(itemize( If bf(--perms) is enabled, this option is ignored. diff --git a/atimes.diff b/atimes.diff index 5d76929..8327182 100644 --- a/atimes.diff +++ b/atimes.diff @@ -410,7 +410,7 @@ After applying this patch, run these commands for a successful build: {"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 2, 0, 0 }, {"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 }, {"super", 0, POPT_ARG_VAL, &am_root, 2, 0, 0 }, -@@ -1508,6 +1513,8 @@ void server_options(char **args,int *arg +@@ -1507,6 +1512,8 @@ void server_options(char **args,int *arg argstr[x++] = 'D'; if (preserve_times) argstr[x++] = 't'; diff --git a/backup-dir-dels.diff b/backup-dir-dels.diff index acac0f1..aa1f829 100644 --- a/backup-dir-dels.diff +++ b/backup-dir-dels.diff @@ -159,7 +159,7 @@ Marc St-Onge if (ok) { --- old/options.c +++ new/options.c -@@ -137,10 +137,14 @@ int no_detach +@@ -138,10 +138,14 @@ int no_detach int write_batch = 0; int read_batch = 0; int backup_dir_len = 0; @@ -174,7 +174,7 @@ Marc St-Onge char *tmpdir = NULL; char *partial_dir = NULL; char *basis_dir[MAX_BASIS_DIRS+1]; -@@ -150,7 +154,9 @@ char *log_format = NULL; +@@ -151,7 +155,9 @@ char *log_format = NULL; char *password_file = NULL; char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; @@ -184,7 +184,7 @@ Marc St-Onge char *sockopts = NULL; int rsync_port = 0; int compare_dest = 0; -@@ -281,6 +287,8 @@ void usage(enum logcode F) +@@ -282,6 +288,8 @@ void usage(enum logcode F) rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n"); rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n"); rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX); @@ -193,7 +193,7 @@ Marc St-Onge rprintf(F," -u, --update skip files that are newer on the receiver\n"); rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n"); rprintf(F," --append append data onto shorter files\n"); -@@ -494,7 +502,9 @@ static struct poptOption long_options[] +@@ -496,7 +504,9 @@ static struct poptOption long_options[] {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, {"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 }, {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, @@ -203,7 +203,7 @@ Marc St-Onge {"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 }, {"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 }, {"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 }, -@@ -1202,6 +1212,8 @@ int parse_arguments(int *argc, const cha +@@ -1205,6 +1215,8 @@ int parse_arguments(int *argc, const cha partial_dir = sanitize_path(NULL, partial_dir, NULL, 0); if (backup_dir) backup_dir = sanitize_path(NULL, backup_dir, NULL, 0); @@ -212,7 +212,7 @@ Marc St-Onge } if (server_filter_list.head && !am_sender) { struct filter_list_struct *elp = &server_filter_list; -@@ -1236,6 +1248,14 @@ int parse_arguments(int *argc, const cha +@@ -1239,6 +1251,14 @@ int parse_arguments(int *argc, const cha return 0; } } @@ -227,7 +227,7 @@ Marc St-Onge } if (!backup_suffix) -@@ -1247,6 +1267,16 @@ int parse_arguments(int *argc, const cha +@@ -1250,6 +1270,16 @@ int parse_arguments(int *argc, const cha backup_suffix); return 0; } @@ -244,7 +244,7 @@ Marc St-Onge if (backup_dir) { backup_dir_len = strlcpy(backup_dir_buf, backup_dir, sizeof backup_dir_buf); backup_dir_remainder = sizeof backup_dir_buf - backup_dir_len; -@@ -1270,6 +1300,31 @@ int parse_arguments(int *argc, const cha +@@ -1273,6 +1303,31 @@ int parse_arguments(int *argc, const cha "P *%s", backup_suffix); parse_rule(&filter_list, backup_dir_buf, 0, 0); } @@ -276,7 +276,7 @@ Marc St-Onge if (make_backups && !backup_dir) omit_dir_times = 1; -@@ -1612,6 +1667,10 @@ void server_options(char **args,int *arg +@@ -1614,6 +1669,10 @@ void server_options(char **args,int *arg args[ac++] = "--backup-dir"; args[ac++] = backup_dir; } @@ -287,7 +287,7 @@ Marc St-Onge /* Only send --suffix if it specifies a non-default value. */ if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) { -@@ -1620,7 +1679,13 @@ void server_options(char **args,int *arg +@@ -1622,7 +1681,13 @@ void server_options(char **args,int *arg goto oom; args[ac++] = arg; } diff --git a/date-only.diff b/date-only.diff index 71af22f..977bb3e 100644 --- a/date-only.diff +++ b/date-only.diff @@ -36,7 +36,7 @@ Jeremy Bornstein --- old/options.c +++ new/options.c -@@ -98,6 +98,7 @@ int keep_partial = 0; +@@ -99,6 +99,7 @@ int keep_partial = 0; int safe_symlinks = 0; int copy_unsafe_links = 0; int size_only = 0; @@ -44,7 +44,7 @@ Jeremy Bornstein int daemon_bwlimit = 0; int bwlimit = 0; int fuzzy_basis = 0; -@@ -331,6 +332,7 @@ void usage(enum logcode F) +@@ -332,6 +333,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"); @@ -52,7 +52,7 @@ Jeremy Bornstein 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"); -@@ -443,6 +445,7 @@ static struct poptOption long_options[] +@@ -445,6 +447,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 }, @@ -60,7 +60,7 @@ Jeremy Bornstein {"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 }, -@@ -1643,6 +1646,9 @@ void server_options(char **args,int *arg +@@ -1645,6 +1648,9 @@ void server_options(char **args,int *arg if (size_only) args[ac++] = "--size-only"; @@ -80,7 +80,7 @@ Jeremy Bornstein --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 -@@ -460,6 +461,12 @@ regardless of timestamp. This is useful +@@ -461,6 +462,12 @@ regardless of timestamp. This is useful after using another mirroring system which may not preserve timestamps exactly. diff --git a/detect-renamed.diff b/detect-renamed.diff index 6096180..e531301 100644 --- a/detect-renamed.diff +++ b/detect-renamed.diff @@ -524,7 +524,7 @@ TODO: {"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 }, {"compress", 'z', POPT_ARG_NONE, 0, 'z', 0, 0 }, {"compress-level", 0, POPT_ARG_INT, &def_compress_level, 'z', 0, 0 }, -@@ -1335,7 +1338,7 @@ int parse_arguments(int *argc, const cha +@@ -1334,7 +1337,7 @@ int parse_arguments(int *argc, const cha inplace = 1; } @@ -533,7 +533,7 @@ TODO: partial_dir = tmp_partialdir; if (inplace) { -@@ -1344,6 +1347,7 @@ int parse_arguments(int *argc, const cha +@@ -1343,6 +1346,7 @@ int parse_arguments(int *argc, const cha snprintf(err_buf, sizeof err_buf, "--%s cannot be used with --%s\n", append_mode ? "append" : "inplace", diff --git a/fsync.diff b/fsync.diff index 2aa7dc3..8e0ae97 100644 --- a/fsync.diff +++ b/fsync.diff @@ -11,7 +11,7 @@ to be called on every file we write. int preserve_links = 0; int preserve_hard_links = 0; int preserve_perms = 0; -@@ -327,6 +328,7 @@ void usage(enum logcode F) +@@ -328,6 +329,7 @@ void usage(enum logcode F) rprintf(F," --partial-dir=DIR put a partially transferred file into DIR\n"); rprintf(F," --delay-updates put all updated files into place at transfer's end\n"); rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n"); @@ -19,7 +19,7 @@ to be called on every file we write. rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n"); 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"); -@@ -501,6 +503,7 @@ static struct poptOption long_options[] +@@ -503,6 +505,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}, @@ -27,7 +27,7 @@ to be called on every file we write. {"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 }, -@@ -1694,6 +1697,9 @@ void server_options(char **args,int *arg +@@ -1696,6 +1699,9 @@ void server_options(char **args,int *arg args[ac++] = tmpdir; } @@ -47,7 +47,7 @@ to be called on every file we write. extern int basis_dir_cnt; extern int make_backups; extern int cleanup_got_literal; -@@ -318,6 +319,12 @@ static int receive_data(int f_in, char * +@@ -257,6 +258,12 @@ static int receive_data(int f_in, char * exit_cleanup(RERR_FILEIO); } @@ -80,7 +80,7 @@ to be called on every file we write. extern int modify_window; extern int relative_paths; extern int human_readable; -@@ -312,6 +313,12 @@ int copy_file(const char *source, const +@@ -303,6 +304,12 @@ int copy_file(const char *source, const return -1; } diff --git a/id-pair.diff b/id-pair.diff index 90df970..32683b9 100644 --- a/id-pair.diff +++ b/id-pair.diff @@ -148,7 +148,7 @@ gets to be really large. iflags |= ITEM_IS_NEW; --- old/rsync.c +++ new/rsync.c -@@ -49,6 +49,7 @@ extern int inplace; +@@ -50,6 +50,7 @@ extern int inplace; extern int keep_dirlinks; extern int make_backups; extern struct stats stats; @@ -156,7 +156,7 @@ gets to be really large. #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 +@@ -125,6 +126,8 @@ int set_file_attrs(char *fname, struct f int updated = 0; STRUCT_STAT st2; int change_uid, change_gid; @@ -165,7 +165,7 @@ gets to be really large. if (!st) { if (dry_run) -@@ -148,9 +151,11 @@ int set_file_attrs(char *fname, struct f +@@ -157,9 +160,11 @@ int set_file_attrs(char *fname, struct f updated = 1; } @@ -180,7 +180,7 @@ gets to be really large. #if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK if (S_ISLNK(st->st_mode)) ; -@@ -162,18 +167,18 @@ int set_file_attrs(char *fname, struct f +@@ -171,18 +176,18 @@ int set_file_attrs(char *fname, struct f rprintf(FINFO, "set uid of %s from %ld to %ld\n", fname, diff --git a/ignore-case.diff b/ignore-case.diff index 67f98cb..267ebb0 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -65,7 +65,7 @@ in a case-insensitive manner. /* Match the "pattern" against the forced-to-lower-case "text" string. */ --- old/options.c +++ new/options.c -@@ -110,6 +110,7 @@ OFF_T max_size = 0; +@@ -111,6 +111,7 @@ OFF_T max_size = 0; OFF_T min_size = 0; int ignore_errors = 0; int modify_window = 0; @@ -73,7 +73,7 @@ in a case-insensitive manner. int blocking_io = -1; int checksum_seed = 0; int inplace = 0; -@@ -349,6 +350,7 @@ void usage(enum logcode F) +@@ -350,6 +351,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"); @@ -81,7 +81,7 @@ in a case-insensitive manner. 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," --sockopts=OPTIONS specify custom TCP options\n"); -@@ -501,6 +503,7 @@ static struct poptOption long_options[] +@@ -503,6 +505,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}, @@ -89,7 +89,7 @@ in a case-insensitive manner. {"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 }, -@@ -1655,6 +1658,9 @@ void server_options(char **args,int *arg +@@ -1657,6 +1660,9 @@ void server_options(char **args,int *arg args[ac++] = arg; } diff --git a/link-by-hash.diff b/link-by-hash.diff index abd0bc5..e7b6c68 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -368,7 +368,7 @@ the file's name. +#endif --- old/options.c +++ new/options.c -@@ -144,6 +144,7 @@ char *backup_suffix = NULL; +@@ -145,6 +145,7 @@ char *backup_suffix = NULL; char *tmpdir = NULL; char *partial_dir = NULL; char *basis_dir[MAX_BASIS_DIRS+1]; @@ -376,7 +376,7 @@ the file's name. char *config_file = NULL; char *shell_cmd = NULL; char *log_format = NULL; -@@ -337,6 +338,7 @@ void usage(enum logcode F) +@@ -338,6 +339,7 @@ void usage(enum logcode F) rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n"); rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n"); rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n"); @@ -384,7 +384,7 @@ the file's name. rprintf(F," -z, --compress compress file data during the transfer\n"); rprintf(F," --compress-level=NUM explicitly set compression level\n"); rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n"); -@@ -383,7 +385,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP +@@ -385,7 +387,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE, @@ -393,7 +393,7 @@ the file's name. OPT_SERVER, OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -478,6 +480,7 @@ static struct poptOption long_options[] +@@ -480,6 +482,7 @@ static struct poptOption long_options[] {"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 }, {"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 }, {"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 }, @@ -401,7 +401,7 @@ the file's name. {"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 }, {"compress", 'z', POPT_ARG_NONE, 0, 'z', 0, 0 }, {"compress-level", 0, POPT_ARG_INT, &def_compress_level, 'z', 0, 0 }, -@@ -1057,6 +1060,21 @@ int parse_arguments(int *argc, const cha +@@ -1060,6 +1063,21 @@ int parse_arguments(int *argc, const cha usage(FINFO); exit_cleanup(0); @@ -423,7 +423,7 @@ the file's name. default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -1706,6 +1724,11 @@ void server_options(char **args,int *arg +@@ -1708,6 +1726,11 @@ void server_options(char **args,int *arg } } @@ -445,7 +445,7 @@ the file's name. extern char *partial_dir; extern char *basis_dir[]; extern struct file_list *the_file_list; -@@ -186,12 +187,13 @@ static int get_tmpname(char *fnametmp, c +@@ -125,12 +126,13 @@ static int get_tmpname(char *fnametmp, c static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, @@ -460,7 +460,7 @@ the file's name. int32 len; OFF_T offset = 0; OFF_T offset2; -@@ -211,6 +213,9 @@ static int receive_data(int f_in, char * +@@ -150,6 +152,9 @@ static int receive_data(int f_in, char * } else mapbuf = NULL; @@ -470,7 +470,7 @@ the file's name. sum_init(checksum_seed); if (append_mode) { -@@ -253,6 +258,8 @@ static int receive_data(int f_in, char * +@@ -192,6 +197,8 @@ static int receive_data(int f_in, char * cleanup_got_literal = 1; sum_update(data, i); @@ -479,7 +479,7 @@ the file's name. if (fd != -1 && write_file(fd,data,i) != i) goto report_write_error; -@@ -279,6 +286,8 @@ static int receive_data(int f_in, char * +@@ -218,6 +225,8 @@ static int receive_data(int f_in, char * see_token(map, len); sum_update(map, len); @@ -488,7 +488,7 @@ the file's name. } if (inplace) { -@@ -319,6 +328,8 @@ static int receive_data(int f_in, char * +@@ -258,6 +267,8 @@ static int receive_data(int f_in, char * } sum_end(file_sum1); @@ -497,7 +497,7 @@ the file's name. if (mapbuf) unmap_file(mapbuf); -@@ -334,7 +345,7 @@ static int receive_data(int f_in, char * +@@ -273,7 +284,7 @@ static int receive_data(int f_in, char * static void discard_receive_data(int f_in, OFF_T length) { @@ -506,7 +506,7 @@ the file's name. } static void handle_delayed_updates(struct file_list *flist, char *local_name) -@@ -666,8 +677,12 @@ int recv_files(int f_in, struct file_lis +@@ -605,8 +616,12 @@ int recv_files(int f_in, struct file_lis rprintf(FINFO, "%s\n", fname); /* recv file data */ @@ -522,7 +522,7 @@ the file's name. log_item(file, &initial_stats, iflags, NULL); --- old/rsync.c +++ new/rsync.c -@@ -49,6 +49,7 @@ extern int inplace; +@@ -50,6 +50,7 @@ extern int inplace; extern int keep_dirlinks; extern int make_backups; extern struct stats stats; @@ -530,7 +530,7 @@ the file's name. #if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H iconv_t ic_chck = (iconv_t)-1; -@@ -257,8 +258,15 @@ void finish_transfer(char *fname, char * +@@ -266,8 +267,15 @@ void finish_transfer(char *fname, char * /* move tmp file over real file */ if (verbose > 2) rprintf(FINFO, "renaming %s to %s\n", fnametmp, fname); diff --git a/links-depth.diff b/links-depth.diff index 4383aeb..f9434d8 100644 --- a/links-depth.diff +++ b/links-depth.diff @@ -72,7 +72,7 @@ in this modified version. int preserve_hard_links = 0; int preserve_perms = 0; int preserve_executability = 0; -@@ -286,6 +287,7 @@ void usage(enum logcode F) +@@ -287,6 +288,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"); @@ -80,7 +80,7 @@ in this modified version. 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"); -@@ -431,6 +433,7 @@ static struct poptOption long_options[] +@@ -433,6 +435,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 }, diff --git a/md5.diff b/md5.diff index 5f0d959..2e6bcb0 100644 --- a/md5.diff +++ b/md5.diff @@ -553,7 +553,7 @@ +#endif /* md5.h */ --- old/options.c +++ new/options.c -@@ -116,6 +116,7 @@ int inplace = 0; +@@ -117,6 +117,7 @@ int inplace = 0; int delay_updates = 0; long block_size = 0; /* "long" because popt can't set an int32. */ @@ -561,7 +561,7 @@ /** Network address family. **/ #ifdef INET6 -@@ -367,6 +368,7 @@ void usage(enum logcode F) +@@ -369,6 +370,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"); @@ -569,7 +569,7 @@ #ifdef INET6 rprintf(F," -4, --ipv4 prefer IPv4\n"); rprintf(F," -6, --ipv6 prefer IPv6\n"); -@@ -473,6 +475,7 @@ static struct poptOption long_options[] +@@ -475,6 +477,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 }, @@ -577,7 +577,7 @@ {"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 }, -@@ -1608,6 +1611,9 @@ void server_options(char **args,int *arg +@@ -1610,6 +1613,9 @@ void server_options(char **args,int *arg args[ac++] = arg; } diff --git a/openssl-support.diff b/openssl-support.diff index d7966f2..1e78fcd 100644 --- a/openssl-support.diff +++ b/openssl-support.diff @@ -223,7 +223,7 @@ can't say if I've left any cleanup/compatibility errors in the code. *cygwin* ) AC_MSG_RESULT(yes) --- old/options.c +++ new/options.c -@@ -167,6 +167,14 @@ int log_format_has_o_or_i = 0; +@@ -168,6 +168,14 @@ int log_format_has_o_or_i = 0; int always_checksum = 0; int list_only = 0; @@ -238,7 +238,7 @@ can't say if I've left any cleanup/compatibility errors in the code. #define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */ char *batch_name = NULL; -@@ -195,6 +203,7 @@ static void print_rsync_version(enum log +@@ -196,6 +204,7 @@ static void print_rsync_version(enum log char const *hardlinks = "no "; char const *links = "no "; char const *ipv6 = "no "; @@ -246,7 +246,7 @@ can't say if I've left any cleanup/compatibility errors in the code. STRUCT_STAT *dumstat; #ifdef HAVE_SOCKETPAIR -@@ -217,6 +226,10 @@ static void print_rsync_version(enum log +@@ -218,6 +227,10 @@ static void print_rsync_version(enum log ipv6 = ""; #endif @@ -257,7 +257,7 @@ can't say if I've left any cleanup/compatibility errors in the code. 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,9 +242,9 @@ static void print_rsync_version(enum log +@@ -230,9 +243,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. */ @@ -269,7 +269,7 @@ can't say if I've left any cleanup/compatibility errors in the code. (int) (sizeof dumstat->st_ino * 8), (int) (sizeof (int64) * 8)); #ifdef MAINTAINER_MODE -@@ -371,6 +384,13 @@ void usage(enum logcode F) +@@ -373,6 +386,13 @@ void usage(enum logcode F) rprintf(F," -4, --ipv4 prefer IPv4\n"); rprintf(F," -6, --ipv6 prefer IPv6\n"); #endif @@ -283,7 +283,7 @@ can't say if I've left any cleanup/compatibility errors in the code. rprintf(F," --version print version number\n"); rprintf(F," --help show this help screen\n"); -@@ -383,7 +403,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP +@@ -385,7 +405,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE, @@ -292,7 +292,7 @@ can't say if I've left any cleanup/compatibility errors in the code. OPT_SERVER, OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -520,6 +540,13 @@ static struct poptOption long_options[] +@@ -523,6 +543,13 @@ static struct poptOption long_options[] {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 }, {"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 }, {"sender", 0, POPT_ARG_NONE, 0, OPT_SENDER, 0, 0 }, @@ -306,7 +306,7 @@ can't say if I've left any cleanup/compatibility errors in the code. /* All the following options switch us into daemon-mode option-parsing. */ {"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 }, {"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 }, -@@ -1057,6 +1084,12 @@ int parse_arguments(int *argc, const cha +@@ -1060,6 +1087,12 @@ int parse_arguments(int *argc, const cha usage(FINFO); exit_cleanup(0); @@ -319,7 +319,7 @@ can't say if I've left any cleanup/compatibility errors in the code. default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -1335,6 +1368,17 @@ int parse_arguments(int *argc, const cha +@@ -1337,6 +1370,17 @@ int parse_arguments(int *argc, const cha if (delay_updates && !partial_dir) partial_dir = tmp_partialdir; @@ -337,7 +337,7 @@ can't say if I've left any cleanup/compatibility errors in the code. if (inplace) { #ifdef HAVE_FTRUNCATE if (partial_dir) { -@@ -1746,11 +1790,28 @@ char *check_for_hostspec(char *s, char * +@@ -1748,11 +1792,28 @@ char *check_for_hostspec(char *s, char * { char *p; int not_host; diff --git a/slp.diff b/slp.diff index 06c2ee2..3a9e5ee 100644 --- a/slp.diff +++ b/slp.diff @@ -53,7 +53,7 @@ After applying this patch, run these commands for a successful build: int fd; --- old/configure.in +++ new/configure.in -@@ -518,6 +518,29 @@ if test $rsync_cv_chown_follows_symlink +@@ -522,6 +522,29 @@ if test $rsync_cv_chown_follows_symlink AC_DEFINE(CHOWN_MODIFIES_SYMLINK, 1, [Define to 1 if chown modifies symlinks.]) fi @@ -132,7 +132,7 @@ After applying this patch, run these commands for a successful build: int dummy2; --- old/options.c +++ new/options.c -@@ -195,6 +195,7 @@ static void print_rsync_version(enum log +@@ -196,6 +196,7 @@ static void print_rsync_version(enum log char const *hardlinks = "no "; char const *links = "no "; char const *ipv6 = "no "; @@ -140,7 +140,7 @@ After applying this patch, run these commands for a successful build: STRUCT_STAT *dumstat; #ifdef HAVE_SOCKETPAIR -@@ -217,6 +218,10 @@ static void print_rsync_version(enum log +@@ -218,6 +219,10 @@ static void print_rsync_version(enum log ipv6 = ""; #endif @@ -151,7 +151,7 @@ After applying this patch, run these commands for a successful build: 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,9 +234,9 @@ static void print_rsync_version(enum log +@@ -230,9 +235,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. */ @@ -215,7 +215,7 @@ After applying this patch, run these commands for a successful build: enddit() -@@ -541,6 +550,7 @@ use chroot = no +@@ -544,6 +553,7 @@ use chroot = no max connections = 4 syslog facility = local5 pid file = /var/run/rsyncd.pid diff --git a/source-filter_dest-filter.diff b/source-filter_dest-filter.diff index 836ab1d..a6c6e54 100644 --- a/source-filter_dest-filter.diff +++ b/source-filter_dest-filter.diff @@ -50,7 +50,7 @@ After applying this patch, run these commands for a successful build: /* if always checksum is set then we use the checksum instead --- old/options.c +++ new/options.c -@@ -98,6 +98,7 @@ int keep_partial = 0; +@@ -99,6 +99,7 @@ int keep_partial = 0; int safe_symlinks = 0; int copy_unsafe_links = 0; int size_only = 0; @@ -58,7 +58,7 @@ After applying this patch, run these commands for a successful build: int daemon_bwlimit = 0; int bwlimit = 0; int fuzzy_basis = 0; -@@ -147,6 +148,8 @@ char *basis_dir[MAX_BASIS_DIRS+1]; +@@ -148,6 +149,8 @@ char *basis_dir[MAX_BASIS_DIRS+1]; char *config_file = NULL; char *shell_cmd = NULL; char *log_format = NULL; @@ -67,7 +67,7 @@ After applying this patch, run these commands for a successful build: char *password_file = NULL; char *rsync_path = RSYNC_PATH; char *backup_dir = NULL; -@@ -331,6 +334,7 @@ void usage(enum logcode F) +@@ -332,6 +335,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"); @@ -75,7 +75,7 @@ After applying this patch, run these commands for a successful build: 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"); -@@ -366,6 +370,8 @@ void usage(enum logcode F) +@@ -368,6 +372,8 @@ void usage(enum logcode F) rprintf(F," --write-batch=FILE write a batched update to FILE\n"); 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"); @@ -84,7 +84,7 @@ After applying this patch, run these commands for a successful build: rprintf(F," --protocol=NUM force an older protocol version to be used\n"); #ifdef INET6 rprintf(F," -4, --ipv4 prefer IPv4\n"); -@@ -443,6 +449,7 @@ static struct poptOption long_options[] +@@ -445,6 +451,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 }, @@ -92,7 +92,7 @@ After applying this patch, run these commands for a successful build: {"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 }, -@@ -516,6 +523,8 @@ static struct poptOption long_options[] +@@ -519,6 +526,8 @@ static struct poptOption long_options[] {"password-file", 0, POPT_ARG_STRING, &password_file, 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 }, @@ -101,7 +101,7 @@ After applying this patch, run these commands for a successful build: {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 }, {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 }, {"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 }, -@@ -1380,6 +1389,16 @@ int parse_arguments(int *argc, const cha +@@ -1382,6 +1391,16 @@ int parse_arguments(int *argc, const cha } } @@ -118,7 +118,7 @@ After applying this patch, run these commands for a successful build: if (files_from) { char *h, *p; int q; -@@ -1640,6 +1659,25 @@ void server_options(char **args,int *arg +@@ -1642,6 +1661,25 @@ void server_options(char **args,int *arg args[ac++] = "--super"; } @@ -234,7 +234,7 @@ After applying this patch, run these commands for a successful build: extern char *tmpdir; extern char *partial_dir; extern char *basis_dir[]; -@@ -411,6 +412,8 @@ int recv_files(int f_in, struct file_lis +@@ -350,6 +351,8 @@ int recv_files(int f_in, struct file_lis : !am_server && log_format_has_i; int max_phase = protocol_version >= 29 ? 2 : 1; int i, recv_ok; @@ -243,9 +243,9 @@ After applying this patch, run these commands for a successful build: if (verbose > 2) rprintf(FINFO,"recv_files(%d) starting\n",flist->count); -@@ -423,6 +426,23 @@ int recv_files(int f_in, struct file_lis +@@ -362,6 +365,23 @@ int recv_files(int f_in, struct file_lis if (delay_updates) - init_delayed_bits(flist->count); + delayed_bits = bitbag_create(flist->count); + if (dest_filter) { + char *p; @@ -267,7 +267,7 @@ After applying this patch, run these commands for a successful build: while (1) { cleanup_disable(); -@@ -665,6 +685,9 @@ int recv_files(int f_in, struct file_lis +@@ -604,6 +624,9 @@ int recv_files(int f_in, struct file_lis else if (!am_server && verbose && do_progress) rprintf(FINFO, "%s\n", fname); @@ -277,7 +277,7 @@ After applying this patch, run these commands for a successful build: /* recv file data */ recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size, fname, fd2, file->length); -@@ -680,6 +703,16 @@ int recv_files(int f_in, struct file_lis +@@ -619,6 +642,16 @@ int recv_files(int f_in, struct file_lis exit_cleanup(RERR_FILEIO); } @@ -314,7 +314,7 @@ After applying this patch, run these commands for a successful build: --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 -@@ -390,6 +391,8 @@ to the detailed description below for a +@@ -391,6 +392,8 @@ to the detailed description below for a --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 @@ -323,7 +323,7 @@ After applying this patch, run these commands for a successful build: --protocol=NUM force an older protocol version to be used --checksum-seed=NUM set block/file checksum seed (advanced) -4, --ipv4 prefer IPv4 -@@ -1598,6 +1601,33 @@ file previously generated by bf(--write- +@@ -1610,6 +1613,33 @@ file previously generated by bf(--write- If em(FILE) is bf(-), the batch data will be read from standard input. See the "BATCH MODE" section for details. diff --git a/threaded-receiver.diff b/threaded-receiver.diff index 94eb929..6fbe409 100644 --- a/threaded-receiver.diff +++ b/threaded-receiver.diff @@ -1015,9 +1015,9 @@ After applying this patch, run these commands for a successful build: int keep_partial = 0; int safe_symlinks = 0; int copy_unsafe_links = 0; -@@ -1293,6 +1293,7 @@ int parse_arguments(int *argc, const cha - if ((do_progress || dry_run) && !verbose && !log_before_transfer - && !am_server) +@@ -1292,6 +1292,7 @@ int parse_arguments(int *argc, const cha + + if (do_progress && !verbose && !log_before_transfer && !am_server) verbose = 1; + recv_progress = do_progress; diff --git a/time-limit.diff b/time-limit.diff index 467811a..7478534 100644 --- a/time-limit.diff +++ b/time-limit.diff @@ -43,7 +43,7 @@ Do we need configure support for mktime()? rprintf(FERROR, "io timeout after %d seconds -- exiting\n", --- old/options.c +++ new/options.c -@@ -115,6 +115,7 @@ int checksum_seed = 0; +@@ -116,6 +116,7 @@ int checksum_seed = 0; int inplace = 0; int delay_updates = 0; long block_size = 0; /* "long" because popt can't set an int32. */ @@ -51,7 +51,7 @@ Do we need configure support for mktime()? /** Network address family. **/ -@@ -363,6 +364,8 @@ void usage(enum logcode F) +@@ -365,6 +366,8 @@ void usage(enum logcode F) rprintf(F," --password-file=FILE read password from FILE\n"); rprintf(F," --list-only list the files instead of copying them\n"); rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n"); @@ -60,7 +60,7 @@ Do we need configure support for mktime()? rprintf(F," --write-batch=FILE write a batched update to FILE\n"); 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"); -@@ -383,7 +386,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP +@@ -385,7 +388,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP, OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD, OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE, @@ -69,7 +69,7 @@ Do we need configure support for mktime()? OPT_SERVER, OPT_REFUSED_BASE = 9000}; static struct poptOption long_options[] = { -@@ -492,6 +495,8 @@ static struct poptOption long_options[] +@@ -494,6 +497,8 @@ static struct poptOption long_options[] {"log-format", 0, POPT_ARG_STRING, &log_format, 0, 0, 0 }, {"itemize-changes", 'i', POPT_ARG_NONE, 0, 'i', 0, 0 }, {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, @@ -78,7 +78,7 @@ Do we need configure support for mktime()? {"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 }, {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, {"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 }, -@@ -1057,6 +1062,36 @@ int parse_arguments(int *argc, const cha +@@ -1060,6 +1065,36 @@ int parse_arguments(int *argc, const cha usage(FINFO); exit_cleanup(0); @@ -115,7 +115,7 @@ Do we need configure support for mktime()? default: /* A large opt value means that set_refuse_options() * turned this option off. */ -@@ -1608,6 +1643,15 @@ void server_options(char **args,int *arg +@@ -1610,6 +1645,15 @@ void server_options(char **args,int *arg args[ac++] = arg; } @@ -133,7 +133,7 @@ Do we need configure support for mktime()? args[ac++] = backup_dir; --- old/rsync.yo +++ new/rsync.yo -@@ -387,6 +387,8 @@ to the detailed description below for a +@@ -388,6 +388,8 @@ to the detailed description below for a --password-file=FILE read password from FILE --list-only list the files instead of copying them --bwlimit=KBPS limit I/O bandwidth; KBytes per second @@ -142,7 +142,7 @@ Do we need configure support for mktime()? --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 -@@ -1572,6 +1574,19 @@ transfer was too fast, it will wait befo +@@ -1584,6 +1586,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. @@ -164,7 +164,7 @@ Do we need configure support for mktime()? section for details, and also the bf(--only-write-batch) option. --- old/util.c +++ new/util.c -@@ -128,6 +128,132 @@ void overflow_exit(char *str) +@@ -125,6 +125,133 @@ void overflow_exit(char *str) exit_cleanup(RERR_MALLOC); } @@ -294,6 +294,7 @@ Do we need configure support for mktime()? + } + return val; +} - - ++ int set_modtime(char *fname, time_t modtime, mode_t mode) + { + #if !defined HAVE_LUTIMES || !defined HAVE_UTIMES diff --git a/xattrs.diff b/xattrs.diff index 7f8f60c..835d685 100644 --- a/xattrs.diff +++ b/xattrs.diff @@ -52,7 +52,7 @@ After applying this patch, run these commands for a successful build: if (verbose > 1) { --- old/configure.in +++ new/configure.in -@@ -810,6 +810,30 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_ +@@ -814,6 +814,30 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_ AC_MSG_RESULT(no) ) @@ -201,7 +201,7 @@ After applying this patch, run these commands for a successful build: int preserve_perms = 0; int preserve_executability = 0; int preserve_devices = 0; -@@ -195,6 +196,7 @@ static void print_rsync_version(enum log +@@ -196,6 +197,7 @@ static void print_rsync_version(enum log char const *have_inplace = "no "; char const *hardlinks = "no "; char const *acls = "no "; @@ -209,7 +209,7 @@ After applying this patch, run these commands for a successful build: char const *links = "no "; char const *ipv6 = "no "; STRUCT_STAT *dumstat; -@@ -214,7 +216,9 @@ static void print_rsync_version(enum log +@@ -215,7 +217,9 @@ static void print_rsync_version(enum log #ifdef SUPPORT_ACLS acls = ""; #endif @@ -220,7 +220,7 @@ After applying this patch, run these commands for a successful build: #ifdef SUPPORT_LINKS links = ""; #endif -@@ -228,9 +232,9 @@ static void print_rsync_version(enum log +@@ -229,9 +233,9 @@ static void print_rsync_version(enum log rprintf(f, "Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.\n"); rprintf(f, "\n"); rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, " @@ -232,7 +232,7 @@ After applying this patch, run these commands for a successful build: /* Note that this field may not have type ino_t. It depends * on the complicated interaction between largefile feature -@@ -302,6 +306,9 @@ void usage(enum logcode F) +@@ -303,6 +307,9 @@ void usage(enum logcode F) #ifdef SUPPORT_ACLS rprintf(F," -A, --acls preserve ACLs (implies --perms)\n"); #endif @@ -242,7 +242,7 @@ After applying this patch, run these commands for a successful build: rprintf(F," --chmod=CHMOD change destination permissions\n"); rprintf(F," -o, --owner preserve owner (super-user only)\n"); rprintf(F," -g, --group preserve group\n"); -@@ -421,6 +428,9 @@ static struct poptOption long_options[] +@@ -423,6 +430,9 @@ static struct poptOption long_options[] {"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 }, {"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 }, {"no-A", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 }, @@ -252,7 +252,7 @@ After applying this patch, run these commands for a successful build: {"times", 't', POPT_ARG_VAL, &preserve_times, 1, 0, 0 }, {"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 }, {"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 }, -@@ -1085,6 +1095,17 @@ int parse_arguments(int *argc, const cha +@@ -1088,6 +1098,17 @@ int parse_arguments(int *argc, const cha return 0; #endif @@ -270,7 +270,7 @@ After applying this patch, run these commands for a successful build: default: /* A large opt value means that set_refuse_options() -@@ -1530,6 +1551,10 @@ void server_options(char **args,int *arg +@@ -1532,6 +1553,10 @@ void server_options(char **args,int *arg if (preserve_acls) argstr[x++] = 'A'; #endif @@ -283,7 +283,7 @@ After applying this patch, run these commands for a successful build: if (preserve_gid) --- old/rsync.c +++ new/rsync.c -@@ -206,12 +206,15 @@ int set_file_attrs(char *fname, struct f +@@ -215,12 +215,15 @@ int set_file_attrs(char *fname, struct f } #endif @@ -353,7 +353,7 @@ After applying this patch, run these commands for a successful build: --chmod=CHMOD change destination permissions -o, --owner preserve owner (super-user only) -g, --group preserve group -@@ -751,6 +752,11 @@ dit(bf(-A, --acls)) This option causes r +@@ -752,6 +753,11 @@ dit(bf(-A, --acls)) This option causes r ACLs to be the same as the source ACLs. This nonstandard option only works if the remote rsync also supports it. bf(--acls) implies bf(--perms). -- 2.34.1