Updated for the latest code.
authorWayne Davison <wayne@opencoder.net>
Mon, 25 May 2020 03:00:03 +0000 (20:00 -0700)
committerWayne Davison <wayne@opencoder.net>
Mon, 25 May 2020 03:00:03 +0000 (20:00 -0700)
41 files changed:
acls.diff
adaptec_acl_mods.diff
backup-deleted.diff
backup-dir-dels.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
congestion.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
kerberos.diff
link-by-hash.diff
lz4.diff
nameconverter.diff
netgroup-auth.diff
omit-dir-changes.diff
slow-down.diff
slp.diff
soften-links.diff
source-backup.diff
source-filter_dest-filter.diff
sparse-block.diff
ssh-4-6-options.diff
time-limit.diff
transliterate.diff
tru64.diff
xattrs.diff
xxhash.diff

index 2a884382960fc0d17fbf9fb2500a497084697900..866d810efd3c20252d62fc8428d0fcc01bdbc220 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/acls.c b/acls.c
 --- a/acls.c
 +++ b/acls.c
@@ -325,7 +325,7 @@ diff --git a/acls.c b/acls.c
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -457,13 +457,6 @@ void setup_protocol(int f_out,int f_in)
+@@ -497,13 +497,6 @@ void setup_protocol(int f_out,int f_in)
        if (protocol_version < 30) {
                if (append_mode == 1)
                        append_mode = 2;
index dd926a051759ad227c24fa5f0c7a84dd3dc71c3c..44bfa38e7eb61832d7de7e188ba782e1fcf0c039 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index 32919da16b9c6679b95fd3dab9ca6b4422ff4838..0c4ee9c8d3a45eeb5aa026fc8ae0a163245e2ab3 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -49,7 +49,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -1020,7 +1021,8 @@ static struct poptOption long_options[] = {
+@@ -1024,7 +1025,8 @@ static struct poptOption long_options[] = {
    {"no-i",             0,  POPT_ARG_VAL,    &itemize_changes, 0, 0, 0 },
    {"bwlimit",          0,  POPT_ARG_STRING, &bwlimit_arg, OPT_BWLIMIT, 0, 0 },
    {"no-bwlimit",       0,  POPT_ARG_VAL,    &bwlimit, 0, 0, 0 },
@@ -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 },
-@@ -2751,6 +2753,10 @@ void server_options(char **args, int *argc_p)
+@@ -2776,6 +2778,10 @@ void server_options(char **args, int *argc_p)
        }
  
        if (am_sender) {
@@ -114,7 +114,7 @@ diff --git a/rsync.yo b/rsync.yo
       --backup-dir=DIR        make backups into hierarchy based in DIR
       --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
   -u, --update                skip files that are newer on the receiver
-@@ -801,6 +802,11 @@ in the list so that it has a high enough priority to be effective (e.g., if
+@@ -805,6 +806,11 @@ in the list so that it has a high enough priority to be effective (e.g., if
  your rules specify a trailing inclusion/exclusion of '*', the auto-added
  rule would never be reached).
  
index c2618eb6d8f0b6cad61547ae1f306cfce54fda91..9bff4d3df380dc8a80e5d648263cb4b47cb4d426 100644 (file)
@@ -238,7 +238,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -1025,7 +1033,9 @@ static struct poptOption long_options[] = {
+@@ -1029,7 +1037,9 @@ static struct poptOption long_options[] = {
    {"backup-deleted",   0,  POPT_ARG_VAL,    &make_backups, 1, 0, 0 },
    {"no-backup",        0,  POPT_ARG_VAL,    &make_backups, 0, 0, 0 },
    {"backup-dir",       0,  POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
@@ -248,7 +248,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 },
-@@ -2228,6 +2238,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2243,6 +2253,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);
@@ -257,7 +257,7 @@ diff --git a/options.c b/options.c
        }
        if (daemon_filter_list.head && !am_sender) {
                filter_rule_list *elp = &daemon_filter_list;
-@@ -2249,6 +2261,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2264,6 +2276,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        if (check_filter(elp, FLOG, dir, 1) < 0)
                                goto options_rejected;
                }
@@ -272,7 +272,7 @@ diff --git a/options.c b/options.c
        }
  
        if (!backup_suffix)
-@@ -2260,6 +2280,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2275,6 +2295,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        backup_suffix);
                return 0;
        }
@@ -293,7 +293,7 @@ diff --git a/options.c b/options.c
        if (backup_dir) {
                size_t len;
                while (*backup_dir == '.' && backup_dir[1] == '/')
-@@ -2295,6 +2329,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2310,6 +2344,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);
        }
@@ -328,7 +328,7 @@ diff --git a/options.c b/options.c
  
        if (preserve_times) {
                preserve_times = PRESERVE_FILE_TIMES;
-@@ -2737,6 +2799,10 @@ void server_options(char **args, int *argc_p)
+@@ -2752,6 +2814,10 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--backup-dir";
                args[ac++] = backup_dir;
        }
@@ -339,7 +339,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) {
-@@ -2745,6 +2811,14 @@ void server_options(char **args, int *argc_p)
+@@ -2760,6 +2826,14 @@ void server_options(char **args, int *argc_p)
                        goto oom;
                args[ac++] = arg;
        }
index 1f2d26a83681307d365564bac8808f16f0601b0e..f63e1a6c4e708a0a18ae0f4e20366f7de18742cf 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
index aef8325fea2c486c65a602250f7a87e4b1df8375..65ad2f9cdf8dafb5b01514c9b40fb8270402c252 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -108,7 +108,7 @@ diff --git a/flist.c b/flist.c
  static void output_flist(struct file_list *flist);
  
  void init_flist(void)
-@@ -327,6 +349,238 @@ static void flist_done_allocating(struct file_list *flist)
+@@ -328,6 +350,238 @@ static void flist_done_allocating(struct file_list *flist)
                flist->pool_boundary = ptr;
  }
  
@@ -347,7 +347,7 @@ diff --git a/flist.c b/flist.c
  /* Call this with EITHER (1) "file, NULL, 0" to chdir() to the file's
   * F_PATHNAME(), or (2) "NULL, dir, dirlen" to chdir() to the supplied dir,
   * with dir == NULL taken to be the starting directory, and dirlen < 0
-@@ -1155,7 +1409,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1156,7 +1410,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                              STRUCT_STAT *stp, int flags, int filter_level)
  {
        static char *lastdir;
@@ -356,7 +356,7 @@ diff --git a/flist.c b/flist.c
        struct file_struct *file;
        char thisname[MAXPATHLEN];
        char linkname[MAXPATHLEN];
-@@ -1301,9 +1555,16 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1302,9 +1556,16 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                        memcpy(lastdir, thisname, len);
                        lastdir[len] = '\0';
                        lastdir_len = len;
@@ -374,7 +374,7 @@ diff --git a/flist.c b/flist.c
        basename_len = strlen(basename) + 1; /* count the '\0' */
  
  #ifdef SUPPORT_LINKS
-@@ -1321,11 +1582,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1322,11 +1583,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                extra_len += EXTRA_LEN;
  #endif
  
@@ -388,7 +388,7 @@ diff --git a/flist.c b/flist.c
  
  #if EXTRA_ROUNDING > 0
        if (extra_len & (EXTRA_ROUNDING * EXTRA_LEN))
-@@ -1412,8 +1670,14 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1413,8 +1671,14 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                return NULL;
        }
  
@@ -405,7 +405,7 @@ diff --git a/flist.c b/flist.c
  
        if (unsort_ndx)
                F_NDX(file) = stats.num_dirs;
-@@ -2620,7 +2884,7 @@ struct file_list *recv_file_list(int f, int dir_ndx)
+@@ -2621,7 +2885,7 @@ struct file_list *recv_file_list(int f, int dir_ndx)
        /* The --relative option sends paths with a leading slash, so we need
         * to specify the strip_root option here.  We rejected leading slashes
         * for a non-relative transfer in recv_file_entry(). */
@@ -414,7 +414,7 @@ diff --git a/flist.c b/flist.c
  
        if (protocol_version < 30) {
                /* Recv the io_error flag */
-@@ -2871,7 +3135,7 @@ void flist_free(struct file_list *flist)
+@@ -2872,7 +3136,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. */
@@ -423,7 +423,7 @@ diff --git a/flist.c b/flist.c
  {
        char fbuf[MAXPATHLEN];
        int i, prev_i;
-@@ -2922,7 +3186,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2923,7 +3187,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. */
@@ -432,7 +432,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;
-@@ -2938,8 +3202,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2939,8 +3203,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
                        } else
                                keep = j, drop = i;
  
@@ -443,7 +443,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);
-@@ -2961,7 +3225,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2962,7 +3226,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
        }
        flist->high = prev_i;
  
@@ -647,17 +647,17 @@ diff --git a/options.c b/options.c
 -      OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG,
 +      OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, OPT_SUMFILES,
        OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
+       OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
        OPT_SERVER, OPT_REFUSED_BASE = 9000};
