The patches for 3.1.0pre1. v3.1.0pre1
authorWayne Davison <wayned@samba.org>
Sun, 28 Jul 2013 17:42:02 +0000 (10:42 -0700)
committerWayne Davison <wayned@samba.org>
Sun, 28 Jul 2013 17:42:02 +0000 (10:42 -0700)
38 files changed:
acls.diff
adaptec_acl_mods.diff
atimes.diff
backup-deleted.diff
backup-dir-dels.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
copy-devices.diff
crtimes.diff
cvs-entries.diff
date-only.diff
db.diff
detect-renamed-lax.diff
detect-renamed.diff
direct-io.diff
downdate.diff
fileflags.diff
filter-attribute-mods.diff
fsync.diff
hfs-compression.diff
ignore-case.diff
link-by-hash.diff
nameconverter.diff
netgroup-auth.diff
omit-dir-changes.diff
openssl-support.diff
slow-down.diff
slp.diff
soften-links.diff
source-backup.diff
source-filter_dest-filter.diff
sparse-block.diff
time-limit.diff
transliterate.diff
tru64.diff
write-devices.diff

index c524453d37ffa32e4dc38cb007ff2269982a1c47..522456751c1255b94a66fbd41b283dd0d47b6289 100644 (file)
--- a/acls.diff
+++ b/acls.diff
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/acls.c b/acls.c
 --- a/acls.c
 +++ b/acls.c
index 01928b4f346c971d246bf8a4db122369e6f0b0ab..4a1d7829a25bf4722884e29a95f2cae0ea0e5976 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index 9ea37a81a496e7691484d0bf423339c34e71130d..83fee4424fab40314504febc3076daada4f0b05e 100644 (file)
@@ -4,7 +4,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -224,7 +224,7 @@ diff --git a/ifuncs.h b/ifuncs.h
 diff --git a/log.c b/log.c
 --- a/log.c
 +++ b/log.c
-@@ -729,7 +729,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
+@@ -720,7 +720,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
                        c[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p';
                        c[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o';
                        c[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g';
@@ -245,7 +245,7 @@ diff --git a/options.c b/options.c
  int update_only = 0;
  int cvs_exclude = 0;
  int dry_run = 0;
-@@ -708,6 +709,7 @@ void usage(enum logcode F)
+@@ -707,6 +708,7 @@ void usage(enum logcode F)
    rprintf(F,"     --specials              preserve special files\n");
    rprintf(F," -D                          same as --devices --specials\n");
    rprintf(F," -t, --times                 preserve modification times\n");
@@ -263,7 +263,7 @@ diff --git a/options.c b/options.c
    {"omit-dir-times",  'O', POPT_ARG_VAL,    &omit_dir_times, 1, 0, 0 },
    {"no-omit-dir-times",0,  POPT_ARG_VAL,    &omit_dir_times, 0, 0, 0 },
    {"no-O",             0,  POPT_ARG_VAL,    &omit_dir_times, 0, 0, 0 },
-@@ -2428,6 +2433,8 @@ void server_options(char **args, int *argc_p)
+@@ -2419,6 +2424,8 @@ void server_options(char **args, int *argc_p)
                argstr[x++] = 'D';
        if (preserve_times)
                argstr[x++] = 't';
@@ -552,7 +552,7 @@ diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
 diff --git a/tls.c b/tls.c
 --- a/tls.c
 +++ b/tls.c
-@@ -110,6 +110,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
+@@ -109,6 +109,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
  
  #endif
  
@@ -561,7 +561,7 @@ diff --git a/tls.c b/tls.c
  static void failed(char const *what, char const *where)
  {
        fprintf(stderr, PROGRAM ": %s %s: %s\n",
-@@ -117,12 +119,37 @@ static void failed(char const *what, char const *where)
+@@ -116,12 +118,37 @@ static void failed(char const *what, char const *where)
        exit(1);
  }
  
@@ -601,7 +601,7 @@ diff --git a/tls.c b/tls.c
        char linkbuf[4096];
  
        if (do_lstat(fname, &buf) < 0)
-@@ -160,30 +187,17 @@ static void list_file(const char *fname)
+@@ -159,30 +186,17 @@ static void list_file(const char *fname)
        }
  
        permstring(permbuf, buf.st_mode);
@@ -641,7 +641,7 @@ diff --git a/tls.c b/tls.c
  
        /* TODO: Perhaps escape special characters in fname? */
  
-@@ -194,13 +208,14 @@ static void list_file(const char *fname)
+@@ -193,13 +207,14 @@ static void list_file(const char *fname)
                    (long)minor(buf.st_rdev));
        } else
                printf("%15s", do_big_num(buf.st_size, 1, NULL));
@@ -658,7 +658,7 @@ diff --git a/tls.c b/tls.c
    {"link-times",      'l', POPT_ARG_NONE,   &link_times, 0, 0, 0 },
    {"link-owner",      'L', POPT_ARG_NONE,   &link_owner, 0, 0, 0 },
  #ifdef SUPPORT_XATTRS
-@@ -219,6 +234,7 @@ static void tls_usage(int ret)
+@@ -218,6 +233,7 @@ static void tls_usage(int ret)
    fprintf(F,"usage: " PROGRAM " [OPTIONS] FILE ...\n");
    fprintf(F,"Trivial file listing program for portably checking rsync\n");
    fprintf(F,"\nOptions:\n");
@@ -669,7 +669,7 @@ diff --git a/tls.c b/tls.c
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -127,20 +127,24 @@ NORETURN void overflow_exit(const char *str)
+@@ -116,20 +116,24 @@ void print_child_argv(const char *prefix, char **cmd)
  
  /* This returns 0 for success, 1 for a symlink if symlink time-setting
   * is not possible, or -1 for any other error. */
@@ -698,7 +698,7 @@ diff --git a/util.c b/util.c
                        break;
                if (errno != ENOSYS)
                        return -1;
-@@ -150,7 +154,7 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
+@@ -139,7 +143,7 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
  
  #ifdef HAVE_LUTIMES
  #include "case_N.h"
@@ -707,7 +707,7 @@ diff --git a/util.c b/util.c
                        break;
                if (errno != ENOSYS)
                        return -1;
-@@ -169,10 +173,10 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
+@@ -158,10 +162,10 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
  
  #include "case_N.h"
  #ifdef HAVE_UTIMES
index b7e3df43f224598b44ca85e779ffc8383792cf25..483136392649073dac2a7a4dc672917b8347bcb5 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -41,7 +41,7 @@ diff --git a/generator.c b/generator.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -678,6 +678,7 @@ void usage(enum logcode F)
+@@ -677,6 +677,7 @@ void usage(enum logcode F)
    rprintf(F," -R, --relative              use relative path names\n");
    rprintf(F,"     --no-implied-dirs       don't send implied dirs with --relative\n");
    rprintf(F," -b, --backup                make backups (see --suffix & --backup-dir)\n");
@@ -59,7 +59,7 @@ diff --git a/options.c b/options.c
    {"no-backup",        0,  POPT_ARG_VAL,    &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 },
-@@ -2581,6 +2583,10 @@ void server_options(char **args, int *argc_p)
+@@ -2572,6 +2574,10 @@ void server_options(char **args, int *argc_p)
        }
  
        if (am_sender) {
index ba5be09f99ef8fbfa4fc3b1669c157b336fbfd0e..ecbf8412282491706da48fd0b920b845db2338a9 100644 (file)
@@ -198,7 +198,7 @@ diff --git a/delete.c b/delete.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -152,10 +152,14 @@ int no_detach
+@@ -151,10 +151,14 @@ int no_detach
  int write_batch = 0;
  int read_batch = 0;
  int backup_dir_len = 0;
@@ -213,7 +213,7 @@ diff --git a/options.c b/options.c
  char *tmpdir = NULL;
  char *partial_dir = NULL;
  char *basis_dir[MAX_BASIS_DIRS+1];
-@@ -167,7 +171,9 @@ char *stdout_format = NULL;
+@@ -166,7 +170,9 @@ char *stdout_format = NULL;
  char *password_file = NULL;
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
@@ -223,7 +223,7 @@ diff --git a/options.c b/options.c
  char *sockopts = NULL;
  char *usermap = NULL;
  char *groupmap = NULL;
-@@ -681,6 +687,8 @@ void usage(enum logcode F)
+@@ -680,6 +686,8 @@ void usage(enum logcode F)
    rprintf(F,"     --backup-deleted        make backups only of deleted files\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);
@@ -242,7 +242,7 @@ diff --git a/options.c b/options.c
    {"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 },
-@@ -2080,6 +2090,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2071,6 +2081,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
                if (backup_dir)
                        backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
@@ -251,7 +251,7 @@ diff --git a/options.c b/options.c
        }
        if (daemon_filter_list.head && !am_sender) {
                filter_rule_list *elp = &daemon_filter_list;
-@@ -2101,6 +2113,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2092,6 +2104,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        if (check_filter(elp, FLOG, dir, 1) < 0)
                                goto options_rejected;
                }
@@ -266,7 +266,7 @@ diff --git a/options.c b/options.c
        }
  
        if (!backup_suffix)
-@@ -2112,6 +2132,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2103,6 +2123,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        backup_suffix);
                return 0;
        }