-@@ -986,6 +988,7 @@ static struct poptOption long_options[] = {
-   {"checksum",        'c', POPT_ARG_VAL,    &always_checksum, 1, 0, 0 },
-   {"no-checksum",      0,  POPT_ARG_VAL,    &always_checksum, 0, 0, 0 },
+@@ -988,6 +990,7 @@ static struct poptOption long_options[] = {
    {"no-c",             0,  POPT_ARG_VAL,    &always_checksum, 0, 0, 0 },
+   {"checksum-choice",  0,  POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
+   {"cc",               0,  POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
 +  {"sumfiles",         0,  POPT_ARG_STRING, 0, OPT_SUMFILES, 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 },
    {"copy-dest",        0,  POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
-@@ -1793,6 +1796,23 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1810,6 +1813,23 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        }
                        break;
  
@@ -681,7 +681,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);
-@@ -2073,6 +2093,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2088,6 +2108,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        }
  #endif
  
@@ -730,7 +730,7 @@ diff --git a/rsync.yo b/rsync.yo
   -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
       --no-OPTION             turn off an implied OPTION (e.g. --no-D)
   -r, --recursive             recurse into directories
-@@ -641,9 +642,9 @@ uses a "quick check" that (by default) checks if each file's size and time
+@@ -645,9 +646,9 @@ uses a "quick check" that (by default) checks if each file's size and time
  of last modification match between the sender and receiver.  This option
  changes this to compare a 128-bit checksum for each file that has a
  matching size.  Generating the checksums means that both sides will expend
@@ -743,7 +743,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  The sending side generates its checksums while it is doing the file-system
  scan that builds the list of the available files.  The receiver generates
-@@ -651,6 +652,8 @@ its checksums when it is scanning for changed files, and will checksum any
+@@ -655,6 +656,8 @@ its checksums when it is scanning for changed files, and will checksum any
  file that has the same size as the corresponding sender's file:  files with
  either a changed size or a changed checksum are selected for transfer.
  
@@ -752,7 +752,7 @@ diff --git a/rsync.yo b/rsync.yo
  Note that rsync always verifies that each em(transferred) file was
  correctly reconstructed on the receiving side by checking a whole-file
  checksum that is generated as the file is transferred, but that
-@@ -661,6 +664,36 @@ The checksum used is auto-negotiated between the client and the server, but
+@@ -665,6 +668,36 @@ The checksum used is auto-negotiated between the client and the server, but
  can be overridden using either the bf(--checksum-choice) option or an
  environment variable that is discussed in that option's section.
  
index d14e8d58fd948779a13ff44d015cea183c09a519..93e9a5cee17d163faa906963b6506b21921f40fd 100644 (file)
@@ -53,7 +53,7 @@ diff --git a/flist.c b/flist.c
  } *csum_cache = NULL;
  
  static void flist_sort_and_clean(struct file_list *flist, int flags);
-@@ -349,7 +358,79 @@ static void flist_done_allocating(struct file_list *flist)
+@@ -350,7 +359,79 @@ static void flist_done_allocating(struct file_list *flist)
                flist->pool_boundary = ptr;
  }
  
@@ -134,7 +134,7 @@ diff --git a/flist.c b/flist.c
  {
        int slot, slots = am_sender ? 1 : basis_dir_cnt + 1;
  
-@@ -363,6 +444,9 @@ void reset_checksum_cache()
+@@ -364,6 +445,9 @@ void reset_checksum_cache()
                struct file_list *flist = csum_cache[slot].flist;
  
                if (flist) {
@@ -144,7 +144,7 @@ diff --git a/flist.c b/flist.c
                        /* Reset the pool memory and empty the file-list array. */
                        pool_free_old(flist->file_pool,
                                      pool_boundary(flist->file_pool, 0));
-@@ -373,6 +457,10 @@ void reset_checksum_cache()
+@@ -374,6 +458,10 @@ void reset_checksum_cache()
                flist->low = 0;
                flist->high = -1;
                flist->next = NULL;
@@ -155,7 +155,7 @@ diff --git a/flist.c b/flist.c
        }
  }
  