@@ -287,7 +287,7 @@ diff --git a/options.c b/options.c
        if (backup_dir) {
                size_t len;
                while (*backup_dir == '.' && backup_dir[1] == '/')
-@@ -2147,6 +2181,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2138,6 +2172,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        "P *%s", backup_suffix);
                parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0);
        }
@@ -322,7 +322,7 @@ diff --git a/options.c b/options.c
  
        if (preserve_times) {
                preserve_times = PRESERVE_FILE_TIMES;
-@@ -2573,6 +2635,10 @@ void server_options(char **args, int *argc_p)
+@@ -2564,6 +2626,10 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--backup-dir";
                args[ac++] = backup_dir;
        }
@@ -333,7 +333,7 @@ diff --git a/options.c b/options.c
  
        /* Only send --suffix if it specifies a non-default value. */
        if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
-@@ -2581,7 +2647,14 @@ void server_options(char **args, int *argc_p)
+@@ -2572,7 +2638,14 @@ void server_options(char **args, int *argc_p)
                        goto oom;
                args[ac++] = arg;
        }
index 5655e3f8d48997628b4d58ad5f0a282b3575e362..48fe5d84b0f4f26eb22481d502880660cf268b15 100644 (file)
@@ -25,7 +25,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                  (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
index 75ddb9060081cbc95659207bf108bffca57cdb05..ad42269934dc72a4febb501e5b0e5b7b53d40321 100644 (file)
@@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
@@ -417,7 +417,7 @@ diff --git a/flist.c b/flist.c
  
        if (unsort_ndx)
                F_NDX(file) = stats.num_dirs;
-@@ -2552,7 +2816,7 @@ struct file_list *recv_file_list(int f)
+@@ -2553,7 +2817,7 @@ struct file_list *recv_file_list(int f)
                        rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
        }
  
@@ -426,7 +426,7 @@ diff --git a/flist.c b/flist.c
  
        if (protocol_version < 30) {
                /* Recv the io_error flag */
-@@ -2775,7 +3039,7 @@ void flist_free(struct file_list *flist)
+@@ -2776,7 +3040,7 @@ void flist_free(struct file_list *flist)
  
  /* This routine ensures we don't have any duplicate names in our file list.
   * duplicate names can cause corruption because of the pipelining. */
@@ -435,7 +435,7 @@ diff --git a/flist.c b/flist.c
  {
        char fbuf[MAXPATHLEN];
        int i, prev_i;
-@@ -2826,7 +3090,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2827,7 +3091,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
                        /* If one is a dir and the other is not, we want to
                         * keep the dir because it might have contents in the
                         * list.  Otherwise keep the first one. */
@@ -444,7 +444,7 @@ diff --git a/flist.c b/flist.c
                                struct file_struct *fp = flist->sorted[j];
                                if (!S_ISDIR(fp->mode))
                                        keep = i, drop = j;
-@@ -2842,8 +3106,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2843,8 +3107,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
                        } else
                                keep = j, drop = i;
  
@@ -455,7 +455,7 @@ diff --git a/flist.c b/flist.c
                                        rprintf(FINFO,
                                            "removing duplicate name %s from file list (%d)\n",
                                            f_name(file, fbuf), drop + flist->ndx_start);
-@@ -2865,7 +3129,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2866,7 +3130,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
        }
        flist->high = prev_i;
  
@@ -644,7 +644,7 @@ diff --git a/options.c b/options.c
  int max_delete = INT_MIN;
  OFF_T max_size = -1;
  OFF_T min_size = -1;
-@@ -672,6 +673,7 @@ void usage(enum logcode F)
+@@ -671,6 +672,7 @@ void usage(enum logcode F)
    rprintf(F," -q, --quiet                 suppress non-error messages\n");
    rprintf(F,"     --no-motd               suppress daemon-mode MOTD (see manpage caveat)\n");
    rprintf(F," -c, --checksum              skip based on checksum, not mod-time & size\n");
@@ -693,7 +693,7 @@ diff --git a/options.c b/options.c
                case OPT_INFO:
                        arg = poptGetOptArg(pc);
                        parse_output_words(info_words, info_levels, arg, USER_PRIORITY);
-@@ -1932,6 +1952,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1923,6 +1943,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        }
  #endif
  
@@ -804,7 +804,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -323,6 +323,17 @@ locking on this file to ensure that the max connections limit is not
+@@ -324,6 +324,17 @@ locking on this file to ensure that the max connections limit is not
  exceeded for the modules sharing the lock file.
  The default is tt(/var/run/rsyncd.lock).
  
index 65d71be83c7a04be4925d9d937eeb2ba22860c77..01c6edb49c077aaaded1f48a872521e7f0e6633e 100644 (file)
@@ -434,7 +434,7 @@ diff --git a/flist.c b/flist.c
        if (f >= 0 && recurse && !divert_dirs) {
                int i, end = flist->used - 1;
                /* send_if_directory() bumps flist->used, so use "end". */
-@@ -2685,6 +2901,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2686,6 +2902,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
        }
  
@@ -628,7 +628,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -326,13 +326,15 @@ The default is tt(/var/run/rsyncd.lock).
+@@ -327,13 +327,15 @@ The default is tt(/var/run/rsyncd.lock).
  dit(bf(checksum files)) This parameter tells rsync to make use of any cached
  checksum information it finds in per-directory .rsyncsums files when the
  current transfer is using the bf(--checksum) option.  The value can be set
index d6b09372fb17c931f7e381ec15f1e6e6cced277d..08773bf131d4029306c399ac00ff680948116112 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 0ddfc8b34be14a4046a43d960580320c76050cda..b3a32a4c10071b81fdf8e97861e7e3a50c7b6810 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -40,7 +40,7 @@ diff --git a/options.c b/options.c
  int preserve_links = 0;
  int preserve_hard_links = 0;
  int preserve_acls = 0;
-@@ -705,6 +706,7 @@ void usage(enum logcode F)
+@@ -704,6 +705,7 @@ void usage(enum logcode F)
    rprintf(F," -o, --owner                 preserve owner (super-user only)\n");
    rprintf(F," -g, --group                 preserve group\n");
    rprintf(F,"     --devices               preserve device files (super-user only)\n");
@@ -56,7 +56,7 @@ diff --git a/options.c b/options.c
    {"specials",         0,  POPT_ARG_VAL,    &preserve_specials, 1, 0, 0 },
    {"no-specials",      0,  POPT_ARG_VAL,    &preserve_specials, 0, 0, 0 },
    {"links",           'l', POPT_ARG_VAL,    &preserve_links, 1, 0, 0 },
-@@ -2745,6 +2748,9 @@ void server_options(char **args, int *argc_p)
+@@ -2736,6 +2739,9 @@ void server_options(char **args, int *argc_p)
        else if (remove_source_files)
                args[ac++] = "--remove-sent-files";
  
index 27405b2b348702505d7f4e0b0764f4d230fe4326..c8a8d3aefdeefa80db7ae5f2f521368491fc132f 100644 (file)
@@ -268,7 +268,7 @@ diff --git a/ifuncs.h b/ifuncs.h
 diff --git a/log.c b/log.c
 --- a/log.c
 +++ b/log.c
-@@ -732,7 +732,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
+@@ -723,7 +723,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
                        c[8] = !(iflags & ITEM_REPORT_FFLAGS) ? '.' : 'f';
                        c[9] = !(iflags & ITEM_REPORT_ACL) ? '.' : 'a';
                        c[10] = !(iflags & ITEM_REPORT_XATTR) ? '.' : 'x';
@@ -289,7 +289,7 @@ diff --git a/options.c b/options.c
  int update_only = 0;
  int cvs_exclude = 0;
  int dry_run = 0;
-@@ -717,6 +718,7 @@ void usage(enum logcode F)
+@@ -716,6 +717,7 @@ void usage(enum logcode F)
    rprintf(F,"     --specials              preserve special files\n");
    rprintf(F," -D                          same as --devices --specials\n");
    rprintf(F," -t, --times                 preserve modification times\n");
@@ -307,7 +307,7 @@ diff --git a/options.c b/options.c
    {"omit-dir-times",  'O', POPT_ARG_VAL,    &omit_dir_times, 1, 0, 0 },
    {"no-omit-dir-times",0,  POPT_ARG_VAL,    &omit_dir_times, 0, 0, 0 },
    {"no-O",             0,  POPT_ARG_VAL,    &omit_dir_times, 0, 0, 0 },
-@@ -2454,6 +2459,8 @@ void server_options(char **args, int *argc_p)
+@@ -2445,6 +2450,8 @@ void server_options(char **args, int *argc_p)
                argstr[x++] = 'D';
        if (preserve_times)
                argstr[x++] = 't';
@@ -557,7 +557,7 @@ diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
 diff --git a/tls.c b/tls.c
 --- a/tls.c
 +++ b/tls.c
-@@ -110,6 +110,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
+@@ -109,6 +109,8 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
  
  #endif
  
@@ -566,7 +566,7 @@ diff --git a/tls.c b/tls.c
  static void failed(char const *what, char const *where)
  {
        fprintf(stderr, PROGRAM ": %s %s: %s\n",
-@@ -117,16 +119,44 @@ static void failed(char const *what, char const *where)
+@@ -116,16 +118,44 @@ static void failed(char const *what, char const *where)
        exit(1);
  }
  
@@ -613,7 +613,7 @@ diff --git a/tls.c b/tls.c
  #ifdef SUPPORT_XATTRS
        if (am_root < 0)
                stat_xattr(fname, &buf);
-@@ -161,29 +191,11 @@ static void list_file(const char *fname)
+@@ -160,29 +190,11 @@ static void list_file(const char *fname)
  
        permstring(permbuf, buf.st_mode);
  
@@ -648,7 +648,7 @@ diff --git a/tls.c b/tls.c
  
        /* TODO: Perhaps escape special characters in fname? */
  
-@@ -194,13 +206,14 @@ static void list_file(const char *fname)
+@@ -193,13 +205,14 @@ static void list_file(const char *fname)
                    (long)minor(buf.st_rdev));
        } else
                printf("%15s", do_big_num(buf.st_size, 1, NULL));
@@ -665,7 +665,7 @@ diff --git a/tls.c b/tls.c
    {"link-times",      'l', POPT_ARG_NONE,   &link_times, 0, 0, 0 },
    {"link-owner",      'L', POPT_ARG_NONE,   &link_owner, 0, 0, 0 },
  #ifdef SUPPORT_XATTRS
-@@ -219,6 +232,7 @@ static void tls_usage(int ret)
+@@ -218,6 +231,7 @@ static void tls_usage(int ret)
    fprintf(F,"usage: " PROGRAM " [OPTIONS] FILE ...\n");
    fprintf(F,"Trivial file listing program for portably checking rsync\n");
    fprintf(F,"\nOptions:\n");
index ab6471169a786fc0593571247426653f6de536e7..e01ebcdb5f858acbbb9d58909f7bca8ca691b7b7 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
index cd6970ae5f8262fc6ebf95bca3327446dbbcb5ce..563a160b187afe4f93685ffa83ec47c03a988a17 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -47,7 +47,7 @@ diff --git a/options.c b/options.c
  int daemon_bwlimit = 0;
  int bwlimit = 0;
  int fuzzy_basis = 0;
-@@ -756,6 +757,7 @@ void usage(enum logcode F)
+@@ -755,6 +756,7 @@ void usage(enum logcode F)
    rprintf(F," -I, --ignore-times          don't skip files that match in size and mod-time\n");
    rprintf(F," -M, --remote-option=OPTION  send OPTION to the remote side only\n");
    rprintf(F,"     --size-only             skip files that match in size\n");
@@ -63,7 +63,7 @@ diff --git a/options.c b/options.c
    {"one-file-system", 'x', POPT_ARG_NONE,   0, 'x', 0, 0 },
    {"no-one-file-system",0, POPT_ARG_VAL,    &one_file_system, 0, 0, 0 },
    {"no-x",             0,  POPT_ARG_VAL,    &one_file_system, 0, 0, 0 },
-@@ -2632,6 +2635,9 @@ void server_options(char **args, int *argc_p)
+@@ -2623,6 +2626,9 @@ void server_options(char **args, int *argc_p)
        else if (missing_args == 1 && !am_sender)
                args[ac++] = "--ignore-missing-args";
  
diff --git a/db.diff b/db.diff
index a48a55b475e6a6fbf56267178e7f026e491ec9a1..361a9c649d28cf762c5e98795d5902af5061a066 100644 (file)
--- a/db.diff
+++ b/db.diff
@@ -21,7 +21,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 62327b1281be9151423048235573e0ca208fc095
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/.gitignore b/.gitignore
 --- a/.gitignore
 +++ b/.gitignore
index 114366396fe918a6d8e6ffbc63748dd45eb2d37e..226078bd28caf4f48b25e5274c7adbe1430bf816 100644 (file)
@@ -60,7 +60,7 @@ diff --git a/generator.c b/generator.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -761,6 +761,8 @@ void usage(enum logcode F)
+@@ -760,6 +760,8 @@ void usage(enum logcode F)
    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");
    rprintf(F,"     --detect-renamed        try to find renamed files to speed up the transfer\n");
@@ -80,7 +80,7 @@ diff --git a/options.c b/options.c
    {"fuzzy",           'y', POPT_ARG_NONE,   0, 'y', 0, 0 },
    {"no-fuzzy",         0,  POPT_ARG_VAL,    &fuzzy_basis, 0, 0, 0 },
    {"no-y",             0,  POPT_ARG_VAL,    &fuzzy_basis, 0, 0, 0 },
-@@ -2619,8 +2623,14 @@ void server_options(char **args, int *argc_p)
+@@ -2610,8 +2614,14 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--super";
                if (size_only)
                        args[ac++] = "--size-only";
index 1542b1dfda976c50d9c4ae66b5733e39a8226e71..631c972937723cd1330d9c6123a15f5346c31089 100644 (file)
@@ -38,7 +38,7 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
-based-on: 70d4a945f7d1ab1aca2c3ca8535240fad4bdf06b
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -173,7 +173,7 @@ diff --git a/flist.c b/flist.c
  static void send_directory(int f, struct file_list *flist,
                           char *fbuf, int len, int flags);
  
-@@ -2554,6 +2596,25 @@ struct file_list *recv_file_list(int f)
+@@ -2555,6 +2597,25 @@ struct file_list *recv_file_list(int f)
  
        flist_sort_and_clean(flist, relative_paths);
  
index 38820462f3f8274b9a76a9bc13b3b1ec08286d80..43f8a37c6caa6a650cb9f8b1547317d01decd5c5 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 70d4a945f7d1ab1aca2c3ca8535240fad4bdf06b
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 0b330d675dfe826efb3573d2c83abfa074307f21..1f8a1eb881ffbebf195e64ad4a7e99f09c6d29ff 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -60,7 +60,7 @@ diff --git a/options.c b/options.c
  int cvs_exclude = 0;
  int dry_run = 0;
  int do_xfers = 1;
-@@ -681,6 +682,7 @@ void usage(enum logcode F)
+@@ -680,6 +681,7 @@ void usage(enum logcode F)
    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);
    rprintf(F," -u, --update                skip files that are newer on the receiver\n");
index 10179958966a46d763250a62dd71b0e2af939a1f..7af00fe36e8fdab311a80b8edf07561dc8cebf32 100644 (file)
@@ -8,11 +8,11 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -43,7 +43,7 @@ popt_OBJS=popt/findme.o  popt/popt.o  popt/poptconfig.o \
+@@ -45,7 +45,7 @@ popt_OBJS=popt/findme.o  popt/popt.o  popt/poptconfig.o \
        popt/popthelp.o popt/poptparse.o
  OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
  