-@@ -380,7 +468,7 @@ void reset_checksum_cache()
+@@ -381,7 +469,7 @@ void reset_checksum_cache()
  static int add_checksum(struct file_list *flist, const char *dirname,
                        const char *basename, int basename_len, OFF_T file_length,
                        time_t mtime, uint32 ctime, uint32 inode,
@@ -164,7 +164,7 @@ diff --git a/flist.c b/flist.c
  {
        struct file_struct *file;
        int alloc_len, extra_len;
-@@ -397,7 +485,7 @@ static int add_checksum(struct file_list *flist, const char *dirname,
+@@ -398,7 +486,7 @@ static int add_checksum(struct file_list *flist, const char *dirname,
        if (extra_len & (EXTRA_ROUNDING * EXTRA_LEN))
                extra_len = (extra_len | (EXTRA_ROUNDING * EXTRA_LEN)) + EXTRA_LEN;
  #endif
@@ -173,7 +173,7 @@ diff --git a/flist.c b/flist.c
        bp = pool_alloc(flist->file_pool, alloc_len, "add_checksum");
  
        memset(bp, 0, extra_len + FILE_STRUCT_LEN);
-@@ -406,7 +494,14 @@ static int add_checksum(struct file_list *flist, const char *dirname,
+@@ -407,7 +495,14 @@ static int add_checksum(struct file_list *flist, const char *dirname,
        bp += FILE_STRUCT_LEN;
  
        memcpy(bp, basename, basename_len);
@@ -188,7 +188,7 @@ diff --git a/flist.c b/flist.c
        file->mode = S_IFREG;
        file->modtime = mtime;
        file->len32 = (uint32)file_length;
-@@ -435,10 +530,11 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
+@@ -436,10 +531,11 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
        char line[MAXPATHLEN+1024], fbuf[MAXPATHLEN], sum[MAX_DIGEST_LEN];
        FILE *fp;
        char *cp;
@@ -201,7 +201,7 @@ diff --git a/flist.c b/flist.c
        int dlen = dirname ? strlcpy(fbuf, dirname, sizeof fbuf) : 0;
  
        if (dlen >= (int)(sizeof fbuf - 1 - RSYNCSUMS_LEN))
-@@ -459,7 +555,7 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
+@@ -460,7 +556,7 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
        while (fgets(line, sizeof line, fp)) {
                cp = line;
                if (checksum_type == 5) {
@@ -210,7 +210,7 @@ diff --git a/flist.c b/flist.c
                        if (*cp == '=')
                                while (*++cp == '=') {}
                        else
-@@ -470,7 +566,14 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
+@@ -471,7 +567,14 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
                }
  
                if (*cp == '=') {
@@ -226,7 +226,7 @@ diff --git a/flist.c b/flist.c
                } else {
                        for (i = 0; i < flist_csum_len*2; i++, cp++) {
                                int x;
-@@ -488,13 +591,14 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
+@@ -489,13 +592,14 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
                                else
                                        sum[i/2] = x << 4;
                        }
@@ -242,7 +242,7 @@ diff --git a/flist.c b/flist.c
                        if (*cp == '=')
                                while (*++cp == '=') {}
                        else
-@@ -544,24 +648,112 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
+@@ -545,24 +649,112 @@ static void read_checksums(int slot, struct file_list *flist, const char *dirnam
                        continue;
  
                strlcpy(fbuf+dlen, cp, sizeof fbuf - dlen);
@@ -357,7 +357,7 @@ diff --git a/flist.c b/flist.c
                read_checksums(slot, flist, file->dirname);
        }
  
-@@ -573,12 +765,31 @@ void get_cached_checksum(int slot, const char *fname, struct file_struct *file,
+@@ -574,12 +766,31 @@ void get_cached_checksum(int slot, const char *fname, struct file_struct *file,
                 && (checksum_files & CSF_LAX
                  || (F_CTIME(fp) == (uint32)stp->st_ctime
                   && F_INODE(fp) == (uint32)stp->st_ino))) {
@@ -390,7 +390,7 @@ diff --git a/flist.c b/flist.c
  }
  
  /* Call this with EITHER (1) "file, NULL, 0" to chdir() to the file's
-@@ -1510,6 +1721,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1511,6 +1722,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
        if (is_excluded(thisname, S_ISDIR(st.st_mode) != 0, filter_level)) {
                if (ignore_perishable)
                        non_perishable_cnt++;
@@ -399,7 +399,7 @@ diff --git a/flist.c b/flist.c
                return NULL;
        }
  
-@@ -1556,13 +1769,13 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1557,13 +1770,13 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                        lastdir[len] = '\0';
                        lastdir_len = len;
                        if (checksum_files && am_sender && flist)
@@ -415,7 +415,7 @@ diff --git a/flist.c b/flist.c
                }
        }
        basename_len = strlen(basename) + 1; /* count the '\0' */
-@@ -1672,7 +1885,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1673,7 +1886,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
  
        if (always_checksum && am_sender && S_ISREG(st.st_mode)) {
                if (flist && checksum_files)
@@ -424,7 +424,7 @@ diff --git a/flist.c b/flist.c
                else
                        file_checksum(thisname, &st, tmp_sum);
                if (sender_keeps_checksum)
-@@ -2051,6 +2264,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -2052,6 +2265,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
  
        closedir(d);
  
@@ -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". */
-@@ -2720,6 +2936,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2721,6 +2937,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
        }
  
@@ -547,7 +547,7 @@ diff --git a/loadparm.c b/loadparm.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -1798,7 +1798,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1815,7 +1815,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
  
                case OPT_SUMFILES:
                        arg = poptGetOptArg(pc);
@@ -608,7 +608,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -673,9 +673,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
+@@ -677,9 +677,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
  
  The MODE value is either "lax", for relaxed checking (which compares size
  and mtime), "strict" (which also compares ctime and inode), or "none" to
index 5f61f7109d694e42d7fce024e2f1bc11210becbc..2267974f48ec4547d98672fa9006775989ef051f 100644 (file)
@@ -8,11 +8,11 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
-@@ -1322,7 +1322,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1323,7 +1323,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
  #endif
  
        if (always_checksum && am_sender && S_ISREG(st.st_mode)) {
index b16889acc9a3fbd67c4a55358c548f6e71e921d5..afc6887f95e967748b406cc2b854a437072bf520 100644 (file)
@@ -27,7 +27,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
 +++ b/loadparm.c
@@ -125,7 +125,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --blocking-io           use blocking I/O for the remote shell\n");
    rprintf(F,"     --stats                 give some file-transfer stats\n");
    rprintf(F," -8, --8-bit-output          leave high-bit chars unescaped in output\n");
-@@ -1068,6 +1072,8 @@ static struct poptOption long_options[] = {
+@@ -1072,6 +1076,8 @@ static struct poptOption long_options[] = {
  #endif
    {"remote-option",   'M', POPT_ARG_STRING, 0, 'M', 0, 0 },
    {"protocol",         0,  POPT_ARG_INT,    &protocol_version, 0, 0, 0 },
@@ -134,7 +134,7 @@ diff --git a/options.c b/options.c
    {"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 },
-@@ -1095,6 +1101,8 @@ static void daemon_usage(enum logcode F)
+@@ -1099,6 +1105,8 @@ static void daemon_usage(enum logcode F)
    rprintf(F,"     --log-file=FILE         override the \"log file\" setting\n");
    rprintf(F,"     --log-file-format=FMT   override the \"log format\" setting\n");
    rprintf(F,"     --sockopts=OPTIONS      specify custom TCP options\n");
index 778283ad2bb6bd89b613f6e487d39ccb04ce96ba..36d22cedb7858f0ac1ca0cf994a1c51b65d37993 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -48,7 +48,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --specials              preserve special files\n");
    rprintf(F," -D                          same as --devices --specials\n");
    rprintf(F," -t, --times                 preserve modification times\n");
-@@ -911,6 +913,7 @@ static struct poptOption long_options[] = {
+@@ -912,6 +914,7 @@ static struct poptOption long_options[] = {
    {"no-D",             0,  POPT_ARG_NONE,   0, OPT_NO_D, 0, 0 },
    {"devices",          0,  POPT_ARG_VAL,    &preserve_devices, 1, 0, 0 },
    {"no-devices",       0,  POPT_ARG_VAL,    &preserve_devices, 0, 0, 0 },
@@ -56,7 +56,7 @@ diff --git a/options.c b/options.c
    {"write-devices",    0,  POPT_ARG_VAL,    &write_devices, 1, 0, 0 },
    {"no-write-devices", 0,  POPT_ARG_VAL,    &write_devices, 0, 0, 0 },
    {"specials",         0,  POPT_ARG_VAL,    &preserve_specials, 1, 0, 0 },
-@@ -2919,6 +2922,9 @@ void server_options(char **args, int *argc_p)
+@@ -2940,6 +2943,9 @@ void server_options(char **args, int *argc_p)
        else if (remove_source_files)
                args[ac++] = "--remove-sent-files";
  
index a54ecff16bdd808556130ac6c8e0235237a9f1de..610dd94a98b59a5437715b91353e059efe3596b6 100644 (file)
@@ -29,7 +29,7 @@ diff --git a/compat.c b/compat.c
  
  int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
  int sender_symlink_iconv = 0; /* sender should convert symlink content */
-@@ -390,6 +391,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -430,6 +431,8 @@ void setup_protocol(int f_out,int f_in)
         * aligned for direct int64-pointer memory access. */
        if (preserve_atimes)
                atimes_ndx = (file_extra_cnt += EXTRA64_CNT);
@@ -38,7 +38,7 @@ diff --git a/compat.c b/compat.c
        if (am_sender) /* This is most likely in the in64 union as well. */
                pathname_ndx = (file_extra_cnt += PTR_EXTRA_CNT);
        else
-@@ -555,6 +558,10 @@ void setup_protocol(int f_out,int f_in)
+@@ -595,6 +598,10 @@ void setup_protocol(int f_out,int f_in)
                want_xattr_optim = protocol_version >= 31 && !(compat_flags & CF_AVOID_XATTR_OPTIM);
                proper_seed_order = compat_flags & CF_CHKSUM_SEED_FIX ? 1 : 0;
                xfer_flags_as_varint = compat_flags & CF_VARINT_FLIST_FLAGS ? 1 : 0;
@@ -60,7 +60,7 @@ diff --git a/flist.c b/flist.c
  extern int relative_paths;
  extern int implied_dirs;
  extern int ignore_perishable;
-@@ -383,6 +384,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -384,6 +385,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
                            int ndx, int first_ndx)
  {
        static time_t modtime, atime;
@@ -70,7 +70,7 @@ diff --git a/flist.c b/flist.c
        static mode_t mode;
  #ifdef SUPPORT_FILEFLAGS
        static uint32 fileflags;
-@@ -499,6 +503,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -500,6 +504,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
                else
                        atime = F_ATIME(file);
        }
@@ -84,7 +84,7 @@ diff --git a/flist.c b/flist.c
  
  #ifdef SUPPORT_HARD_LINKS
        if (tmp_dev != -1) {
-@@ -586,6 +597,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -587,6 +598,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
        }
        if (xflags & XMIT_MOD_NSEC)
                write_varint(f, F_MOD_NSEC(file));
@@ -95,7 +95,7 @@ diff --git a/flist.c b/flist.c
        if (!(xflags & XMIT_SAME_MODE))
                write_int(f, to_wire_mode(mode));
  #ifdef SUPPORT_FILEFLAGS
-@@ -682,6 +697,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -683,6 +698,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
  static struct file_struct *recv_file_entry(int f, struct file_list *flist, int xflags)
  {
        static int64 modtime, atime;
@@ -105,7 +105,7 @@ diff --git a/flist.c b/flist.c
        static mode_t mode;
  #ifdef SUPPORT_FILEFLAGS
        static uint32 fileflags;
-@@ -795,6 +813,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -796,6 +814,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                        mode = first->mode;
                        if (atimes_ndx && !S_ISDIR(mode))
                                atime = F_ATIME(first);
@@ -116,7 +116,7 @@ diff --git a/flist.c b/flist.c
  #ifdef SUPPORT_FILEFLAGS
                        if (preserve_fileflags)
                                fileflags = F_FFLAGS(first);
-@@ -835,6 +857,21 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -836,6 +858,21 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                modtime_nsec = read_varint(f);
        else
                modtime_nsec = 0;
@@ -138,7 +138,7 @@ diff --git a/flist.c b/flist.c
        if (!(xflags & XMIT_SAME_MODE))
                mode = from_wire_mode(read_int(f));
        if (atimes_ndx && !S_ISDIR(mode) && !(xflags & XMIT_SAME_ATIME)) {
-@@ -1024,6 +1061,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -1025,6 +1062,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
        }
        if (atimes_ndx && !S_ISDIR(mode))
                F_ATIME(file) = atime;
@@ -149,7 +149,7 @@ diff --git a/flist.c b/flist.c
        if (unsort_ndx)
                F_NDX(file) = flist->used + flist->ndx_start;
  
-@@ -1427,6 +1468,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1428,6 +1469,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                file->flags |= FLAG_OWNED_BY_US;
        if (atimes_ndx && !S_ISDIR(file->mode))
                F_ATIME(file) = st.st_atime;
@@ -328,7 +328,7 @@ diff --git a/options.c b/options.c
    rprintf(F," -O, --omit-dir-times        omit directories from --times\n");
    rprintf(F," -J, --omit-link-times       omit symlinks from --times\n");
    rprintf(F,"     --super                 receiver attempts super-user activities\n");
-@@ -911,6 +919,11 @@ static struct poptOption long_options[] = {
+@@ -912,6 +920,11 @@ static struct poptOption long_options[] = {
    {"no-U",             0,  POPT_ARG_VAL,    &preserve_atimes, 0, 0, 0 },
    {"open-noatime",     0,  POPT_ARG_VAL,    &open_noatime, 1, 0, 0 },
    {"no-open-noatime",  0,  POPT_ARG_VAL,    &open_noatime, 0, 0, 0 },
@@ -340,7 +340,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 },
-@@ -2609,6 +2622,10 @@ void server_options(char **args, int *argc_p)
+@@ -2624,6 +2637,10 @@ void server_options(char **args, int *argc_p)
                if (preserve_atimes > 1)
                        argstr[x++] = 'U';
        }
@@ -473,7 +473,7 @@ diff --git a/rsync.yo b/rsync.yo
   -O, --omit-dir-times        omit directories from --times
   -J, --omit-link-times       omit symlinks from --times
       --super                 receiver attempts super-user activities
-@@ -1290,6 +1291,9 @@ flag then rsync will silently ignore this option. Note also that some
+@@ -1294,6 +1295,9 @@ flag then rsync will silently ignore this option. Note also that some
  filesystems are mounted to avoid updating the atime on read access even
  without the O_NOATIME flag being set.
  
@@ -483,7 +483,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(-O, --omit-dir-times)) This tells rsync to omit directories when
  it is preserving modification times (see bf(--times)).  If NFS is sharing
  the directories on the receiving side, it is a good idea to use bf(-O).
-@@ -2285,7 +2289,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -2316,7 +2320,7 @@ with older versions of rsync, but that also turns on the output of other
  verbose messages).
  
  The "%i" escape has a cryptic output that is 11 letters long.  The general
@@ -492,7 +492,7 @@ diff --git a/rsync.yo b/rsync.yo
  type of update being done, bf(X) is replaced by the file-type, and the
  other letters represent attributes that may be output if they are being
  modified.
-@@ -2347,6 +2351,8 @@ quote(itemization(
+@@ -2378,6 +2382,8 @@ quote(itemization(
    when a symlink or directory is updated.
    it() The bf(a) means that the ACL information changed.
    it() The bf(x) means that the extended attribute information changed.
index 6acab24dbb31d93759834406ee46eb974376fadb..9c63f90b72cd4bf061132c2755e2493a88d9343c 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
index 246b17459e91194ca07fdcd085ebf915741184b7..78cb87d2044006c6b4cb1c7e12935720365c096a 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -55,7 +55,7 @@ diff --git a/options.c b/options.c
    rprintf(F," -@, --modify-window=NUM     set the accuracy for mod-time comparisons\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");
-@@ -938,6 +940,7 @@ static struct poptOption long_options[] = {
+@@ -939,6 +941,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 },
@@ -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 },
-@@ -2802,6 +2805,9 @@ void server_options(char **args, int *argc_p)
+@@ -2827,6 +2830,9 @@ void server_options(char **args, int *argc_p)
        else if (missing_args == 1 && !am_sender)
                args[ac++] = "--ignore-missing-args";
  
@@ -84,7 +84,7 @@ diff --git a/rsync.yo b/rsync.yo
   -@, --modify-window=NUM     set the accuracy for mod-time comparisons
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
-@@ -617,6 +618,12 @@ time to just looking for files that have changed in size.  This is useful
+@@ -621,6 +622,12 @@ time to just looking for files that have changed in size.  This is useful
  when starting to use rsync after using another mirroring system which may
  not preserve timestamps exactly.
  
diff --git a/db.diff b/db.diff
index 9468773ec9a5950e613d803b3cb66f674ab0cb83..38c5d57948c60030d561abfaffe2008dae9e805d 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/.gitignore b/.gitignore
 --- a/.gitignore
 +++ b/.gitignore
@@ -2220,7 +2220,7 @@ diff --git a/flist.c b/flist.c
  extern int eol_nulls;
  extern int atimes_ndx;
  extern int relative_paths;
-@@ -1321,11 +1322,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1322,11 +1323,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                extra_len += EXTRA_LEN;
  #endif
  
@@ -2234,7 +2234,7 @@ diff --git a/flist.c b/flist.c
  
  #if EXTRA_ROUNDING > 0
        if (extra_len & (EXTRA_ROUNDING * EXTRA_LEN))
-@@ -1412,8 +1410,12 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1413,8 +1411,12 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
                return NULL;
        }
  
@@ -2249,7 +2249,7 @@ diff --git a/flist.c b/flist.c
  
        if (unsort_ndx)
                F_NDX(file) = stats.num_dirs;
-@@ -2088,6 +2090,9 @@ void send_extra_file_list(int f, int at_least)
+@@ -2089,6 +2091,9 @@ void send_extra_file_list(int f, int at_least)
    finish:
        if (io_error != save_io_error && protocol_version == 30 && !ignore_errors)
                send_msg_int(MSG_IO_ERROR, io_error);
@@ -2259,7 +2259,7 @@ diff --git a/flist.c b/flist.c
  }
  
  struct file_list *send_file_list(int f, int argc, char *argv[])
-@@ -2111,6 +2116,13 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2112,6 +2117,13 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                     | (eol_nulls || reading_remotely ? RL_EOL_NULLS : 0);
        int implied_dot_dir = 0;
  
@@ -2273,7 +2273,7 @@ diff --git a/flist.c b/flist.c
        rprintf(FLOG, "building file list\n");
        if (show_filelist_progress)
                start_filelist_progress("building file list");
-@@ -2456,6 +2468,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2457,6 +2469,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
        }
  
@@ -2592,12 +2592,12 @@ diff --git a/options.c b/options.c
        OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG,
 +      OPT_NO_DB, OPT_DBONLY,
        OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
+       OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
        OPT_SERVER, OPT_REFUSED_BASE = 9000};
-@@ -986,6 +1005,10 @@ static struct poptOption long_options[] = {
-   {"checksum",        'c', POPT_ARG_VAL,    &always_checksum, 1, 0, 0 },
-   {"no-checksum",      0,  POPT_ARG_VAL,    &always_checksum, 0, 0, 0 },
+@@ -988,6 +1007,10 @@ static struct poptOption long_options[] = {
    {"no-c",             0,  POPT_ARG_VAL,    &always_checksum, 0, 0, 0 },
+   {"checksum-choice",  0,  POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
+   {"cc",               0,  POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
 +  {"db",               0,  POPT_ARG_STRING, &db_config, 0, 0, 0 },
 +  {"no-db",            0,  POPT_ARG_NONE,   0, OPT_NO_DB, 0, 0 },
 +  {"db-lax",           0,  POPT_ARG_VAL,    &db_lax, 1, 0, 0 },
@@ -2605,7 +2605,7 @@ diff --git a/options.c b/options.c
    {"block-size",      'B', POPT_ARG_LONG,   &block_size, 0, 0, 0 },
    {"compare-dest",     0,  POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
    {"copy-dest",        0,  POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
-@@ -1077,6 +1100,9 @@ static struct poptOption long_options[] = {
+@@ -1081,6 +1104,9 @@ static struct poptOption long_options[] = {
    {"dparam",           0,  POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
    {"detach",           0,  POPT_ARG_NONE,   0, OPT_DAEMON, 0, 0 },
    {"no-detach",        0,  POPT_ARG_NONE,   0, OPT_DAEMON, 0, 0 },
@@ -2615,7 +2615,7 @@ diff --git a/options.c b/options.c
    {0,0,0,0, 0, 0, 0}
  };
  
-@@ -1130,6 +1156,50 @@ static struct poptOption long_daemon_options[] = {
+@@ -1134,6 +1160,50 @@ static struct poptOption long_daemon_options[] = {
    {0,0,0,0, 0, 0, 0}
  };
  
@@ -2666,7 +2666,7 @@ diff --git a/options.c b/options.c
  
  static char err_buf[200];
  
-@@ -1253,6 +1323,8 @@ static void set_refuse_options(void)
+@@ -1257,6 +1327,8 @@ static void set_refuse_options(void)
                        parse_one_refuse_match(0, "iconv", list_end);
  #endif
                parse_one_refuse_match(0, "log-file*", list_end);
@@ -2675,7 +2675,7 @@ diff --git a/options.c b/options.c
        }
  
        /* Now we use the descrip values to actually mark the options for refusal. */
-@@ -1377,6 +1449,102 @@ static void create_refuse_error(int which)
+@@ -1381,6 +1453,102 @@ static void create_refuse_error(int which)
        }
  }
  
@@ -2778,7 +2778,7 @@ diff --git a/options.c b/options.c
  /* This is used to make sure that --daemon & --server cannot be aliased to
   * something else. These options have always disabled popt aliases for the
   * parsing of a daemon or server command-line, but we have to make sure that
-@@ -1415,6 +1583,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1419,6 +1587,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                return 0;
        }
  
@@ -2791,7 +2791,7 @@ diff --git a/options.c b/options.c
        set_refuse_options();
  
  #ifdef ICONV_OPTION
-@@ -1536,6 +1710,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1540,6 +1714,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        am_daemon = 1;
                        return 1;
  
@@ -2804,7 +2804,7 @@ diff --git a/options.c b/options.c
                case OPT_MODIFY_WINDOW:
                        /* The value has already been set by popt, but
                         * we need to remember that we're using a
-@@ -1610,6 +1790,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1614,6 +1794,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        preserve_devices = preserve_specials = 0;
                        break;
  
@@ -2951,7 +2951,7 @@ diff --git a/rsync.h b/rsync.h
  #define NDX_DONE -1
  #define NDX_FLIST_EOF -2
  #define NDX_DEL_STATS -3
-@@ -1330,7 +1334,8 @@ extern short info_levels[], debug_levels[];
+@@ -1334,7 +1338,8 @@ extern short info_levels[], debug_levels[];
  #define DEBUG_CHDIR (DEBUG_BIND+1)
  #define DEBUG_CONNECT (DEBUG_CHDIR+1)
  #define DEBUG_CMD (DEBUG_CONNECT+1)
@@ -2974,7 +2974,7 @@ diff --git a/rsync.yo b/rsync.yo
   -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
       --no-OPTION             turn off an implied OPTION (e.g. --no-D)
   -r, --recursive             recurse into directories
-@@ -661,6 +664,67 @@ The checksum used is auto-negotiated between the client and the server, but
+@@ -665,6 +668,67 @@ The checksum used is auto-negotiated between the client and the server, but
  can be overridden using either the bf(--checksum-choice) option or an
  environment variable that is discussed in that option's section.
  
index b5ced603fda085b348cf2af31f2cfb570642f8d7..77d5143ac5027e420e16b554545b43f671eb4d4d 100644 (file)
@@ -69,7 +69,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -992,7 +994,9 @@ static struct poptOption long_options[] = {
+@@ -994,7 +996,9 @@ 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 },
@@ -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 },
-@@ -2789,8 +2793,14 @@ void server_options(char **args, int *argc_p)
+@@ -2814,8 +2818,14 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--super";
                if (size_only)
                        args[ac++] = "--size-only";
@@ -109,7 +109,7 @@ diff --git a/rsync.yo b/rsync.yo
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
-@@ -1987,6 +1989,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
+@@ -1991,6 +1993,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
  potential alternate-basis files will be removed as the transfer progresses.
  This option conflicts with bf(--inplace) and bf(--append).
  
index cd6d5cfb1431da9d1014441ccb2d02582c47fb7e..a34f1324512cb60c1fc8be8cc9d573b9993c531e 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/backup.c b/backup.c
 --- a/backup.c
 +++ b/backup.c
@@ -62,7 +62,7 @@ diff --git a/compat.c b/compat.c
  extern int protect_args;
  extern int preserve_uid;
  extern int preserve_gid;
-@@ -153,6 +154,7 @@ void set_allow_inc_recurse(void)
+@@ -156,6 +157,7 @@ void set_allow_inc_recurse(void)
                allow_inc_recurse = 0;
        else if (!am_sender
         && (delete_before || delete_after
@@ -149,7 +149,7 @@ diff --git a/flist.c b/flist.c
  static char empty_sum[MAX_DIGEST_LEN];
  static int flist_count_offset; /* for --delete --progress */
  static int show_filelist_progress;
-@@ -276,6 +279,45 @@ static inline int is_excluded(const char *fname, int is_dir, int filter_level)
+@@ -277,6 +280,45 @@ static inline int is_excluded(const char *fname, int is_dir, int filter_level)
        return name_is_excluded(fname, is_dir ? NAME_IS_DIR : NAME_IS_FILE, filter_level);
  }
  
@@ -195,7 +195,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);
  
-@@ -2622,6 +2664,25 @@ struct file_list *recv_file_list(int f, int dir_ndx)
+@@ -2623,6 +2665,25 @@ struct file_list *recv_file_list(int f, int dir_ndx)
         * for a non-relative transfer in recv_file_entry(). */
        flist_sort_and_clean(flist, relative_paths);
  
@@ -606,7 +606,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -990,6 +992,7 @@ static struct poptOption long_options[] = {
+@@ -992,6 +994,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 },
@@ -614,7 +614,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 },
-@@ -2385,7 +2388,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2400,7 +2403,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                inplace = 1;
        }
  
@@ -623,7 +623,7 @@ diff --git a/options.c b/options.c
                partial_dir = tmp_partialdir;
  
        if (inplace) {
-@@ -2394,6 +2397,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2409,6 +2412,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        snprintf(err_buf, sizeof err_buf,
                                 "--%s cannot be used with --%s\n",
                                 append_mode ? "append" : "inplace",
@@ -631,7 +631,7 @@ diff --git a/options.c b/options.c
                                 delay_updates ? "delay-updates" : "partial-dir");
                        return 0;
                }
-@@ -2785,6 +2789,8 @@ void server_options(char **args, int *argc_p)
+@@ -2810,6 +2814,8 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--super";
                if (size_only)
                        args[ac++] = "--size-only";
@@ -683,7 +683,7 @@ diff --git a/rsync.yo b/rsync.yo
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
-@@ -1971,6 +1972,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -1975,6 +1976,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
  fuzzy-match files, so either use bf(--delete-after) or specify some
  filename exclusions if you need to prevent this.
  
index 774fed9b4991d4136a01bcde0c2dd9d091d00f9a..8abb4dec4ad6c0653d83628b5456612418e2c365 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -30,7 +30,7 @@ diff --git a/options.c b/options.c
    rprintf(F," -m, --prune-empty-dirs      prune empty directory chains from the file-list\n");
    rprintf(F,"     --numeric-ids           don't map uid/gid values by user/group name\n");
    rprintf(F,"     --usermap=STRING        custom username mapping\n");
-@@ -1008,6 +1010,8 @@ static struct poptOption long_options[] = {
+@@ -1012,6 +1014,8 @@ static struct poptOption long_options[] = {
    {"partial-dir",      0,  POPT_ARG_STRING, &partial_dir, 0, 0, 0 },
    {"delay-updates",    0,  POPT_ARG_VAL,    &delay_updates, 1, 0, 0 },
    {"no-delay-updates", 0,  POPT_ARG_VAL,    &delay_updates, 0, 0, 0 },
@@ -50,7 +50,7 @@ diff --git a/rsync.yo b/rsync.yo
   -m, --prune-empty-dirs      prune empty directory chains from file-list
       --numeric-ids           don't map uid/gid values by user/group name
       --usermap=STRING        custom username mapping
-@@ -2557,6 +2558,14 @@ See also the "atomic-rsync" perl script in the "support" subdir for an
+@@ -2588,6 +2589,14 @@ See also the "atomic-rsync" perl script in the "support" subdir for an
  update algorithm that is even more atomic (it uses bf(--link-dest) and a
  parallel hierarchy of files).
  
index 4737d02bebf3fa255f1c04621acb0571fa883401..39fe1c3ccd6bc082f7ac8668e4db16806de58d64 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -67,7 +67,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --inplace               update destination files in-place (SEE MAN PAGE)\n");
    rprintf(F,"     --append                append data onto shorter files\n");
    rprintf(F,"     --append-verify         like --append, but with old data in file checksum\n");
-@@ -942,6 +944,7 @@ static struct poptOption long_options[] = {
+@@ -943,6 +945,7 @@ static struct poptOption long_options[] = {
    {"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 },
    {"update",          'u', POPT_ARG_NONE,   &update_only, 0, 0, 0 },
index 2b9e20f7c4ce618f799b9f2c69bcd0956122f191..19f34e2d7a93021cc24788f954453e9089fde587 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -35,7 +35,7 @@ diff --git a/compat.c b/compat.c
  
  int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
  int sender_symlink_iconv = 0; /* sender should convert symlink content */
-@@ -396,6 +398,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -436,6 +438,8 @@ void setup_protocol(int f_out,int f_in)
                uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
@@ -44,7 +44,7 @@ diff --git a/compat.c b/compat.c
        if (preserve_acls && !am_sender)
                acls_ndx = ++file_extra_cnt;
        if (preserve_xattrs)
-@@ -551,6 +555,10 @@ void setup_protocol(int f_out,int f_in)
+@@ -591,6 +595,10 @@ void setup_protocol(int f_out,int f_in)
                want_xattr_optim = protocol_version >= 31 && !(compat_flags & CF_AVOID_XATTR_OPTIM);
                proper_seed_order = compat_flags & CF_CHKSUM_SEED_FIX ? 1 : 0;
                xfer_flags_as_varint = compat_flags & CF_VARINT_FLIST_FLAGS ? 1 : 0;
@@ -111,7 +111,7 @@ diff --git a/flist.c b/flist.c
  extern int delete_during;
  extern int missing_args;
  extern int eol_nulls;
-@@ -383,6 +384,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -384,6 +385,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
  {
        static time_t modtime, atime;
        static mode_t mode;
@@ -121,7 +121,7 @@ diff --git a/flist.c b/flist.c
  #ifdef SUPPORT_HARD_LINKS
        static int64 dev;
  #endif
-@@ -426,6 +430,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -427,6 +431,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
                xflags |= XMIT_SAME_MODE;
        else
                mode = file->mode;
@@ -136,7 +136,7 @@ diff --git a/flist.c b/flist.c
  
        if (preserve_devices && IS_DEVICE(mode)) {
                if (protocol_version < 28) {
-@@ -576,6 +588,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -577,6 +589,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
                write_varint(f, F_MOD_NSEC(file));
        if (!(xflags & XMIT_SAME_MODE))
                write_int(f, to_wire_mode(mode));
@@ -147,7 +147,7 @@ diff --git a/flist.c b/flist.c
        if (atimes_ndx && !S_ISDIR(mode) && !(xflags & XMIT_SAME_ATIME))
                write_varlong(f, atime, 4);
        if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
-@@ -667,6 +683,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -668,6 +684,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
  {
        static int64 modtime, atime;
        static mode_t mode;
@@ -157,7 +157,7 @@ diff --git a/flist.c b/flist.c
  #ifdef SUPPORT_HARD_LINKS
        static int64 dev;
  #endif
-@@ -776,6 +795,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -777,6 +796,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                        mode = first->mode;
                        if (atimes_ndx && !S_ISDIR(mode))
                                atime = F_ATIME(first);
@@ -168,7 +168,7 @@ diff --git a/flist.c b/flist.c
                        if (preserve_uid)
                                uid = F_OWNER(first);
                        if (preserve_gid)
-@@ -827,6 +850,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -828,6 +851,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
  
        if (chmod_modes && !S_ISLNK(mode) && mode)
                mode = tweak_mode(mode, chmod_modes);
@@ -179,7 +179,7 @@ diff --git a/flist.c b/flist.c
  
        if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
                if (protocol_version < 30)
-@@ -985,6 +1012,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -986,6 +1013,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
        }
  #endif
        file->mode = mode;
@@ -190,7 +190,7 @@ diff --git a/flist.c b/flist.c
        if (preserve_uid)
                F_OWNER(file) = uid;
        if (preserve_gid) {
-@@ -1384,6 +1415,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1385,6 +1416,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
        }
  #endif
        file->mode = st.st_mode;
@@ -434,7 +434,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --max-delete=NUM        don't delete more than NUM files\n");
    rprintf(F,"     --max-size=SIZE         don't transfer any file larger than SIZE\n");
    rprintf(F,"     --min-size=SIZE         don't transfer any file smaller than SIZE\n");
-@@ -876,6 +892,10 @@ static struct poptOption long_options[] = {
+@@ -877,6 +893,10 @@ static struct poptOption long_options[] = {
    {"perms",           'p', POPT_ARG_VAL,    &preserve_perms, 1, 0, 0 },
    {"no-perms",         0,  POPT_ARG_VAL,    &preserve_perms, 0, 0, 0 },
    {"no-p",             0,  POPT_ARG_VAL,    &preserve_perms, 0, 0, 0 },
@@ -445,7 +445,7 @@ diff --git a/options.c b/options.c
    {"executability",   'E', POPT_ARG_NONE,   &preserve_executability, 0, 0, 0 },
    {"acls",            'A', POPT_ARG_NONE,   0, 'A', 0, 0 },
    {"no-acls",          0,  POPT_ARG_VAL,    &preserve_acls, 0, 0, 0 },
-@@ -969,6 +989,14 @@ static struct poptOption long_options[] = {
+@@ -970,6 +990,14 @@ static struct poptOption long_options[] = {
    {"remove-source-files",0,POPT_ARG_VAL,    &remove_source_files, 1, 0, 0 },
    {"force",            0,  POPT_ARG_VAL,    &force_delete, 1, 0, 0 },
    {"no-force",         0,  POPT_ARG_VAL,    &force_delete, 0, 0, 0 },
@@ -460,7 +460,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 },
-@@ -2686,6 +2714,9 @@ void server_options(char **args, int *argc_p)
+@@ -2701,6 +2729,9 @@ void server_options(char **args, int *argc_p)
        if (xfer_dirs && !recurse && delete_mode && am_sender)
                args[ac++] = "--no-r";
  
@@ -470,7 +470,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;
-@@ -2779,6 +2810,16 @@ void server_options(char **args, int *argc_p)
+@@ -2804,6 +2835,16 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--delete-excluded";
                if (force_delete)
                        args[ac++] = "--force";
@@ -697,7 +697,7 @@ diff --git a/rsync.yo b/rsync.yo
       --max-delete=NUM        don't delete more than NUM files
       --max-size=SIZE         don't transfer any file larger than SIZE
       --min-size=SIZE         don't transfer any file smaller than SIZE
-@@ -669,7 +673,8 @@ specified, in which case bf(-r) is not implied.
+@@ -673,7 +677,8 @@ specified, in which case bf(-r) is not implied.
  
  Note that bf(-a) bf(does not preserve hardlinks), because
  finding multiply-linked files is expensive.  You must separately
@@ -707,7 +707,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  dit(--no-OPTION) You may turn off one or more implied options by prefixing
  the option name with "no-".  Not all options may be prefixed with a "no-":
-@@ -982,7 +987,7 @@ they would be using bf(--copy-links).
+@@ -986,7 +991,7 @@ they would be using bf(--copy-links).
  Without this option, if the sending side has replaced a directory with a
  symlink to a directory, the receiving side will delete anything that is in
  the way of the new symlink, including a directory hierarchy (as long as
@@ -716,7 +716,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  See also bf(--keep-dirlinks) for an analogous option for the receiving
  side.
-@@ -1166,6 +1171,29 @@ Note that the bf(-X) option does not copy rsync's special xattr values (e.g.
+@@ -1170,6 +1175,29 @@ Note that the bf(-X) option does not copy rsync's special xattr values (e.g.
  those used by bf(--fake-super)) unless you repeat the option (e.g. -XX).
  This "copy all xattrs" mode cannot be used with bf(--fake-super).
  
@@ -746,7 +746,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--chmod)) This option tells rsync to apply one or more
  comma-separated "chmod" modes to the permission of the files in the
  transfer.  The resulting value is treated as though it were the permissions
-@@ -1573,12 +1601,13 @@ display as a "*missing" entry in the bf(--list-only) output.
+@@ -1577,12 +1605,13 @@ display as a "*missing" entry in the bf(--list-only) output.
  dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
  even when there are I/O errors.
  
@@ -763,7 +763,7 @@ diff --git a/rsync.yo b/rsync.yo
  bf(--recursive) option was also enabled.
  
  dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-@@ -2256,7 +2285,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -2287,7 +2316,7 @@ with older versions of rsync, but that also turns on the output of other
  verbose messages).
  
  The "%i" escape has a cryptic output that is 11 letters long.  The general
index 2b5c0d7dcade84fb2406df15de095b8acd438192..1e2e878dab85d88a3ca6b7566ac69382a166e9b0 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -269,7 +269,7 @@ diff --git a/flist.c b/flist.c
  
  #ifdef ICONV_OPTION
  extern int filesfrom_convert;
-@@ -1183,7 +1184,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1184,7 +1185,7 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
        } else if (readlink_stat(thisname, &st, linkname) != 0) {
                int save_errno = errno;
                /* See if file is excluded before reporting an error. */
@@ -278,7 +278,7 @@ diff --git a/flist.c b/flist.c
                 && (is_excluded(thisname, 0, filter_level)
                  || is_excluded(thisname, 1, filter_level))) {
                        if (ignore_perishable && save_errno != ENOENT)
-@@ -1228,6 +1229,12 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1229,6 +1230,12 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
  
        if (filter_level == NO_FILTERS)
                goto skip_filters;
@@ -291,7 +291,7 @@ diff --git a/flist.c b/flist.c
  
        if (S_ISDIR(st.st_mode)) {
                if (!xfer_dirs) {
-@@ -1432,12 +1439,23 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -1433,12 +1440,23 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
                                          int flags, int filter_level)
  {
        struct file_struct *file;
@@ -316,7 +316,7 @@ diff --git a/flist.c b/flist.c
                file->mode = tweak_mode(file->mode, chmod_modes);
  
        if (f >= 0) {
-@@ -2342,7 +2360,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2343,7 +2361,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,
@@ -325,7 +325,7 @@ diff --git a/flist.c b/flist.c
                        if (!file)
                                continue;
                        if (inc_recurse) {
-@@ -2356,7 +2374,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2357,7 +2375,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                        } else
                                send_if_directory(f, flist, file, fbuf, len, flags);
                } else
@@ -390,7 +390,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -1188,6 +1188,8 @@ quote(--chmod=D2775,F664)
+@@ -1192,6 +1192,8 @@ quote(--chmod=D2775,F664)
  
  It is also legal to specify multiple bf(--chmod) options, as each
  additional option is just appended to the list of changes to make.
@@ -399,7 +399,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  See the bf(--perms) and bf(--executability) options for how the resulting
  permission value can be applied to the files in the transfer.
-@@ -2206,6 +2208,10 @@ be omitted, but if USER is empty, a leading colon must be supplied.
+@@ -2237,6 +2239,10 @@ be omitted, but if USER is empty, a leading colon must be supplied.
  If you specify "--chown=foo:bar, this is exactly the same as specifying
  "--usermap=*:foo --groupmap=*:bar", only easier.
  
@@ -410,7 +410,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.
-@@ -3100,6 +3106,15 @@ itemization(
+@@ -3131,6 +3137,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.
@@ -426,7 +426,7 @@ diff --git a/rsync.yo b/rsync.yo
    it() An bf(x) indicates that a rule affects xattr names in xattr copy/delete
    operations (and is thus ignored when matching file/dir names). If no
    xattr-matching rules are specified, a default xattr filtering rule is
-@@ -3165,6 +3180,12 @@ itemization(
+@@ -3196,6 +3211,12 @@ itemization(
    a rule prefix such as bf(hide)).
  )
  
index be17f34205fc869a8349873370dcd0ee51615131..faee30cf1d6cc8ca5d85184907ee98c893c22111 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -27,7 +27,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --numeric-ids           don't map uid/gid values by user/group name\n");
    rprintf(F,"     --usermap=STRING        custom username mapping\n");
    rprintf(F,"     --groupmap=STRING       custom groupname mapping\n");
-@@ -1043,6 +1045,7 @@ static struct poptOption long_options[] = {
+@@ -1047,6 +1049,7 @@ static struct poptOption long_options[] = {
    {"no-timeout",       0,  POPT_ARG_VAL,    &io_timeout, 0, 0, 0 },
    {"contimeout",       0,  POPT_ARG_INT,    &connect_timeout, 0, 0, 0 },
    {"no-contimeout",    0,  POPT_ARG_VAL,    &connect_timeout, 0, 0, 0 },
@@ -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 },
-@@ -2865,6 +2868,9 @@ void server_options(char **args, int *argc_p)
+@@ -2890,6 +2893,9 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = tmpdir;
                }
  
index 4523bc669a326c8210fdca2524d6b398d6a35c2b..1da3da043584849acd02c45174813b3263dd6d95 100644 (file)
@@ -22,7 +22,7 @@ based-on: patch/master/crtimes
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
-@@ -1612,6 +1612,9 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -1613,6 +1613,9 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
  #ifdef SUPPORT_XATTRS
                if (preserve_xattrs) {
                        sx.st.st_mode = file->mode;
@@ -267,7 +267,7 @@ diff --git a/options.c b/options.c
  #endif
    rprintf(F," -o, --owner                 preserve owner (super-user only)\n");
    rprintf(F," -g, --group                 preserve group\n");
-@@ -1009,6 +1014,12 @@ static struct poptOption long_options[] = {
+@@ -1010,6 +1015,12 @@ static struct poptOption long_options[] = {
    {"no-force-change",  0,  POPT_ARG_VAL,    &force_change, 0, 0, 0 },
    {"force-uchange",    0,  POPT_ARG_VAL,    &force_change, USR_IMMUTABLE, 0, 0 },
    {"force-schange",    0,  POPT_ARG_VAL,    &force_change, SYS_IMMUTABLE, 0, 0 },
@@ -280,7 +280,7 @@ diff --git a/options.c b/options.c
  #endif
    {"ignore-errors",    0,  POPT_ARG_VAL,    &ignore_errors, 1, 0, 0 },
    {"no-ignore-errors", 0,  POPT_ARG_VAL,    &ignore_errors, 0, 0, 0 },
-@@ -2114,6 +2125,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2129,6 +2140,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
        }
  #endif
  
@@ -296,7 +296,7 @@ diff --git a/options.c b/options.c
        if (block_size) {
                /* We may not know the real protocol_version at this point if this is the client
                 * option parsing, but we still want to check it so that the client can specify
-@@ -2734,6 +2754,11 @@ void server_options(char **args, int *argc_p)
+@@ -2749,6 +2769,11 @@ void server_options(char **args, int *argc_p)
        if (preserve_fileflags)
                args[ac++] = "--fileflags";
  
@@ -387,7 +387,7 @@ diff --git a/rsync.yo b/rsync.yo
   -o, --owner                 preserve owner (super-user only)
   -g, --group                 preserve group
       --devices               preserve device files (super-user only)
-@@ -1195,6 +1197,42 @@ flags on files and directories that are being updated or deleted on the
+@@ -1199,6 +1201,42 @@ flags on files and directories that are being updated or deleted on the
  receiving side.  It does not try to affect user flags.  This option overrides
  bf(--force-change) and bf(--force-uchange).
  
index 82cad917321e4fdcff2fd51cb095fb8a3eaa56c3..d5e768c7b35aa34f3624bced413e38e2aba3d4c6 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 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 quiet;
-@@ -3111,6 +3112,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3112,6 +3113,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;
-@@ -3221,7 +3223,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3222,7 +3224,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
                        if (type1 != type2)
                                return type1 == t_PATH ? 1 : -1;
                }
@@ -228,7 +228,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -1028,6 +1030,8 @@ static struct poptOption long_options[] = {
+@@ -1032,6 +1034,8 @@ static struct poptOption long_options[] = {
    {"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 },
    {"only-write-batch", 0,  POPT_ARG_STRING, &batch_name, OPT_ONLY_WRITE_BATCH, 0, 0 },
@@ -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},
-@@ -2815,6 +2819,9 @@ void server_options(char **args, int *argc_p)
+@@ -2840,6 +2844,9 @@ void server_options(char **args, int *argc_p)
                args[ac++] = arg;
        }
  
@@ -258,7 +258,7 @@ diff --git a/rsync.yo b/rsync.yo
       --address=ADDRESS       bind address for outgoing socket to daemon
       --port=PORT             specify double-colon alternate port number
       --sockopts=OPTIONS      specify custom TCP options
-@@ -1922,6 +1923,10 @@ available to that user, and makes it impossible for the joe user to do a timed
+@@ -1926,6 +1927,10 @@ available to that user, and makes it impossible for the joe user to do a timed
  exploit of the path to induce a change to a file that the joe user has no
  permissions to change.
  
index 63d2cab145efd6dcc2b42b32342adf201426d12f..1225c62ac63ce36d99fc6031f01e172c68dfe756 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
index 74c5a1870a11d5de4687840439ca8d5192b6cfa6..0e75becba1311138d3bc7d0caf1aec22a4dca1ef 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -300,9 +300,9 @@ diff --git a/options.c b/options.c
 -      OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG,
 +      OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, OPT_LINK_BY_HASH,
        OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
+       OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
        OPT_SERVER, OPT_REFUSED_BASE = 9000};
-@@ -990,6 +993,7 @@ static struct poptOption long_options[] = {
+@@ -992,6 +995,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 },
@@ -310,7 +310,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 },
-@@ -1422,6 +1426,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1426,6 +1430,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                iconv_opt = strdup(arg);
  #endif
  
@@ -320,7 +320,7 @@ diff --git a/options.c b/options.c
        /* TODO: Call poptReadDefaultConfig; handle errors. */
  
        /* The context leaks in case of an error, but if there's a
-@@ -1905,6 +1912,21 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1922,6 +1929,21 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        return 0;
  #endif
  
@@ -342,7 +342,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2226,6 +2248,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2241,6 +2263,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);
@@ -351,7 +351,7 @@ diff --git a/options.c b/options.c
        }
        if (daemon_filter_list.head && !am_sender) {
                filter_rule_list *elp = &daemon_filter_list;
-@@ -2894,6 +2918,12 @@ void server_options(char **args, int *argc_p)
+@@ -2915,6 +2939,12 @@ void server_options(char **args, int *argc_p)
        } else if (inplace)
                args[ac++] = "--inplace";
  
@@ -389,7 +389,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -1339,7 +1339,8 @@ extern short info_levels[], debug_levels[];
+@@ -1343,7 +1343,8 @@ extern short info_levels[], debug_levels[];
  #define DEBUG_FUZZY (DEBUG_FLIST+1)
  #define DEBUG_GENR (DEBUG_FUZZY+1)
  #define DEBUG_HASH (DEBUG_GENR+1)
@@ -410,7 +410,7 @@ diff --git a/rsync.yo b/rsync.yo
   -z, --compress              compress file data during the transfer
       --compress-level=NUM    explicitly set compression level
       --skip-compress=LIST    skip compressing files with suffix in LIST
-@@ -2052,6 +2053,48 @@ bf(--link-dest) from working properly for a non-super-user when bf(-o) was
+@@ -2056,6 +2057,48 @@ bf(--link-dest) from working properly for a non-super-user when bf(-o) was
  specified (or implied by bf(-a)).  You can work-around this bug by avoiding
  the bf(-o) option when sending to an old rsync.
  
index 8f1e40d362e531cec2f82aca15ee256f6e06400e..5f52b63a8d1dcb0ae0ae6c583eafda2d52724fe7 100644 (file)
--- a/lz4.diff
+++ b/lz4.diff
@@ -6,20 +6,21 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 4496e0e8e7a7616ef64b683edc7a249ee16b5a1b
+based-on: 5ac353d84580e64d71a6516b72898b59916007c0
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -89,6 +89,9 @@ int filesfrom_convert = 0;
+@@ -89,6 +89,10 @@ int filesfrom_convert = 0;
  
  struct name_num_obj valid_compressions = {
        "compress", NULL, NULL, 0, 0, {
 +#ifdef SUPPORT_LZ4
++              /* TODO decide where in the default preference order this should go. */
 +              { CPRES_LZ4, "lz4", NULL },
 +#endif
- #ifndef EXTERNAL_ZLIB
+               { CPRES_ZLIBX, "zlibx", NULL },
                { CPRES_ZLIB, "zlib", NULL },
- #endif
+               { CPRES_NONE, "none", NULL },
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
index 4f933102f8802c46e1137d07099d8533e7748cfd..948978f834f4f294f12b052dedd47270fd43176e 100644 (file)
@@ -20,7 +20,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/authenticate.c b/authenticate.c
 --- a/authenticate.c
 +++ b/authenticate.c
index ee4bea18e3fb58b80fd2d7f7eba0a1b2d72bac2f..a5c71ce259c4ac16d524c759284d980716faa68a 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index b8af1539b31d4b4eb3d93b22615948bb1bef0220..47969620ea8901d670d7f94b6872b6349a81f751 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -70,7 +70,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --super                 receiver attempts super-user activities\n");
  #ifdef SUPPORT_XATTRS
    rprintf(F,"     --fake-super            store/recover privileged attrs using xattrs\n");
-@@ -897,6 +899,7 @@ static struct poptOption long_options[] = {
+@@ -898,6 +900,7 @@ static struct poptOption long_options[] = {
    {"omit-link-times", 'J', POPT_ARG_VAL,    &omit_link_times, 1, 0, 0 },
    {"no-omit-link-times",0, POPT_ARG_VAL,    &omit_link_times, 0, 0, 0 },
    {"no-J",             0,  POPT_ARG_VAL,    &omit_link_times, 0, 0, 0 },
@@ -78,7 +78,7 @@ diff --git a/options.c b/options.c
    {"modify-window",   '@', 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 },
-@@ -2294,6 +2297,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2309,6 +2312,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)
-@@ -2545,6 +2551,8 @@ void server_options(char **args, int *argc_p)
+@@ -2560,6 +2566,8 @@ void server_options(char **args, int *argc_p)
                        argstr[x++] = 'O';
                if (omit_link_times)
                        argstr[x++] = 'J';
@@ -133,7 +133,7 @@ diff --git a/rsync.yo b/rsync.yo
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                turn sequences of nulls into sparse blocks
-@@ -1281,6 +1282,10 @@ directories.
+@@ -1285,6 +1286,10 @@ directories.
  dit(bf(-J, --omit-link-times)) This tells rsync to omit symlinks when
  it is preserving modification times (see bf(--times)).
  
index e689d97ec219073359ffd10fe21517041d13419a..7e22d70ca4e9a5e12b69469bfdd6c7ed870e221e 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -26,7 +26,7 @@ diff --git a/flist.c b/flist.c
  extern uid_t our_uid;
  extern struct stats stats;
  extern char *filesfrom_host;
-@@ -1776,6 +1777,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1777,6 +1778,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
                }
  
                send_file_name(f, flist, fbuf, NULL, flags, filter_level);
@@ -55,7 +55,7 @@ diff --git a/options.c b/options.c
  #ifdef HAVE_SETVBUF
    rprintf(F,"     --outbuf=N|L|B          set output buffering to None, Line, or Block\n");
  #endif
-@@ -1018,6 +1020,7 @@ static struct poptOption long_options[] = {
+@@ -1022,6 +1024,7 @@ static struct poptOption long_options[] = {
    {"itemize-changes", 'i', POPT_ARG_NONE,   0, 'i', 0, 0 },
    {"no-itemize-changes",0, POPT_ARG_VAL,    &itemize_changes, 0, 0, 0 },
    {"no-i",             0,  POPT_ARG_VAL,    &itemize_changes, 0, 0, 0 },
index ff64dfe35099d17897a9b62f2542d48eb2e02880..be03ae5dc69a12fe46f220033b2b8d9de5e59c37 100644 (file)
--- a/slp.diff
+++ b/slp.diff
@@ -10,7 +10,7 @@ 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
index f7e981c1d74fff4f4ad7a38b622f3f4709abe816..d58f1eea1c27181f1ef52f56de89355eb9f4f9e9 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 6e1cc817cc7508d76a417c84e3da70f90007610c..8f98f1c8751294077a7be67566c56f65e55da113 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -29,7 +29,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --del                   an alias for --delete-during\n");
    rprintf(F,"     --delete                delete extraneous files from destination dirs\n");
    rprintf(F,"     --delete-before         receiver deletes before transfer, not during\n");
-@@ -1021,6 +1023,7 @@ static struct poptOption long_options[] = {
+@@ -1025,6 +1027,7 @@ static struct poptOption long_options[] = {
    {"bwlimit",          0,  POPT_ARG_STRING, &bwlimit_arg, OPT_BWLIMIT, 0, 0 },
    {"no-bwlimit",       0,  POPT_ARG_VAL,    &bwlimit, 0, 0, 0 },
    {"backup",          'b', POPT_ARG_VAL,    &make_backups, 1, 0, 0 },
@@ -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 },
-@@ -2793,6 +2796,8 @@ void server_options(char **args, int *argc_p)
+@@ -2818,6 +2821,8 @@ void server_options(char **args, int *argc_p)
                                goto oom;
                        args[ac++] = arg;
                }
@@ -57,7 +57,7 @@ diff --git a/rsync.yo b/rsync.yo
       --del                   an alias for --delete-during
       --delete                delete extraneous files from dest dirs
       --delete-before         receiver deletes before xfer, not during
-@@ -1470,6 +1471,14 @@ bf(--exclude='*.new') for the rsync transfer).
+@@ -1474,6 +1475,14 @@ bf(--exclude='*.new') for the rsync transfer).
  Starting with 3.1.0, rsync will skip the sender-side removal (and output an
  error) if the file's size or modify time has not stayed unchanged.
  
index f12bad7f09d96280f37e83042d6cb97e33cfe089..48ce0853e41266bb6371d2b04729cf3790d39ca3 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -100,7 +100,7 @@ diff --git a/options.c b/options.c
    rprintf(F,"     --protocol=NUM          force an older protocol version to be used\n");
  #ifdef ICONV_OPTION
    rprintf(F,"     --iconv=CONVERT_SPEC    request charset conversion of filenames\n");
-@@ -938,6 +944,7 @@ static struct poptOption long_options[] = {
+@@ -939,6 +945,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 },
@@ -108,7 +108,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 },
-@@ -1063,6 +1070,8 @@ static struct poptOption long_options[] = {
+@@ -1067,6 +1074,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 },
@@ -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
-@@ -2429,6 +2438,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2444,6 +2453,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;
-@@ -2802,6 +2821,25 @@ void server_options(char **args, int *argc_p)
+@@ -2827,6 +2846,25 @@ void server_options(char **args, int *argc_p)
        else if (missing_args == 1 && !am_sender)
                args[ac++] = "--ignore-missing-args";
  
@@ -358,7 +358,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)
-@@ -2751,6 +2754,33 @@ file previously generated by bf(--write-batch).
+@@ -2782,6 +2785,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 2162e1e9466987d51a30e208428aa873fa27df87..0c6ec69f86659f9c25a82f1b104854a99ddf4204 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
@@ -58,7 +58,7 @@ diff --git a/options.c b/options.c
  #ifdef SUPPORT_PREALLOCATION
    rprintf(F,"     --preallocate           allocate dest files before writing them\n");
  #else
-@@ -950,6 +952,7 @@ static struct poptOption long_options[] = {
+@@ -951,6 +953,7 @@ static struct poptOption long_options[] = {
    {"sparse",          'S', POPT_ARG_VAL,    &sparse_files, 1, 0, 0 },
    {"no-sparse",        0,  POPT_ARG_VAL,    &sparse_files, 0, 0, 0 },
    {"no-S",             0,  POPT_ARG_VAL,    &sparse_files, 0, 0, 0 },
@@ -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 },
-@@ -2719,6 +2722,12 @@ void server_options(char **args, int *argc_p)
+@@ -2734,6 +2737,12 @@ void server_options(char **args, int *argc_p)
                args[ac++] = arg;
        }
  
@@ -90,7 +90,7 @@ diff --git a/rsync.yo b/rsync.yo
       --preallocate           allocate dest files before writing
       --write-devices         write to devices as files (implies --inplace)
   -n, --dry-run               perform a trial run with no changes made
-@@ -1347,6 +1348,15 @@ If combined with bf(--sparse), the file will only have sparse blocks (as
+@@ -1351,6 +1352,15 @@ If combined with bf(--sparse), the file will only have sparse blocks (as
  opposed to allocated sequences of null bytes) if the kernel version and
  filesystem type support creating holes in the allocated data.
  
index 566dbf09b308a8b4bc98ba928df2696c06979e6d..49d675f2a9ee3ffdd188049afeec5e8e2da187f7 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/main.c b/main.c
 --- a/main.c
 +++ b/main.c
@@ -69,7 +69,7 @@ diff --git a/main.c b/main.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -2793,14 +2793,18 @@ regardless of the remote charset you actually pass.  Thus, you may feel free to
+@@ -2824,14 +2824,18 @@ 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)).
  
  dit(bf(-4, --ipv4) or bf(-6, --ipv6)) Tells rsync to prefer IPv4/IPv6
index 6c2292318c75835cc52cf48553ff52ae70cccdde..b01eb39bcbe2652c5748a17f31f3a6948bd7c2e0 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
@@ -62,15 +62,15 @@ diff --git a/options.c b/options.c
  #ifdef HAVE_SETVBUF
    rprintf(F,"     --outbuf=N|L|B          set output buffering to None, Line, or Block\n");
  #endif
-@@ -840,6 +843,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
-       OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
+@@ -841,6 +844,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
        OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG,
        OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
+       OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
 +      OPT_STOP_AT, OPT_TIME_LIMIT,
        OPT_SERVER, OPT_REFUSED_BASE = 9000};
  
  static struct poptOption long_options[] = {
-@@ -1043,6 +1047,8 @@ static struct poptOption long_options[] = {
+@@ -1047,6 +1051,8 @@ static struct poptOption long_options[] = {
    {"no-timeout",       0,  POPT_ARG_VAL,    &io_timeout, 0, 0, 0 },
    {"contimeout",       0,  POPT_ARG_INT,    &connect_timeout, 0, 0, 0 },
    {"no-contimeout",    0,  POPT_ARG_VAL,    &connect_timeout, 0, 0, 0 },
@@ -79,7 +79,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 },
-@@ -1905,6 +1911,36 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1922,6 +1928,36 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        return 0;
  #endif
  
@@ -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. */
-@@ -2731,6 +2767,15 @@ void server_options(char **args, int *argc_p)
+@@ -2746,6 +2782,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
-@@ -2725,6 +2727,19 @@ files can show up as being rapidly sent when the data is quickly buffered,
+@@ -2756,6 +2758,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.
  
index c9f39191e6002bdb4673fca12de5efef1d2bdcf3..87bf756aaf9d250b1ed79b90d8a67c0b188da6e3 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -31,7 +31,7 @@ diff --git a/flist.c b/flist.c
  #define NORMAL_NAME 0
  #define SLASH_ENDING_NAME 1
  #define DOTDIR_NAME 2
-@@ -663,6 +666,23 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -664,6 +667,23 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
                stats.total_size += F_LENGTH(file);
  }
  
@@ -55,7 +55,7 @@ diff --git a/flist.c b/flist.c
  static struct file_struct *recv_file_entry(int f, struct file_list *flist, int xflags)
  {
        static int64 modtime, atime;
-@@ -728,9 +748,13 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
+@@ -729,9 +749,13 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
                        outbuf.len = 0;
                }
                thisname[outbuf.len] = '\0';
@@ -69,7 +69,7 @@ diff --git a/flist.c b/flist.c
        if (*thisname
         && (clean_fname(thisname, CFN_REFUSE_DOT_DOT_DIRS) < 0 || (!relative_paths && *thisname == '/'))) {
                rprintf(FERROR, "ABORTING due to unsafe pathname from sender: %s\n", thisname);
-@@ -2476,6 +2500,15 @@ struct file_list *recv_file_list(int f, int dir_ndx)
+@@ -2477,6 +2501,15 @@ struct file_list *recv_file_list(int f, int dir_ndx)
                        parse_name_map(usermap, True);
                if (groupmap)
                        parse_name_map(groupmap, False);
@@ -104,7 +104,7 @@ diff --git a/options.c b/options.c
    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");
-@@ -1050,6 +1052,7 @@ static struct poptOption long_options[] = {
+@@ -1054,6 +1056,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 },
  #endif
@@ -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 },
-@@ -2475,6 +2478,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2490,6 +2493,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;
-@@ -2911,6 +2932,12 @@ void server_options(char **args, int *argc_p)
+@@ -2932,6 +2953,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
-@@ -2792,6 +2793,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -2823,6 +2824,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 8faf45212c70ac815e9927cbccd874aac8c77391..794e9b40fa41446a1ffc3f9e78b71cadeff7351a 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index e6b31696f25bd66da4b5c9fe129fd6b4ed69a5d7..d527e04796aae494fc2b9a212c700242cceca88e 100644 (file)
@@ -14,7 +14,7 @@ based-on: patch/master/acls
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -457,13 +457,6 @@ void setup_protocol(int f_out,int f_in)
+@@ -497,13 +497,6 @@ void setup_protocol(int f_out,int f_in)
        if (protocol_version < 30) {
                if (append_mode == 1)
                        append_mode = 2;
index 5d09a076bd77d7deea3cbeaaffa1eeee537e241d..b59e7dc2cf25d0ea16a220db0d0c4414d025d774 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: 2f84a6bd73e1a6e2081b1bcb965049ef83b2ce45
+based-on: faecd066a6b523713299e659d8295eb8e308f9ed
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c