@@ -21,7 +21,7 @@ diff --git a/Makefile.in b/Makefile.in
  
  # Programs we must have to run the test cases
  CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \
-@@ -111,7 +111,7 @@ getgroups$(EXEEXT): getgroups.o
+@@ -127,7 +127,7 @@ getgroups$(EXEEXT): getgroups.o
  getfsdev$(EXEEXT): getfsdev.o
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS)
  
@@ -66,7 +66,7 @@ diff --git a/compat.c b/compat.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -596,6 +596,7 @@ AC_FUNC_UTIME_NULL
+@@ -597,6 +597,7 @@ AC_FUNC_UTIME_NULL
  AC_FUNC_ALLOCA
  AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
      fchmod fstat ftruncate strchr readlink link utime utimes lutimes strftime \
@@ -319,7 +319,7 @@ diff --git a/generator.c b/generator.c
 diff --git a/log.c b/log.c
 --- a/log.c
 +++ b/log.c
-@@ -729,7 +729,7 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
+@@ -720,7 +720,7 @@ static void log_formatted(enum logcode code, const char *format, const char *op,
                        c[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p';
                        c[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o';
                        c[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g';
@@ -383,7 +383,7 @@ diff --git a/options.c b/options.c
  int io_timeout = 0;
  int prune_empty_dirs = 0;
  int use_qsort = 0;
-@@ -573,6 +575,7 @@ static void print_rsync_version(enum logcode f)
+@@ -572,6 +574,7 @@ static void print_rsync_version(enum logcode f)
        char const *links = "no ";
        char const *iconv = "no ";
        char const *ipv6 = "no ";
@@ -391,7 +391,7 @@ diff --git a/options.c b/options.c
        STRUCT_STAT *dumstat;
  
  #if SUBPROTOCOL_VERSION != 0
-@@ -609,6 +612,9 @@ static void print_rsync_version(enum logcode f)
+@@ -608,6 +611,9 @@ static void print_rsync_version(enum logcode f)
  #ifdef CAN_SET_SYMLINK_TIMES
        symtimes = "";
  #endif
@@ -401,7 +401,7 @@ diff --git a/options.c b/options.c
  
        rprintf(f, "%s  version %s  protocol version %d%s\n",
                RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -622,8 +628,8 @@ static void print_rsync_version(enum logcode f)
+@@ -621,8 +627,8 @@ static void print_rsync_version(enum logcode f)
                (int)(sizeof (int64) * 8));
        rprintf(f, "    %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
                got_socketpair, hardlinks, links, ipv6, have_inplace);
@@ -412,7 +412,7 @@ diff --git a/options.c b/options.c
  
  #ifdef MAINTAINER_MODE
        rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -694,6 +700,9 @@ void usage(enum logcode F)
+@@ -693,6 +699,9 @@ void usage(enum logcode F)
    rprintf(F," -K, --keep-dirlinks         treat symlinked dir on receiver as dir\n");
    rprintf(F," -H, --hard-links            preserve hard links\n");
    rprintf(F," -p, --perms                 preserve permissions\n");
@@ -422,7 +422,7 @@ diff --git a/options.c b/options.c
    rprintf(F," -E, --executability         preserve the file's executability\n");
    rprintf(F,"     --chmod=CHMOD           affect file and/or directory permissions\n");
  #ifdef SUPPORT_ACLS
-@@ -739,7 +748,12 @@ void usage(enum logcode F)
+@@ -738,7 +747,12 @@ void usage(enum logcode F)
    rprintf(F,"     --ignore-missing-args   ignore missing source args without error\n");
    rprintf(F,"     --delete-missing-args   delete missing source args from destination\n");
    rprintf(F,"     --ignore-errors         delete even if there are I/O errors\n");
@@ -462,7 +462,7 @@ diff --git a/options.c b/options.c
    {"ignore-errors",    0,  POPT_ARG_VAL,    &ignore_errors, 1, 0, 0 },
    {"no-ignore-errors", 0,  POPT_ARG_VAL,    &ignore_errors, 0, 0, 0 },
    {"max-delete",       0,  POPT_ARG_INT,    &max_delete, 0, 0, 0 },
-@@ -2522,6 +2548,9 @@ void server_options(char **args, int *argc_p)
+@@ -2513,6 +2539,9 @@ void server_options(char **args, int *argc_p)
        if (xfer_dirs && !recurse && delete_mode && am_sender)
                args[ac++] = "--no-r";
  
@@ -472,7 +472,7 @@ diff --git a/options.c b/options.c
        if (do_compression && def_compress_level != Z_DEFAULT_COMPRESSION) {
                if (asprintf(&arg, "--compress-level=%d", def_compress_level) < 0)
                        goto oom;
-@@ -2609,6 +2638,16 @@ void server_options(char **args, int *argc_p)
+@@ -2600,6 +2629,16 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--delete-excluded";
                if (force_delete)
                        args[ac++] = "--force";
@@ -988,15 +988,15 @@ diff --git a/syscall.c b/syscall.c
 diff --git a/t_stub.c b/t_stub.c
 --- a/t_stub.c
 +++ b/t_stub.c
-@@ -26,6 +26,7 @@ int preallocate_files = 0;
- int module_id = -1;
+@@ -28,6 +28,7 @@ int module_id = -1;
+ int checksum_len = 0;
  int relative_paths = 0;
  int module_dirlen = 0;
 +int force_change = 0;
  int preserve_acls = 0;
  int preserve_times = 0;
  int preserve_xattrs = 0;
-@@ -96,3 +97,23 @@ filter_rule_list daemon_filter_list;
+@@ -97,3 +98,23 @@ filter_rule_list daemon_filter_list;
  {
        return "tester";
  }
@@ -1023,7 +1023,7 @@ diff --git a/t_stub.c b/t_stub.c
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -31,6 +31,7 @@ extern int relative_paths;
+@@ -32,6 +32,7 @@ extern int relative_paths;
  extern int preserve_times;
  extern int preserve_xattrs;
  extern int preallocate_files;
@@ -1031,8 +1031,8 @@ diff --git a/util.c b/util.c
  extern char *module_dir;
  extern unsigned int module_dirlen;
  extern char *partial_dir;
-@@ -125,9 +126,36 @@ NORETURN void overflow_exit(const char *str)
-       exit_cleanup(RERR_MALLOC);
+@@ -114,9 +115,36 @@ void print_child_argv(const char *prefix, char **cmd)
+       rprintf(FCLIENT, " (%d args)\n", cnt);
  }
  
 +#ifdef SUPPORT_FORCE_CHANGE
@@ -1069,7 +1069,7 @@ diff --git a/util.c b/util.c
  {
        static int switch_step = 0;
  
-@@ -142,6 +170,11 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
+@@ -131,6 +159,11 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
  #include "case_N.h"
                if (do_utimensat(fname, modtime, mod_nsec) == 0)
                        break;
@@ -1081,7 +1081,7 @@ diff --git a/util.c b/util.c
                if (errno != ENOSYS)
                        return -1;
                switch_step++;
-@@ -152,6 +185,11 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
+@@ -141,6 +174,11 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
  #include "case_N.h"
                if (do_lutimes(fname, modtime, mod_nsec) == 0)
                        break;
@@ -1093,7 +1093,7 @@ diff --git a/util.c b/util.c
                if (errno != ENOSYS)
                        return -1;
                switch_step++;
-@@ -175,6 +213,13 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
+@@ -164,6 +202,13 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode)
                if (do_utime(fname, modtime, mod_nsec) == 0)
                        break;
  #endif
index d82d4f86d0c027fcc93632b79ced7e5edd271b14..285ab2da9dc8b354e26128a451afad6ff49e9aad 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -312,7 +312,7 @@ diff --git a/flist.c b/flist.c
                file->mode = tweak_mode(file->mode, chmod_modes);
  
        if (f >= 0) {
-@@ -2306,7 +2327,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2307,7 +2328,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        struct file_struct *file;
                        file = send_file_name(f, flist, fbuf, &st,
                                              FLAG_TOP_DIR | FLAG_CONTENT_DIR | flags,
@@ -321,7 +321,7 @@ diff --git a/flist.c b/flist.c
                        if (!file)
                                continue;
                        if (inc_recurse) {
-@@ -2320,7 +2341,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2321,7 +2342,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        } else
                                send_if_directory(f, flist, file, fbuf, len, flags);
                } else
@@ -406,7 +406,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--timeout=TIMEOUT)) This option allows you to set a maximum I/O
  timeout in seconds. If no data is transferred for the specified time
  then rsync will exit. The default is 0, which means no timeout.
-@@ -2840,6 +2846,15 @@ itemization(
+@@ -2841,6 +2847,15 @@ itemization(
    option's default rules that exclude things like "CVS" and "*.o" are
    marked as perishable, and will not prevent a directory that was removed
    on the source from being deleted on the destination.
@@ -422,7 +422,7 @@ diff --git a/rsync.yo b/rsync.yo
  )
  
  manpagesection(MERGE-FILE FILTER RULES)
-@@ -2901,6 +2916,12 @@ itemization(
+@@ -2902,6 +2917,12 @@ itemization(
    a rule prefix such as bf(hide)).
  )
  
@@ -438,7 +438,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -842,6 +842,25 @@ size_t stringjoin(char *dest, size_t destsize, ...)
+@@ -836,6 +836,25 @@ size_t stringjoin(char *dest, size_t destsize, ...)
        return ret;
  }
  
index df92c1f45a71f74244beaf453eda3b30d4482fbb..f4253941e0bb977f81680e5aee0f613379d4f460 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -19,7 +19,7 @@ diff --git a/options.c b/options.c
  int preserve_links = 0;
  int preserve_hard_links = 0;
  int preserve_acls = 0;
-@@ -747,6 +748,7 @@ void usage(enum logcode F)
+@@ -746,6 +747,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");
@@ -35,7 +35,7 @@ diff --git a/options.c b/options.c
    {"rsh",             'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
    {"rsync-path",       0,  POPT_ARG_STRING, &rsync_path, 0, 0, 0 },
    {"temp-dir",        'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
-@@ -2694,6 +2697,9 @@ void server_options(char **args, int *argc_p)
+@@ -2685,6 +2688,9 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = tmpdir;
                }
  
@@ -79,7 +79,7 @@ diff --git a/t_stub.c b/t_stub.c
 +int do_fsync = 0;
  int modify_window = 0;
  int preallocate_files = 0;
- int module_id = -1;
+ int protect_args = 0;
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
@@ -88,10 +88,10 @@ diff --git a/util.c b/util.c
  
  extern int module_id;
 +extern int do_fsync;
+ extern int protect_args;
  extern int modify_window;
  extern int relative_paths;
- extern int preserve_times;
-@@ -408,6 +409,13 @@ int copy_file(const char *source, const char *dest, int ofd, mode_t mode)
+@@ -397,6 +398,13 @@ int copy_file(const char *source, const char *dest, int ofd, mode_t mode)
        }
  #endif
  
index 85d9b8ac95520734a6249901262d9b9a9faeb339..e7cf30179f736d354f423172b4e4389be53bef3c 100644 (file)
@@ -264,7 +264,7 @@ diff --git a/options.c b/options.c
  int preserve_perms = 0;
  int preserve_fileflags = 0;
  int preserve_executability = 0;
-@@ -712,6 +713,10 @@ void usage(enum logcode F)
+@@ -711,6 +712,10 @@ void usage(enum logcode F)
  #ifdef SUPPORT_XATTRS
    rprintf(F," -X, --xattrs                preserve extended attributes\n");
  #endif
@@ -288,7 +288,7 @@ diff --git a/options.c b/options.c
    {"ignore-errors",    0,  POPT_ARG_VAL,    &ignore_errors, 1, 0, 0 },
    {"no-ignore-errors", 0,  POPT_ARG_VAL,    &ignore_errors, 0, 0, 0 },
    {"max-delete",       0,  POPT_ARG_INT,    &max_delete, 0, 0, 0 },
-@@ -1963,6 +1974,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1954,6 +1965,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        }
  #endif
  
@@ -304,7 +304,7 @@ diff --git a/options.c b/options.c
        if (block_size > MAX_BLOCK_SIZE) {
                snprintf(err_buf, sizeof err_buf,
                         "--block-size=%lu is too large (max: %u)\n", block_size, MAX_BLOCK_SIZE);
-@@ -2558,6 +2578,11 @@ void server_options(char **args, int *argc_p)
+@@ -2549,6 +2569,11 @@ void server_options(char **args, int *argc_p)
        if (preserve_fileflags)
                args[ac++] = "--fileflags";
  
@@ -441,14 +441,14 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/t_stub.c b/t_stub.c
 --- a/t_stub.c
 +++ b/t_stub.c
-@@ -30,6 +30,7 @@ int force_change = 0;
+@@ -32,6 +32,7 @@ int force_change = 0;
  int preserve_acls = 0;
  int preserve_times = 0;
  int preserve_xattrs = 0;
 +int preserve_hfs_compression = 0;
- char number_separator = ',';
  char *partial_dir;
  char *module_dir;
+ filter_rule_list daemon_filter_list;
 diff --git a/xattrs.c b/xattrs.c
 --- a/xattrs.c
 +++ b/xattrs.c
index 4b943b5222263e99bb72e1ab8eaaae7ca42282d0..405761b71b99d12c26278ea1c94fa484ee8e6e5b 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -56,7 +56,7 @@ diff --git a/flist.c b/flist.c
  extern int ignore_errors;
  extern int numeric_ids;
  extern int recurse;
-@@ -3016,6 +3017,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3017,6 +3018,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
  {
        int dif;
        const uchar *c1, *c2;
@@ -64,7 +64,7 @@ diff --git a/flist.c b/flist.c
        enum fnc_state state1, state2;
        enum fnc_type type1, type2;
        enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM;
-@@ -3126,7 +3128,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3127,7 +3129,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
                        if (type1 != type2)
                                return type1 == t_PATH ? 1 : -1;
                }
@@ -220,7 +220,7 @@ diff --git a/options.c b/options.c
  int blocking_io = -1;
  int checksum_seed = 0;
  int inplace = 0;
-@@ -776,6 +777,7 @@ void usage(enum logcode F)
+@@ -775,6 +776,7 @@ void usage(enum logcode F)
    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," -s, --protect-args          no space-splitting; only wildcard special-chars\n");
@@ -237,7 +237,7 @@ diff --git a/options.c b/options.c
    {"files-from",       0,  POPT_ARG_STRING, &files_from, 0, 0, 0 },
    {"from0",           '0', POPT_ARG_VAL,    &eol_nulls, 1, 0, 0},
    {"no-from0",         0,  POPT_ARG_VAL,    &eol_nulls, 0, 0, 0},
-@@ -2644,6 +2648,9 @@ void server_options(char **args, int *argc_p)
+@@ -2635,6 +2639,9 @@ void server_options(char **args, int *argc_p)
                args[ac++] = arg;
        }
  
@@ -278,5 +278,5 @@ diff --git a/wildtest.c b/wildtest.c
  
 +int ignore_case = 0;
  int wildmatch_errors = 0;
- char number_separator = ',';
  
+ typedef char bool;
index 93bf4254a58ea7d0c51ea20d412725c5262b7150..05a58361811da834f9056e7f23875c0e6b73c8cf 100644 (file)
@@ -12,11 +12,11 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 0488a14b9930bf91719ac0f1d1c0c8770ca10646
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -37,7 +37,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
+@@ -39,7 +39,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
        util.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o
  OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
        fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
@@ -447,7 +447,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -283,6 +283,21 @@ message telling them to try later.  The default is 0, which means no limit.
+@@ -284,6 +284,21 @@ message telling them to try later.  The default is 0, which means no limit.
  A negative value disables the module.
  See also the "lock file" parameter.
  
index 259ad75d164032b89efdf17c44b5c82a7d94ca07..96b323af6b87bfe17e7212d2120b07ee71a90039 100644 (file)
@@ -20,11 +20,11 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/authenticate.c b/authenticate.c
 --- a/authenticate.c
 +++ b/authenticate.c
-@@ -217,7 +217,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
+@@ -224,7 +224,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
        char *users = lp_auth_users(module);
        char challenge[MAX_DIGEST_LEN*2];
        char line[BIGPATHBUFLEN];
@@ -33,7 +33,7 @@ diff --git a/authenticate.c b/authenticate.c
        int auth_uid_groups_cnt = -1;
        const char *err = NULL;
        int group_match = -1;
-@@ -277,7 +277,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
+@@ -284,7 +284,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
                                 || getallgroups(auth_uid, gid_list, &auth_uid_groups_cnt) != NULL)
                                        auth_uid_groups_cnt = 0;
                                else {
@@ -42,7 +42,7 @@ diff --git a/authenticate.c b/authenticate.c
                                                out_of_memory("auth_server");
                                        for (j = 0; j < auth_uid_groups_cnt; j++)
                                                auth_uid_groups[j] = gid_to_group(gid_list[j]);
-@@ -304,7 +304,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
+@@ -311,7 +311,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
        else if (opt_ch == 'd')
                err = "denied by rule";
        else {
@@ -51,7 +51,7 @@ diff --git a/authenticate.c b/authenticate.c
                err = check_secret(module, line, group, challenge, pass);
        }
  
-@@ -315,7 +315,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
+@@ -322,7 +322,7 @@ char *auth_server(int f_in, int f_out, int module, const char *host,
                int j;
                for (j = 0; j < auth_uid_groups_cnt; j++) {
                        if (auth_uid_groups[j])
@@ -216,7 +216,7 @@ diff --git a/loadparm.c b/loadparm.c
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -194,10 +194,11 @@ if the module is not read-only).
+@@ -195,10 +195,11 @@ if the module is not read-only).
  
  When this parameter is enabled, rsync will not attempt to map users and groups
  by name (by default), but instead copy IDs as though bf(--numeric-ids) had
@@ -230,7 +230,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  process in the chroot hierarchy will need to have access to the resources
  used by these library functions (traditionally /etc/passwd and
  /etc/group, but perhaps additional dynamic libraries as well).
-@@ -263,6 +264,27 @@ path elements that rsync believes will allow a symlink to escape the module's
+@@ -264,6 +265,27 @@ path elements that rsync believes will allow a symlink to escape the module's
  hierarchy.  There are tricky ways to work around this, though, so you had
  better trust your users if you choose this combination of parameters.
  
@@ -308,15 +308,15 @@ new file mode 100755
 diff --git a/t_stub.c b/t_stub.c
 --- a/t_stub.c
 +++ b/t_stub.c
-@@ -32,6 +32,7 @@ int preserve_xattrs = 0;
char number_separator = ',';
+@@ -33,6 +33,7 @@ int preserve_times = 0;
int preserve_xattrs = 0;
  char *partial_dir;
  char *module_dir;
 +pid_t namecvt_pid;
  filter_rule_list daemon_filter_list;
  
   void rprintf(UNUSED(enum logcode code), const char *format, ...)
-@@ -82,6 +83,11 @@ filter_rule_list daemon_filter_list;
+@@ -83,6 +84,11 @@ filter_rule_list daemon_filter_list;
        return;
  }
  
@@ -439,7 +439,7 @@ diff --git a/uidlist.c b/uidlist.c
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -34,6 +34,8 @@ extern int preallocate_files;
+@@ -35,6 +35,8 @@ extern int preallocate_files;
  extern char *module_dir;
  extern unsigned int module_dirlen;
  extern char *partial_dir;
index b1f448c2fb512a6e132bcdee2b247a0d633566d3..800f728d46f31162529734be382c41029ef10c3d 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 4cf47c524107b2165ce7bca632ca925ea2451567..ad51e4bff6386393cc55e95f60c3fc452376e2f5 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -62,7 +62,7 @@ diff --git a/options.c b/options.c
  int update_only = 0;
  int cvs_exclude = 0;
  int dry_run = 0;
-@@ -710,6 +711,7 @@ void usage(enum logcode F)
+@@ -709,6 +710,7 @@ void usage(enum logcode F)
    rprintf(F," -t, --times                 preserve modification times\n");
    rprintf(F," -O, --omit-dir-times        omit directories from --times\n");
    rprintf(F," -J, --omit-link-times       omit symlinks from --times\n");
@@ -78,7 +78,7 @@ diff --git a/options.c b/options.c
    {"modify-window",    0,  POPT_ARG_INT,    &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
    {"super",            0,  POPT_ARG_VAL,    &am_root, 2, 0, 0 },
    {"no-super",         0,  POPT_ARG_VAL,    &am_root, 0, 0, 0 },
-@@ -2146,6 +2149,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2137,6 +2140,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0);
        }
  
@@ -88,7 +88,7 @@ diff --git a/options.c b/options.c
        if (preserve_times) {
                preserve_times = PRESERVE_FILE_TIMES;
                if (!omit_dir_times)
-@@ -2397,6 +2403,8 @@ void server_options(char **args, int *argc_p)
+@@ -2388,6 +2394,8 @@ void server_options(char **args, int *argc_p)
                        argstr[x++] = 'O';
                if (omit_link_times)
                        argstr[x++] = 'J';
index 891e3c23d22ed4513a77fe1b42dfe7a6d1dae8ed..4243d74e2af8d26f7a6be907e82329dbb5b59ec0 100644 (file)
@@ -35,11 +35,11 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -41,7 +41,7 @@ OBJS3=progress.o pipe.o
+@@ -43,7 +43,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 \
        popt/popthelp.o popt/poptparse.o
@@ -209,7 +209,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -327,6 +327,25 @@ if test x"$enable_locale" != x"no"; then
+@@ -328,6 +328,25 @@ if test x"$enable_locale" != x"no"; then
        AC_DEFINE(CONFIG_LOCALE)
  fi
  
@@ -338,7 +338,7 @@ diff --git a/main.c b/main.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -192,6 +192,14 @@ int logfile_format_has_o_or_i = 0;
+@@ -191,6 +191,14 @@ int logfile_format_has_o_or_i = 0;
  int always_checksum = 0;
  int list_only = 0;
  
@@ -353,7 +353,7 @@ diff --git a/options.c b/options.c
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
  
-@@ -573,6 +581,7 @@ static void print_rsync_version(enum logcode f)
+@@ -572,6 +580,7 @@ static void print_rsync_version(enum logcode f)
        char const *links = "no ";
        char const *iconv = "no ";
        char const *ipv6 = "no ";
@@ -361,7 +361,7 @@ diff --git a/options.c b/options.c
        STRUCT_STAT *dumstat;
  
  #if SUBPROTOCOL_VERSION != 0
-@@ -609,6 +618,9 @@ static void print_rsync_version(enum logcode f)
+@@ -608,6 +617,9 @@ static void print_rsync_version(enum logcode f)
  #ifdef CAN_SET_SYMLINK_TIMES
        symtimes = "";
  #endif
@@ -371,7 +371,7 @@ diff --git a/options.c b/options.c
  
        rprintf(f, "%s  version %s  protocol version %d%s\n",
                RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -622,8 +634,8 @@ static void print_rsync_version(enum logcode f)
+@@ -621,8 +633,8 @@ static void print_rsync_version(enum logcode f)
                (int)(sizeof (int64) * 8));
        rprintf(f, "    %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
                got_socketpair, hardlinks, links, ipv6, have_inplace);
@@ -383,7 +383,7 @@ diff --git a/options.c b/options.c
  #ifdef MAINTAINER_MODE
        rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
 @@ -804,6 +816,13 @@ void usage(enum logcode F)
- #endif
+   rprintf(F,"     --checksum-seed=NUM     set block/file checksum seed (advanced)\n");
    rprintf(F," -4, --ipv4                  prefer IPv4\n");
    rprintf(F," -6, --ipv6                  prefer IPv6\n");
 +#ifdef HAVE_OPENSSL
@@ -491,7 +491,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2240,6 +2303,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2231,6 +2294,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        if (delay_updates && !partial_dir)
                partial_dir = tmp_partialdir;
  
@@ -509,7 +509,7 @@ diff --git a/options.c b/options.c
        if (inplace) {
  #ifdef HAVE_FTRUNCATE
                if (partial_dir) {
-@@ -2837,9 +2911,21 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
+@@ -2828,9 +2902,21 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
  {
        char *path;
  
index e39a8a6e4bb8521d23a08dec016769bf0974ad75..21923298b940a5fa30d0a7a6a1c90138e096daf3 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -47,7 +47,7 @@ diff --git a/options.c b/options.c
  size_t bwlimit_writemax = 0;
  int ignore_existing = 0;
  int ignore_non_existing = 0;
-@@ -792,6 +793,7 @@ void usage(enum logcode F)
+@@ -791,6 +792,7 @@ void usage(enum logcode F)
    rprintf(F,"     --password-file=FILE    read daemon-access password from FILE\n");
    rprintf(F,"     --list-only             list the files instead of copying them\n");
    rprintf(F,"     --bwlimit=RATE          limit socket I/O bandwidth\n");
index 2c4c32992b618ac0d80a066aa9eca18d3071557d..1d667ec723d3f0c212cba4233e2128542522e619 100644 (file)
--- a/slp.diff
+++ b/slp.diff
@@ -10,11 +10,11 @@ To use this patch, run these commands for a successful build:
 TODO: the configure changes should abort if the user requests --enable-slp
 and we can't honor that request.
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -13,6 +13,8 @@ CFLAGS=@CFLAGS@
+@@ -14,6 +14,8 @@ CFLAGS=@CFLAGS@
  CPPFLAGS=@CPPFLAGS@
  EXEEXT=@EXEEXT@
  LDFLAGS=@LDFLAGS@
@@ -23,7 +23,7 @@ diff --git a/Makefile.in b/Makefile.in
  
  INSTALLCMD=@INSTALL@
  INSTALLMAN=@INSTALL@
-@@ -38,7 +40,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
+@@ -40,7 +42,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
  OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
        fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
  OBJS3=progress.o pipe.o
@@ -32,7 +32,7 @@ diff --git a/Makefile.in b/Makefile.in
  popt_OBJS=popt/findme.o  popt/popt.o  popt/poptconfig.o \
        popt/popthelp.o popt/poptparse.o
  OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
-@@ -74,7 +76,7 @@ install-strip:
+@@ -90,7 +92,7 @@ install-strip:
        $(MAKE) INSTALL_STRIP='-s' install
  
  rsync$(EXEEXT): $(OBJS)
@@ -61,7 +61,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -731,6 +731,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
+@@ -732,6 +732,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
      AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.])
  fi
  
@@ -149,7 +149,7 @@ diff --git a/main.c b/main.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -573,6 +573,7 @@ static void print_rsync_version(enum logcode f)
+@@ -572,6 +572,7 @@ static void print_rsync_version(enum logcode f)
        char const *links = "no ";
        char const *iconv = "no ";
        char const *ipv6 = "no ";
@@ -157,7 +157,7 @@ diff --git a/options.c b/options.c
        STRUCT_STAT *dumstat;
  
  #if SUBPROTOCOL_VERSION != 0
-@@ -609,6 +610,9 @@ static void print_rsync_version(enum logcode f)
+@@ -608,6 +609,9 @@ static void print_rsync_version(enum logcode f)
  #ifdef CAN_SET_SYMLINK_TIMES
        symtimes = "";
  #endif
@@ -167,7 +167,7 @@ diff --git a/options.c b/options.c
  
        rprintf(f, "%s  version %s  protocol version %d%s\n",
                RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -622,8 +626,8 @@ static void print_rsync_version(enum logcode f)
+@@ -621,8 +625,8 @@ static void print_rsync_version(enum logcode f)
                (int)(sizeof (int64) * 8));
        rprintf(f, "    %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
                got_socketpair, hardlinks, links, ipv6, have_inplace);
@@ -218,7 +218,7 @@ new file mode 100644
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -123,6 +123,15 @@ via the bf(--sockopts) command-line option.
+@@ -124,6 +124,15 @@ via the bf(--sockopts) command-line option.
  dit(bf(listen backlog)) You can override the default backlog value when the
  daemon listens for connections.  It defaults to 5.
  
@@ -234,7 +234,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  enddit()
  
  manpagesection(MODULE PARAMETERS)
-@@ -845,6 +854,7 @@ use chroot = yes
+@@ -846,6 +855,7 @@ use chroot = yes
  max connections = 4
  syslog facility = local5
  pid file = /var/run/rsyncd.pid
index 8be25d9436393eb6f7f9bd9856af81d68600744d..6cdfdf773747a5610a001800d96fda0d2283cc97 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 4e32c8bb10622df18d70ccd7adcf24782584bcc1..a85a58fcb15d871dce80bc249de79e8d38f8e072 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -21,7 +21,7 @@ diff --git a/options.c b/options.c
  
  /**
   * If 1, send the whole file as literal data rather than trying to
-@@ -729,6 +730,7 @@ void usage(enum logcode F)
+@@ -728,6 +729,7 @@ void usage(enum logcode F)
    rprintf(F,"     --existing              skip creating new files on receiver\n");
    rprintf(F,"     --ignore-existing       skip updating files that already exist on receiver\n");
    rprintf(F,"     --remove-source-files   sender removes synchronized files (non-dirs)\n");
@@ -37,7 +37,7 @@ diff --git a/options.c b/options.c
    {"no-backup",        0,  POPT_ARG_VAL,    &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 },
-@@ -2623,6 +2626,8 @@ void server_options(char **args, int *argc_p)
+@@ -2614,6 +2617,8 @@ void server_options(char **args, int *argc_p)
                                goto oom;
                        args[ac++] = arg;
                }
index af861355779c5e26bb01f8221a1e90885bd09d3a..743f93bc61b01ffc19573a33557c972dd12f2031 100644 (file)
@@ -30,7 +30,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -74,7 +74,7 @@ diff --git a/options.c b/options.c
  int daemon_bwlimit = 0;
  int bwlimit = 0;
  int fuzzy_basis = 0;
-@@ -165,6 +166,8 @@ char *logfile_name = NULL;
+@@ -164,6 +165,8 @@ char *logfile_name = NULL;
  char *logfile_format = NULL;
  char *stdout_format = NULL;
  char *password_file = NULL;
@@ -83,7 +83,7 @@ diff --git a/options.c b/options.c
  char *rsync_path = RSYNC_PATH;
  char *backup_dir = NULL;
  char backup_dir_buf[MAXPATHLEN];
-@@ -756,6 +759,7 @@ void usage(enum logcode F)
+@@ -755,6 +758,7 @@ void usage(enum logcode F)
    rprintf(F," -I, --ignore-times          don't skip files that match in size and mod-time\n");
    rprintf(F," -M, --remote-option=OPTION  send OPTION to the remote side only\n");
    rprintf(F,"     --size-only             skip files that match in size\n");
@@ -91,7 +91,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -798,6 +802,8 @@ void usage(enum logcode F)
+@@ -797,6 +801,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");
@@ -117,7 +117,7 @@ diff --git a/options.c b/options.c
  #ifdef HAVE_SETVBUF
    {"outbuf",           0,  POPT_ARG_STRING, &outbuf_mode, 0, 0, 0 },
  #endif
-@@ -2281,6 +2290,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2272,6 +2281,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                }
        }
  
@@ -134,7 +134,7 @@ diff --git a/options.c b/options.c
        if (files_from) {
                char *h, *p;
                int q;
-@@ -2632,6 +2651,25 @@ void server_options(char **args, int *argc_p)
+@@ -2623,6 +2642,25 @@ void server_options(char **args, int *argc_p)
        else if (missing_args == 1 && !am_sender)
                args[ac++] = "--ignore-missing-args";
  
@@ -351,7 +351,7 @@ diff --git a/rsync.yo b/rsync.yo
       --protocol=NUM          force an older protocol version to be used
       --iconv=CONVERT_SPEC    request charset conversion of filenames
       --checksum-seed=NUM     set block/file checksum seed (advanced)
-@@ -2504,6 +2507,33 @@ file previously generated by bf(--write-batch).
+@@ -2505,6 +2508,33 @@ file previously generated by bf(--write-batch).
  If em(FILE) is bf(-), the batch data will be read from standard input.
  See the "BATCH MODE" section for details.
  
index 2b4bda110fb846f6f327de292bba5d4652cc0072..23324ac08538d253abdc9c82ba1b33c80c8dc768 100644 (file)
@@ -18,7 +18,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
@@ -50,7 +50,7 @@ diff --git a/options.c b/options.c
  int preallocate_files = 0;
  int do_compression = 0;
  int def_compress_level = Z_DEFAULT_COMPRESSION;
-@@ -715,6 +716,7 @@ void usage(enum logcode F)
+@@ -714,6 +715,7 @@ void usage(enum logcode F)
    rprintf(F,"     --fake-super            store/recover privileged attrs using xattrs\n");
  #endif
    rprintf(F," -S, --sparse                handle sparse files efficiently\n");
@@ -66,7 +66,7 @@ diff --git a/options.c b/options.c
    {"preallocate",      0,  POPT_ARG_NONE,   &preallocate_files, 0, 0, 0},
    {"inplace",          0,  POPT_ARG_VAL,    &inplace, 1, 0, 0 },
    {"no-inplace",       0,  POPT_ARG_VAL,    &inplace, 0, 0, 0 },
-@@ -2555,6 +2558,12 @@ void server_options(char **args, int *argc_p)
+@@ -2546,6 +2549,12 @@ void server_options(char **args, int *argc_p)
                args[ac++] = arg;
        }
  
index 32f5409748b2edaa7550af9c0213f9dd0b149a15..cce45263c5c3de485308379ec411e1f5fc560b38 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
@@ -53,7 +53,7 @@ diff --git a/options.c b/options.c
  int max_delete = INT_MIN;
  OFF_T max_size = -1;
  OFF_T min_size = -1;
-@@ -792,6 +793,8 @@ void usage(enum logcode F)
+@@ -791,6 +792,8 @@ void usage(enum logcode F)
    rprintf(F,"     --password-file=FILE    read daemon-access password from FILE\n");
    rprintf(F,"     --list-only             list the files instead of copying them\n");
    rprintf(F,"     --bwlimit=RATE          limit socket I/O bandwidth\n");
@@ -116,7 +116,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2567,6 +2603,15 @@ void server_options(char **args, int *argc_p)
+@@ -2558,6 +2594,15 @@ void server_options(char **args, int *argc_p)
                args[ac++] = arg;
        }
  
@@ -144,7 +144,7 @@ diff --git a/rsync.yo b/rsync.yo
       --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
-@@ -2478,6 +2480,19 @@ files can show up as being rapidly sent when the data is quickly buffered,
+@@ -2479,6 +2481,19 @@ files can show up as being rapidly sent when the data is quickly buffered,
  while other can show up as very slow when the flushing of the output buffer
  occurs.  This may be fixed in a future version.
  
@@ -167,8 +167,8 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/util.c b/util.c
 --- a/util.c
 +++ b/util.c
-@@ -125,6 +125,133 @@ NORETURN void overflow_exit(const char *str)
-       exit_cleanup(RERR_MALLOC);
+@@ -114,6 +114,133 @@ void print_child_argv(const char *prefix, char **cmd)
+       rprintf(FCLIENT, " (%d args)\n", cnt);
  }
  
 +/* Allow the user to specify a time in the format yyyy-mm-ddThh:mm while
index 382f9e52ace2c4817d491b11fdbc34c2c622f92b..332282407d7b99fd9268db206a04b913d38893c8 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -69,7 +69,7 @@ diff --git a/flist.c b/flist.c
        if (*thisname)
                clean_fname(thisname, 0);
  
-@@ -2440,6 +2464,15 @@ struct file_list *recv_file_list(int f)
+@@ -2441,6 +2465,15 @@ struct file_list *recv_file_list(int f)
                        parse_name_map(usermap, True);
                if (groupmap)
                        parse_name_map(groupmap, False);
@@ -88,7 +88,7 @@ diff --git a/flist.c b/flist.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -191,6 +191,7 @@ int logfile_format_has_i = 0;
+@@ -190,6 +190,7 @@ int logfile_format_has_i = 0;
  int logfile_format_has_o_or_i = 0;
  int always_checksum = 0;
  int list_only = 0;
@@ -96,14 +96,14 @@ diff --git a/options.c b/options.c
  
  #define MAX_BATCH_NAME_LEN 256        /* Must be less than MAXPATHLEN-13 */
  char *batch_name = NULL;
-@@ -802,6 +803,7 @@ void usage(enum logcode F)
+@@ -801,6 +802,7 @@ void usage(enum logcode F)
  #ifdef ICONV_OPTION
    rprintf(F,"     --iconv=CONVERT_SPEC    request charset conversion of filenames\n");
  #endif
 +  rprintf(F,"     --tr=BAD/GOOD           transliterate filenames\n");
+   rprintf(F,"     --checksum-seed=NUM     set block/file checksum seed (advanced)\n");
    rprintf(F," -4, --ipv4                  prefer IPv4\n");
    rprintf(F," -6, --ipv6                  prefer IPv6\n");
-   rprintf(F,"     --version               print version number\n");
 @@ -1019,6 +1021,7 @@ static struct poptOption long_options[] = {
    {"iconv",            0,  POPT_ARG_STRING, &iconv_opt, 0, 0, 0 },
    {"no-iconv",         0,  POPT_ARG_NONE,   0, OPT_NO_ICONV, 0, 0 },
@@ -112,7 +112,7 @@ diff --git a/options.c b/options.c
    {"ipv4",            '4', POPT_ARG_VAL,    &default_af_hint, AF_INET, 0, 0 },
    {"ipv6",            '6', POPT_ARG_VAL,    &default_af_hint, AF_INET6, 0, 0 },
    {"8-bit-output",    '8', POPT_ARG_VAL,    &allow_8bit_chars, 1, 0, 0 },
-@@ -2327,6 +2330,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2318,6 +2321,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                }
        }
  
@@ -137,7 +137,7 @@ diff --git a/options.c b/options.c
        am_starting_up = 0;
  
        return 1;
-@@ -2740,6 +2761,12 @@ void server_options(char **args, int *argc_p)
+@@ -2731,6 +2752,12 @@ void server_options(char **args, int *argc_p)
        if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30))
                args[ac++] = "--no-implied-dirs";
  
@@ -161,7 +161,7 @@ diff --git a/rsync.yo b/rsync.yo
       --checksum-seed=NUM     set block/file checksum seed (advanced)
   -4, --ipv4                  prefer IPv4
   -6, --ipv6                  prefer IPv6
-@@ -2542,6 +2543,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -2543,6 +2544,22 @@ daemon uses the charset specified in its "charset" configuration parameter
  regardless of the remote charset you actually pass.  Thus, you may feel free to
  specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)).
  
index 220dd01d8e574e4f2a1fbc38a03898d953839ab3..bb04c8599510800fa4ebad2100e548fdba1b44fd 100644 (file)
@@ -6,7 +6,7 @@ To use this patch, run these commands for a successful build:
     ./configure                          (optional if already run)
     make
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 83505c51cbf73e43ad669c6a7195617faf8ed45a..bfe0a53ecf3d78ddd129cd843166153ddc084943 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
 This patch has not yet been tested by me (Wayne), but was provided
 Darryl Dixon.  Thanks!
 
-based-on: 1e9ee19a716b72454dfeab663802c626b81cdf2e
+based-on: 05fce6582a9192c58b2107153ec00056fd120d14
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -42,7 +42,7 @@ diff --git a/options.c b/options.c
  int preserve_links = 0;
  int preserve_hard_links = 0;
  int preserve_acls = 0;
-@@ -705,6 +706,7 @@ void usage(enum logcode F)
+@@ -704,6 +705,7 @@ void usage(enum logcode F)
    rprintf(F," -o, --owner                 preserve owner (super-user only)\n");
    rprintf(F," -g, --group                 preserve group\n");
    rprintf(F,"     --devices               preserve device files (super-user only)\n");
@@ -70,7 +70,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2740,6 +2748,9 @@ void server_options(char **args, int *argc_p)
+@@ -2731,6 +2739,9 @@ void server_options(char **args, int *argc_p)
        if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30))
                args[ac++] = "--no-implied-dirs";
  
@@ -104,8 +104,8 @@ diff --git a/receiver.c b/receiver.c
        OFF_T preallocated_len = 0;
  #endif
  
--      if (preallocate_files && fd != -1 && total_size > 0) {
-+      if (preallocate_files && fd != -1 && F_LENGTH(file) > 0) {
+-      if (preallocate_files && fd != -1 && total_size > 0 && (!inplace || total_size > size_r)) {
++      if (preallocate_files && fd != -1 && F_LENGTH(file) > 0 && (!inplace || F_LENGTH(file) > size_r)) {
                /* Try to preallocate enough space for file's eventual length.  Can
                 * reduce fragmentation on filesystems like ext4, xfs, and NTFS. */
 -              if (do_fallocate(fd, 0, total_size) == 0) {