The patches for 3.1.2pre1. v3.1.2pre1
authorWayne Davison <wayned@samba.org>
Sat, 8 Aug 2015 21:40:41 +0000 (14:40 -0700)
committerWayne Davison <wayned@samba.org>
Sat, 8 Aug 2015 21:40:41 +0000 (14:40 -0700)
40 files changed:
acls.diff
adaptec_acl_mods.diff
atimes.diff
backup-deleted.diff
backup-dir-dels.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
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
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
time-limit.diff
transliterate.diff
tru64.diff
write-devices.diff
xattrs.diff

index 8d7378f3688cb6f38249001f748f72264c0db48d..3c3cc56a06dcdefa6841d99481ee23aa7439e6e1 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 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
-@@ -203,13 +203,6 @@ void setup_protocol(int f_out,int f_in)
+@@ -205,13 +205,6 @@ void setup_protocol(int f_out,int f_in)
        if (protocol_version < 30) {
                if (append_mode == 1)
                        append_mode = 2;
index 10ac505be6e06a87a53eb9c9101af8bc6c45730d..7057cec5ff12f86a454868ff44c1f91100e5bacd 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index e440ae4959d06a2d34bc84fbe3a5326241294117..2de7dec1bd2f30bda2bb811e5006f3dcb5584855 100644 (file)
@@ -4,11 +4,11 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -47,6 +47,7 @@ extern int protocol_version;
+@@ -48,6 +48,7 @@ extern int protocol_version;
  extern int protect_args;
  extern int preserve_uid;
  extern int preserve_gid;
@@ -16,7 +16,7 @@ diff --git a/compat.c b/compat.c
  extern int preserve_acls;
  extern int preserve_xattrs;
  extern int need_messages_from_generator;
-@@ -64,7 +65,7 @@ extern char *iconv_opt;
+@@ -65,7 +66,7 @@ extern char *iconv_opt;
  #endif
  
  /* These index values are for the file-list's extra-attribute array. */
@@ -25,7 +25,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 */
-@@ -142,6 +143,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -144,6 +145,8 @@ void setup_protocol(int f_out,int f_in)
                uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
@@ -182,7 +182,7 @@ diff --git a/generator.c b/generator.c
        }
  }
  
-@@ -2049,8 +2060,11 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2063,8 +2074,11 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                if (need_retouch_dir_times) {
                        STRUCT_STAT st;
                        if (link_stat(fname, &st, 0) == 0
@@ -392,7 +392,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
-@@ -1178,6 +1179,12 @@ cause the next transfer to behave as if it used bf(-I), causing all files to be
+@@ -1180,6 +1181,12 @@ cause the next transfer to behave as if it used bf(-I), causing all files to be
  updated (though rsync's delta-transfer algorithm will make the update fairly efficient
  if the files haven't actually changed, you're much better off using bf(-t)).
  
@@ -405,7 +405,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).
-@@ -2135,7 +2142,10 @@ quote(itemization(
+@@ -2137,7 +2144,10 @@ quote(itemization(
    sender's value (requires bf(--owner) and super-user privileges).
    it() A bf(g) means the group is different and is being updated to the
    sender's value (requires bf(--group) and the authority to set the group).
index da24ba56089f0ac42bc160a29e52317b711ca967..2459a48e0b351c2b48ead8238f0a393ca1651d1a 100644 (file)
@@ -7,11 +7,11 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -1780,7 +1780,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1794,7 +1794,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto notify_others;
  
        if (read_batch || whole_file) {
@@ -20,7 +20,7 @@ diff --git a/generator.c b/generator.c
                        if (!(backupptr = get_backup_name(fname)))
                                goto cleanup;
                        if (!(back_file = make_file(fname, NULL, NULL, 0, NO_FILTERS)))
-@@ -1816,7 +1816,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1830,7 +1830,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto notify_others;
        }
  
@@ -29,7 +29,7 @@ diff --git a/generator.c b/generator.c
                if (!(backupptr = get_backup_name(fname))) {
                        close(fd);
                        goto cleanup;
-@@ -1940,7 +1940,7 @@ int atomic_create(struct file_struct *file, char *fname, const char *slnk, const
+@@ -1954,7 +1954,7 @@ int atomic_create(struct file_struct *file, char *fname, const char *slnk, const
                skip_atomic = 0;
  
        if (del_for_flag) {
@@ -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 },
-@@ -2599,6 +2601,10 @@ void server_options(char **args, int *argc_p)
+@@ -2600,6 +2602,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
-@@ -778,6 +779,11 @@ in the list so that it has a high enough priority to be effective (e.g., if
+@@ -780,6 +781,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 8a6cfd47601b57fefacf9697bdd8e31ad82851d6..858f9f78d1033de6c07816376cb14cb6ecea4768 100644 (file)
@@ -141,7 +141,7 @@ diff --git a/backup.c b/backup.c
  
        rprintf(FERROR, "backup filename too long\n");
        return NULL;
-@@ -339,3 +351,13 @@ int make_backup(const char *fname, BOOL prefer_rename)
+@@ -340,3 +352,13 @@ int make_backup(const char *fname, BOOL prefer_rename)
                rprintf(FINFO, "backed up %s to %s\n", fname, buf);
        return ret;
  }
@@ -322,7 +322,7 @@ diff --git a/options.c b/options.c
  
        if (preserve_times) {
                preserve_times = PRESERVE_FILE_TIMES;
-@@ -2591,6 +2653,10 @@ void server_options(char **args, int *argc_p)
+@@ -2592,6 +2654,10 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--backup-dir";
                args[ac++] = backup_dir;
        }
@@ -333,7 +333,7 @@ diff --git a/options.c b/options.c
  
        /* Only send --suffix if it specifies a non-default value. */
        if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
-@@ -2599,7 +2665,14 @@ void server_options(char **args, int *argc_p)
+@@ -2600,7 +2666,14 @@ void server_options(char **args, int *argc_p)
                        goto oom;
                args[ac++] = arg;
        }
index 5b0cca9fe9944cbd60155cc7495a75ddb379f3b6..c3e9fed27004833c62858767d307c8eb878cb266 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
@@ -65,7 +65,7 @@ diff --git a/main.c b/main.c
  }
  
  void write_del_stats(int f)
-@@ -1445,6 +1448,14 @@ RETSIGTYPE remember_children(UNUSED(int val))
+@@ -1445,6 +1448,14 @@ void remember_children(UNUSED(int val))
                                break;
                        }
                }
@@ -80,11 +80,11 @@ diff --git a/main.c b/main.c
        }
  #endif
  #ifndef HAVE_SIGACTION
-@@ -1502,6 +1513,12 @@ static RETSIGTYPE rsync_panic_handler(UNUSED(int whatsig))
+@@ -1502,6 +1513,12 @@ static void rsync_panic_handler(UNUSED(int whatsig))
  }
  #endif
  
-+static RETSIGTYPE rsync_crash_handler(UNUSED(int whatsig))
++static void rsync_crash_handler(UNUSED(int whatsig))
 +{
 +      log_exit(RERR_WECRASHED, __FILE__, __LINE__);
 +      logfile_close();
@@ -109,7 +109,7 @@ diff --git a/socket.c b/socket.c
 --- a/socket.c
 +++ b/socket.c
 @@ -532,7 +532,17 @@ int is_a_socket(int fd)
- static RETSIGTYPE sigchld_handler(UNUSED(int val))
+ static void sigchld_handler(UNUSED(int val))
  {
  #ifdef WNOHANG
 -      while (waitpid(-1, NULL, WNOHANG) > 0) {}
index 3c2dc379795e4243b44914fd890ceab8253eec09..7c7412fb85b3c7bbcf064ac51ab987d488e24fc8 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -414,7 +414,7 @@ diff --git a/flist.c b/flist.c
  
        if (protocol_version < 30) {
                /* Recv the io_error flag */
-@@ -2807,7 +3071,7 @@ void flist_free(struct file_list *flist)
+@@ -2835,7 +3099,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;
-@@ -2858,7 +3122,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2886,7 +3150,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;
-@@ -2874,8 +3138,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2902,8 +3166,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);
-@@ -2897,7 +3161,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2925,7 +3189,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
        }
        flist->high = prev_i;
  
@@ -493,7 +493,7 @@ diff --git a/generator.c b/generator.c
                                continue;
                        best_match = j;
                        match_level = 2;
-@@ -1183,7 +1187,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1184,7 +1188,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
         * --ignore-non-existing, daemon exclude, or mkdir failure. */
        static struct file_struct *skip_dir = NULL;
        static struct file_list *fuzzy_dirlist[MAX_BASIS_DIRS+1];
@@ -502,7 +502,7 @@ diff --git a/generator.c b/generator.c
        struct file_struct *fuzzy_file = NULL;
        int fd = -1, f_copy = -1;
        stat_x sx, real_sx;
-@@ -1274,8 +1278,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1287,8 +1291,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                                fuzzy_dirlist[i] = NULL;
                                        }
                                }
@@ -514,7 +514,7 @@ diff --git a/generator.c b/generator.c
  #ifdef SUPPORT_ACLS
                        if (!preserve_perms)
                                dflt_perms = default_perms_for_dir(dn);
-@@ -1283,7 +1288,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1296,7 +1301,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                parent_dirname = dn;
  
@@ -523,7 +523,7 @@ diff --git a/generator.c b/generator.c
                        int i;
                        strlcpy(fnamecmpbuf, dn, sizeof fnamecmpbuf);
                        for (i = 0; i < fuzzy_basis; i++) {
-@@ -1295,7 +1300,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1308,7 +1313,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                        fuzzy_dirlist[i] = NULL;
                                }
                        }
@@ -535,7 +535,7 @@ diff --git a/generator.c b/generator.c
                }
  
                statret = link_stat(fname, &sx.st, keep_dirlinks && is_dir);
-@@ -1740,7 +1748,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1754,7 +1762,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)
                ;
@@ -705,7 +705,7 @@ diff --git a/rsync.h b/rsync.h
  /* Some utility defines: */
  #define F_IS_ACTIVE(f) (f)->basename[0]
  #define F_IS_HLINKED(f) ((f)->flags & FLAG_HLINKED)
-@@ -970,6 +974,13 @@ typedef struct {
+@@ -969,6 +973,13 @@ typedef struct {
        char fname[1]; /* has variable size */
  } relnamecache;
  
@@ -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
-@@ -617,9 +618,9 @@ uses a "quick check" that (by default) checks if each file's size and time
+@@ -619,9 +620,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
-@@ -627,6 +628,8 @@ its checksums when it is scanning for changed files, and will checksum any
+@@ -629,6 +630,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
-@@ -636,6 +639,36 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -638,6 +641,36 @@ option's before-the-transfer "Does this file need to be updated?" check.
  For protocol 30 and beyond (first supported in 3.0.0), the checksum used is
  MD5.  For older protocols, the checksum used is MD4.
  
@@ -792,7 +792,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -331,6 +331,17 @@ locking on this file to ensure that the max connections limit is not
+@@ -335,6 +335,17 @@ locking on this file to ensure that the max connections limit is not
  exceeded for the modules sharing the lock file.
  The default is tt(/var/run/rsyncd.lock).
  
index 7095223d8ba1c5458deca9fa3b5a0cb9f782c408..705de83e4ae15624e9b48cda91cd1c8146801890 100644 (file)
@@ -464,7 +464,7 @@ diff --git a/generator.c b/generator.c
                else
                        file_checksum(fn, st, sum);
                return memcmp(sum, F_SUM(file), checksum_len) == 0;
-@@ -1301,7 +1302,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1314,7 +1315,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                }
                        }
                        if (checksum_files) {
@@ -474,15 +474,15 @@ diff --git a/generator.c b/generator.c
                        }
                        need_new_dirscan = 0;
                }
-@@ -1475,6 +1477,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1488,6 +1490,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        else
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
 +              upcoming_whole_dir = file->flags & FLAG_CONTENT_DIR && f_out != -1 ? 1 : 0;
+               prior_dir_file = file;
                goto cleanup;
        }
-@@ -1754,6 +1757,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1768,6 +1771,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        handle_partial_dir(partialptr, PDIR_DELETE);
                }
                set_file_attrs(fname, file, &sx, NULL, maybe_ATTRS_REPORT);
@@ -491,7 +491,7 @@ diff --git a/generator.c b/generator.c
                if (itemizing)
                        itemize(fnamecmp, file, ndx, statret, &sx, 0, 0, NULL);
  #ifdef SUPPORT_HARD_LINKS
-@@ -2248,6 +2253,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2262,6 +2267,7 @@ void generate_files(int f_out, const char *local_name)
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
@@ -499,7 +499,7 @@ diff --git a/generator.c b/generator.c
                }
                for (i = cur_flist->low; i <= cur_flist->high; i++) {
                        struct file_struct *file = cur_flist->sorted[i];
-@@ -2342,6 +2348,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2356,6 +2362,9 @@ void generate_files(int f_out, const char *local_name)
                        wait_for_receiver();
        }
  
@@ -596,7 +596,7 @@ diff --git a/receiver.c b/receiver.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -976,6 +976,8 @@ typedef struct {
+@@ -975,6 +975,8 @@ typedef struct {
  
  #define CSF_ENABLE (1<<1)
  #define CSF_LAX (1<<2)
@@ -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
-@@ -648,9 +648,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
+@@ -650,9 +650,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
@@ -628,7 +628,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -334,13 +334,15 @@ The default is tt(/var/run/rsyncd.lock).
+@@ -338,13 +338,15 @@ The default is tt(/var/run/rsyncd.lock).
  dit(bf(checksum files)) This parameter tells rsync to make use of any cached
  checksum information it finds in per-directory .rsyncsums files when the
  current transfer is using the bf(--checksum) option.  The value can be set
index b839a6419c0c951a5f1aff20c44ed0f8ae6af71e..f4b165873b4069a9f2c36c9033b4d6ba92769f33 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 0b5b7aacc90501fbd0e3723f839ec47ce33f77e6..079cabd6cc365735d339a932b95de06f49a4a566 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
 +++ b/loadparm.c
@@ -139,7 +139,7 @@ diff --git a/socket.c b/socket.c
  
  #ifdef HAVE_SIGACTION
  static struct sigaction sigact;
-@@ -166,6 +168,37 @@ static RETSIGTYPE contimeout_handler(UNUSED(int val))
+@@ -166,6 +168,37 @@ static void contimeout_handler(UNUSED(int val))
        connect_timeout = -1;
  }
  
index 83c2b0d6018c6bab46092e8842ada08ddc76ee9f..2d6ba542b44b0186529b46b8b3cfc4aa49378232 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -20,7 +20,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_specials;
  extern int preserve_hard_links;
  extern int preserve_executability;
-@@ -1636,7 +1637,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1650,7 +1651,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
@@ -56,7 +56,7 @@ diff --git a/options.c b/options.c
    {"specials",         0,  POPT_ARG_VAL,    &preserve_specials, 1, 0, 0 },
    {"no-specials",      0,  POPT_ARG_VAL,    &preserve_specials, 0, 0, 0 },
    {"links",           'l', POPT_ARG_VAL,    &preserve_links, 1, 0, 0 },
-@@ -2763,6 +2766,9 @@ void server_options(char **args, int *argc_p)
+@@ -2764,6 +2767,9 @@ void server_options(char **args, int *argc_p)
        else if (remove_source_files)
                args[ac++] = "--remove-sent-files";
  
@@ -90,7 +90,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/sender.c b/sender.c
 --- a/sender.c
 +++ b/sender.c
-@@ -365,6 +365,20 @@ void send_files(int f_in, int f_out)
+@@ -366,6 +366,20 @@ void send_files(int f_in, int f_out)
                        exit_cleanup(RERR_FILEIO);
                }
  
index dcf62e2b11a8f7c8274604b0cb651563e8162c3b..836a698a7afc50ff426c6ed6a7324eb1741e5d82 100644 (file)
@@ -13,7 +13,7 @@ based-on: patch/master/fileflags
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -48,6 +48,7 @@ extern int force_change;
+@@ -49,6 +49,7 @@ extern int force_change;
  extern int protect_args;
  extern int preserve_uid;
  extern int preserve_gid;
@@ -21,7 +21,7 @@ diff --git a/compat.c b/compat.c
  extern int preserve_fileflags;
  extern int preserve_acls;
  extern int preserve_xattrs;
-@@ -66,7 +67,7 @@ extern char *iconv_opt;
+@@ -67,7 +68,7 @@ extern char *iconv_opt;
  #endif
  
  /* These index values are for the file-list's extra-attribute array. */
@@ -30,7 +30,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 */
-@@ -144,6 +145,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -146,6 +147,8 @@ void setup_protocol(int f_out,int f_in)
                uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
@@ -227,7 +227,7 @@ diff --git a/generator.c b/generator.c
        }
  }
  
-@@ -1250,6 +1270,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1251,6 +1271,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        return;
                }
        }
@@ -410,7 +410,7 @@ diff --git a/rsync.h b/rsync.h
  #define DEV_EXTRA_CNT 2
  #define DIRNODE_EXTRA_CNT 3
  #define SUM_EXTRA_CNT ((MAX_DIGEST_LEN + EXTRA_LEN - 1) / EXTRA_LEN)
-@@ -1022,6 +1026,7 @@ typedef struct {
+@@ -1021,6 +1025,7 @@ typedef struct {
  
  typedef struct {
      STRUCT_STAT st;
@@ -429,7 +429,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
-@@ -1206,6 +1207,9 @@ cause the next transfer to behave as if it used bf(-I), causing all files to be
+@@ -1208,6 +1209,9 @@ cause the next transfer to behave as if it used bf(-I), causing all files to be
  updated (though rsync's delta-transfer algorithm will make the update fairly efficient
  if the files haven't actually changed, you're much better off using bf(-t)).
  
@@ -439,7 +439,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).
-@@ -2108,7 +2112,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -2110,7 +2114,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
@@ -448,7 +448,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.
-@@ -2167,6 +2171,8 @@ quote(itemization(
+@@ -2169,6 +2173,8 @@ quote(itemization(
    it() The bf(f) means that the fileflags information changed.
    it() The bf(a) means that the ACL information changed.
    it() The bf(x) means that the extended attribute information changed.
index 941cdb7f8ab5c55d9eb648a3f22a433d92021003..a4a142d79bda309d2df8d7efcf72aa2485e166ef 100644 (file)
@@ -8,20 +8,20 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
-@@ -267,6 +267,8 @@ static void add_rule(filter_rule_list *listp, const char *pat, unsigned int pat_
-               if (!(lp = new_array(filter_rule_list, 1)))
+@@ -261,6 +261,8 @@ static void add_rule(filter_rule_list *listp, const char *pat, unsigned int pat_
+               if (!(lp = new_array0(filter_rule_list, 1)))
                        out_of_memory("add_rule");
-               lp->head = lp->tail = lp->parent_dirscan_head = NULL;
 +              if (rule->rflags & FILTRULE_CVS_IGNORE)
 +                      cp = "CVS";
                if (asprintf(&lp->debug_type, " [per-dir %s]", cp) < 0)
                        out_of_memory("add_rule");
                rule->u.mergelist = lp;
-@@ -526,6 +528,14 @@ void *push_local_filters(const char *dir, unsigned int dirlen)
+@@ -530,6 +532,14 @@ void *push_local_filters(const char *dir, unsigned int dirlen)
                                set_filter_dir(dir, dirlen);
                }
  
@@ -36,7 +36,7 @@ diff --git a/exclude.c b/exclude.c
                if (strlcpy(dirbuf + dirbuf_len, ex->pattern,
                    MAXPATHLEN - dirbuf_len) < MAXPATHLEN - dirbuf_len) {
                        parse_filter_file(lp, dirbuf, ex,
-@@ -1147,6 +1157,7 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
+@@ -1146,6 +1156,7 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
        char line[BIGPATHBUFLEN];
        char *eob = line + sizeof line - 1;
        BOOL word_split = (template->rflags & FILTRULE_WORD_SPLIT) != 0;
@@ -44,7 +44,7 @@ diff --git a/exclude.c b/exclude.c
  
        if (!fname || !*fname)
                return;
-@@ -1193,6 +1204,24 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
+@@ -1192,6 +1203,24 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
                                }
                                break;
                        }
@@ -69,7 +69,7 @@ diff --git a/exclude.c b/exclude.c
                        if (word_split && isspace(ch))
                                break;
                        if (eol_nulls? !ch : (ch == '\n' || ch == '\r'))
-@@ -1202,13 +1231,14 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
+@@ -1201,13 +1230,14 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_
                        else
                                overflow = 1;
                }
index 758a59826134ed05b326633f591b41ffe52d3a89..7bda79e487a1461f2bf257a79303a777861735bf 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -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 },
-@@ -2650,6 +2653,9 @@ void server_options(char **args, int *argc_p)
+@@ -2651,6 +2654,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     compare mod-times with reduced accuracy
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
-@@ -603,6 +604,12 @@ time to just looking for files that have changed in size.  This is useful
+@@ -605,6 +606,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 d7e0cd3b2fed8c17bcc7124c612c849d965ac5bd..48d5df5e19038939ab5465a57983382d74e70f71 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/.gitignore b/.gitignore
 --- a/.gitignore
 +++ b/.gitignore
@@ -133,15 +133,15 @@ diff --git a/Makefile.in b/Makefile.in
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
-@@ -23,6 +23,7 @@
+@@ -24,6 +24,7 @@
  extern int checksum_seed;
  extern int protocol_version;
+ extern int proper_seed_order;
 +extern int use_db;
  
  /*
    a simple 32 bit checksum that can be upadted from either end
-@@ -127,6 +128,9 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
+@@ -136,6 +137,9 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
                        md5_update(&m, (uchar *)map_ptr(buf, i, remainder), remainder);
  
                md5_result(&m, (uchar *)sum);
@@ -151,7 +151,7 @@ diff --git a/checksum.c b/checksum.c
        } else {
                mdfour_begin(&m);
  
-@@ -144,6 +148,9 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
+@@ -153,6 +157,9 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
                        mdfour_update(&m, (uchar *)map_ptr(buf, i, remainder), remainder);
  
                mdfour_result(&m, (uchar *)sum);
@@ -228,7 +228,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -351,6 +351,7 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \
+@@ -344,6 +344,7 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \
      unistd.h utime.h grp.h compat.h sys/param.h ctype.h sys/wait.h \
      sys/ioctl.h sys/filio.h string.h stdlib.h sys/socket.h sys/mode.h \
      sys/un.h sys/attr.h mcheck.h arpa/inet.h arpa/nameser.h locale.h \
@@ -236,7 +236,7 @@ diff --git a/configure.ac b/configure.ac
      netdb.h malloc.h float.h limits.h iconv.h libcharset.h langinfo.h \
      sys/acl.h acl/libacl.h attr/xattr.h sys/xattr.h sys/extattr.h \
      popt.h popt/popt.h linux/falloc.h netinet/in_systm.h netinet/ip.h \
-@@ -1103,6 +1104,48 @@ if test x"$enable_acl_support" = x"no" -o x"$enable_xattr_support" = x"no" -o x"
+@@ -1068,6 +1069,48 @@ if test x"$enable_acl_support" = x"no" -o x"$enable_xattr_support" = x"no" -o x"
      fi
  fi
  
@@ -2298,7 +2298,7 @@ diff --git a/generator.c b/generator.c
                return memcmp(sum, F_SUM(file), checksum_len) == 0;
        }
  
-@@ -2209,6 +2211,13 @@ void generate_files(int f_out, const char *local_name)
+@@ -2223,6 +2225,13 @@ void generate_files(int f_out, const char *local_name)
                        : "enabled");
        }
  
@@ -2312,7 +2312,7 @@ diff --git a/generator.c b/generator.c
        dflt_perms = (ACCESSPERMS & ~orig_umask);
  
        do {
-@@ -2334,6 +2343,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2348,6 +2357,9 @@ void generate_files(int f_out, const char *local_name)
                        wait_for_receiver();
        }
  
@@ -2934,7 +2934,7 @@ diff --git a/rsync.h b/rsync.h
  #define NDX_DONE -1
  #define NDX_FLIST_EOF -2
  #define NDX_DEL_STATS -3
-@@ -1257,7 +1261,8 @@ extern short info_levels[], debug_levels[];
+@@ -1256,7 +1260,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)
@@ -2957,7 +2957,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
-@@ -636,6 +639,67 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -638,6 +641,67 @@ option's before-the-transfer "Does this file need to be updated?" check.
  For protocol 30 and beyond (first supported in 3.0.0), the checksum used is
  MD5.  For older protocols, the checksum used is MD4.
  
@@ -3028,7 +3028,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -313,6 +313,22 @@ is daemon.  This setting has no effect if the "log file" setting is a
+@@ -317,6 +317,22 @@ is daemon.  This setting has no effect if the "log file" setting is a
  non-empty string (either set in the per-modules settings, or inherited
  from the global settings).
  
index 803f9876994b1c80f94a07fd1ed584b876c58102..b3352208c8e60b101c72539fc2f3d23b9df331f8 100644 (file)
@@ -35,7 +35,7 @@ diff --git a/generator.c b/generator.c
                diff = u_strcmp(fmid->basename, f->basename);
                if (diff == 0) {
                        good_match = mid;
-@@ -1925,6 +1927,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1939,6 +1941,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                fnamecmp = partialptr;
                fnamecmp_type = FNAMECMP_PARTIAL_DIR;
                statret = 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 },
-@@ -2637,8 +2641,14 @@ void server_options(char **args, int *argc_p)
+@@ -2638,8 +2642,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
-@@ -1814,6 +1816,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
+@@ -1816,6 +1818,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 262a250f78bc8ed24eeeefa04f9b536377367d89..3936c2f97b256ac6cd6f08d6603ab8a8a54f8061 100644 (file)
@@ -38,11 +38,11 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -44,6 +44,7 @@ extern int checksum_seed;
+@@ -45,6 +45,7 @@ extern int checksum_seed;
  extern int basis_dir_cnt;
  extern int prune_empty_dirs;
  extern int protocol_version;
@@ -50,7 +50,7 @@ diff --git a/compat.c b/compat.c
  extern int protect_args;
  extern int preserve_uid;
  extern int preserve_gid;
-@@ -125,6 +126,7 @@ void set_allow_inc_recurse(void)
+@@ -127,6 +128,7 @@ void set_allow_inc_recurse(void)
                allow_inc_recurse = 0;
        else if (!am_sender
         && (delete_before || delete_after
@@ -470,7 +470,7 @@ diff --git a/generator.c b/generator.c
  static int phase = 0;
  static int dflt_perms;
  
-@@ -1260,7 +1402,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1273,7 +1415,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                         && do_stat(dn, &sx.st) < 0) {
                                if (dry_run)
                                        goto parent_is_dry_missing;
@@ -479,7 +479,7 @@ diff --git a/generator.c b/generator.c
                                        rsyserr(FERROR_XFER, errno,
                                                "recv_generator: mkdir %s failed",
                                                full_fname(dn));
-@@ -1413,7 +1555,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1426,7 +1568,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                if (real_ret != 0 && do_mkdir(fname,file->mode|added_perms) < 0 && errno != EEXIST) {
                        if (!relative_paths || errno != ENOENT
@@ -488,7 +488,7 @@ diff --git a/generator.c b/generator.c
                         || (do_mkdir(fname, file->mode|added_perms) < 0 && errno != EEXIST)) {
                                rsyserr(FERROR_XFER, errno,
                                        "recv_generator: mkdir %s failed",
-@@ -1462,9 +1604,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1475,9 +1617,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                }
                else if (delete_during && f_out != -1 && !phase
                    && !(file->flags & FLAG_MISSING_DIR)) {
@@ -503,8 +503,8 @@ diff --git a/generator.c b/generator.c
 +                      } else
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
-               goto cleanup;
-@@ -1729,8 +1874,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+               prior_dir_file = file;
+@@ -1743,8 +1888,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        goto cleanup;
                }
  #endif
@@ -520,7 +520,7 @@ diff --git a/generator.c b/generator.c
                rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s",
                        full_fname(fname));
                goto cleanup;
-@@ -2190,6 +2341,12 @@ void generate_files(int f_out, const char *local_name)
+@@ -2204,6 +2355,12 @@ void generate_files(int f_out, const char *local_name)
        if (DEBUG_GTE(GENR, 1))
                rprintf(FINFO, "generator starting pid=%d\n", (int)getpid());
  
@@ -533,7 +533,7 @@ diff --git a/generator.c b/generator.c
        if (delete_before && !solo_file && cur_flist->used > 0)
                do_delete_pass();
        if (delete_during == 2) {
-@@ -2200,7 +2357,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2214,7 +2371,7 @@ void generate_files(int f_out, const char *local_name)
        }
        info_levels[INFO_FLIST] = info_levels[INFO_PROGRESS] = 0;
  
@@ -542,7 +542,7 @@ diff --git a/generator.c b/generator.c
                whole_file = 0;
        if (DEBUG_GTE(FLIST, 1)) {
                rprintf(FINFO, "delta-transmission %s\n",
-@@ -2236,7 +2393,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2250,7 +2407,7 @@ void generate_files(int f_out, const char *local_name)
                                                dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                        } else
                                                dirdev = MAKEDEV(0, 0);
@@ -551,7 +551,7 @@ diff --git a/generator.c b/generator.c
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
-@@ -2283,7 +2440,21 @@ void generate_files(int f_out, const char *local_name)
+@@ -2297,7 +2454,21 @@ void generate_files(int f_out, const char *local_name)
        } while ((cur_flist = cur_flist->next) != NULL);
  
        if (delete_during)
@@ -630,7 +630,7 @@ diff --git a/options.c b/options.c
                                 delay_updates ? "delay-updates" : "partial-dir");
                        return 0;
                }
-@@ -2633,6 +2637,8 @@ void server_options(char **args, int *argc_p)
+@@ -2634,6 +2638,8 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--super";
                if (size_only)
                        args[ac++] = "--size-only";
@@ -682,7 +682,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
-@@ -1798,6 +1799,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -1800,6 +1801,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 96d971d1ed5b3eeec6e98585ebf2bf6f3a3e3139..0ea1833f617431cf905ba1228bcfeda389db8153 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -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
-@@ -2367,6 +2368,14 @@ See also the "atomic-rsync" perl script in the "support" subdir for an
+@@ -2369,6 +2370,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 52a7d06c6d82ae9a0609280f1bce77bdee57283e..4c4c59b41b20a4ab4c5bfeb8c78e890f882c427d 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -19,7 +19,7 @@ diff --git a/generator.c b/generator.c
  extern int human_readable;
  extern int ignore_existing;
  extern int ignore_non_existing;
-@@ -1671,6 +1672,13 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1685,6 +1686,13 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
@@ -33,7 +33,7 @@ diff --git a/generator.c b/generator.c
        fnamecmp_type = FNAMECMP_FNAME;
  
        if (statret == 0 && !S_ISREG(sx.st.st_mode)) {
-@@ -2096,6 +2104,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2110,6 +2118,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
                        ignore_existing = -ignore_existing;
                        ignore_non_existing = -ignore_non_existing;
                        update_only = -update_only;
@@ -41,7 +41,7 @@ diff --git a/generator.c b/generator.c
                        always_checksum = -always_checksum;
                        size_only = -size_only;
                        append_mode = -append_mode;
-@@ -2121,6 +2130,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2135,6 +2144,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
                        ignore_existing = -ignore_existing;
                        ignore_non_existing = -ignore_non_existing;
                        update_only = -update_only;
index 3771bfc7dfa126d306e7f397b65b463487c2381b..f49b550a5c20ed2bea8f849e8aae6dc0ed2cfab7 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -33,7 +33,7 @@ diff --git a/Makefile.in b/Makefile.in
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -44,9 +44,11 @@ extern int checksum_seed;
+@@ -45,9 +45,11 @@ extern int checksum_seed;
  extern int basis_dir_cnt;
  extern int prune_empty_dirs;
  extern int protocol_version;
@@ -45,7 +45,7 @@ diff --git a/compat.c b/compat.c
  extern int preserve_acls;
  extern int preserve_xattrs;
  extern int need_messages_from_generator;
-@@ -64,7 +66,7 @@ extern char *iconv_opt;
+@@ -65,7 +67,7 @@ extern char *iconv_opt;
  #endif
  
  /* These index values are for the file-list's extra-attribute array. */
@@ -54,7 +54,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 */
-@@ -142,6 +144,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -144,6 +146,8 @@ void setup_protocol(int f_out,int f_in)
                uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
@@ -66,7 +66,7 @@ diff --git a/compat.c b/compat.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -600,6 +600,7 @@ AC_FUNC_UTIME_NULL
+@@ -593,6 +593,7 @@ AC_FUNC_UTIME_NULL
  AC_FUNC_ALLOCA
  AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
      fchmod fstat ftruncate strchr readlink link utime utimes lutimes strftime \
@@ -257,7 +257,7 @@ diff --git a/generator.c b/generator.c
  #ifdef SUPPORT_ACLS
                if (preserve_acls && !S_ISLNK(file->mode)) {
                        if (!ACL_READY(*sxp))
-@@ -1395,6 +1406,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1408,6 +1419,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        file->mode = dest_mode(file->mode, sx.st.st_mode,
                                               dflt_perms, statret == 0);
                }
@@ -268,7 +268,7 @@ diff --git a/generator.c b/generator.c
                if (statret != 0 && basis_dir[0] != NULL) {
                        int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx,
                                              itemizing, code);
-@@ -1439,10 +1454,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1452,10 +1467,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                 * readable and writable permissions during the time we are
                 * putting files within them.  This is then restored to the
                 * former permissions after the transfer is done. */
@@ -285,7 +285,7 @@ diff --git a/generator.c b/generator.c
                                rsyserr(FERROR_XFER, errno,
                                        "failed to modify permissions on %s",
                                        full_fname(fname));
-@@ -1477,6 +1497,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1491,6 +1511,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms,
                                       exists);
        }
@@ -296,7 +296,7 @@ diff --git a/generator.c b/generator.c
  
  #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
-@@ -2045,13 +2069,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2059,13 +2083,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        continue;
                fname = f_name(file, NULL);
                if (fix_dir_perms)
@@ -470,7 +470,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 },
-@@ -2540,6 +2566,9 @@ void server_options(char **args, int *argc_p)
+@@ -2541,6 +2567,9 @@ void server_options(char **args, int *argc_p)
        if (xfer_dirs && !recurse && delete_mode && am_sender)
                args[ac++] = "--no-r";
  
@@ -480,7 +480,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;
-@@ -2627,6 +2656,16 @@ void server_options(char **args, int *argc_p)
+@@ -2628,6 +2657,16 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = "--delete-excluded";
                if (force_delete)
                        args[ac++] = "--force";
@@ -715,7 +715,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
-@@ -644,7 +648,8 @@ specified, in which case bf(-r) is not implied.
+@@ -646,7 +650,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
@@ -725,7 +725,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-":
-@@ -948,7 +953,7 @@ they would be using bf(--copy-links).
+@@ -950,7 +955,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
@@ -734,7 +734,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  See also bf(--keep-dirlinks) for an analogous option for the receiving
  side.
-@@ -1111,6 +1116,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
+@@ -1113,6 +1118,29 @@ Note that this option does not copy rsyncs 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).
  
@@ -764,7 +764,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
-@@ -1440,12 +1468,13 @@ display as a "*missing" entry in the bf(--list-only) output.
+@@ -1442,12 +1470,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.
  
@@ -781,7 +781,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
-@@ -2079,7 +2108,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -2081,7 +2110,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
@@ -790,7 +790,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.
-@@ -2135,7 +2164,7 @@ quote(itemization(
+@@ -2137,7 +2166,7 @@ quote(itemization(
    sender's value (requires bf(--owner) and super-user privileges).
    it() A bf(g) means the group is different and is being updated to the
    sender's value (requires bf(--group) and the authority to set the group).
index bec6a523c94828cb53a14173d1fd26e1839ad08c..9c7e13bbb4f8de3487ce2e06b234c61bb230acb5 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -27,8 +27,8 @@ diff --git a/exclude.c b/exclude.c
  
  #define SLASH_WILD3_SUFFIX "/***"
  
-@@ -118,8 +121,27 @@ static void teardown_mergelist(filter_rule *ex)
-       mergelist_cnt--;
+@@ -124,8 +127,27 @@ static void teardown_mergelist(filter_rule *ex)
+               mergelist_cnt--;
  }
  
 +static struct filter_chmod_struct *ref_filter_chmod(struct filter_chmod_struct *chmod)
@@ -52,10 +52,10 @@ diff --git a/exclude.c b/exclude.c
  {
 +      if (ex->rflags & FILTRULE_CHMOD)
 +              unref_filter_chmod(ex->chmod);
+       if (ex->rflags & FILTRULE_PERDIR_MERGE)
+               teardown_mergelist(ex);
        free(ex->pattern);
-       free(ex);
- }
-@@ -722,7 +744,8 @@ static void report_filter_result(enum logcode code, char const *name,
+@@ -720,7 +742,8 @@ static void report_filter_result(enum logcode code, char const *name,
  }
  
  /* Return -1 if file "name" is defined to be excluded by the specified
@@ -65,7 +65,7 @@ diff --git a/exclude.c b/exclude.c
  int check_filter(filter_rule_list *listp, enum logcode code,
                 const char *name, int name_is_dir)
  {
-@@ -748,10 +771,12 @@ int check_filter(filter_rule_list *listp, enum logcode code,
+@@ -746,10 +769,12 @@ int check_filter(filter_rule_list *listp, enum logcode code,
                if (rule_matches(name, ent, name_is_dir)) {
                        report_filter_result(code, name, ent, name_is_dir,
                                             listp->debug_type);
@@ -78,7 +78,7 @@ diff --git a/exclude.c b/exclude.c
        return 0;
  }
  
-@@ -768,9 +793,46 @@ static const uchar *rule_strcmp(const uchar *str, const char *rule, int rule_len
+@@ -766,9 +791,46 @@ static const uchar *rule_strcmp(const uchar *str, const char *rule, int rule_len
        return NULL;
  }
  
@@ -126,7 +126,7 @@ diff --git a/exclude.c b/exclude.c
  
  /* Gets the next include/exclude rule from *rulestr_ptr and advances
   * *rulestr_ptr to point beyond it.  Stores the pattern's start (within
-@@ -785,6 +847,7 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -783,6 +845,7 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
                                   const char **pat_ptr, unsigned int *pat_len_ptr)
  {
        const uchar *s = (const uchar *)*rulestr_ptr;
@@ -134,7 +134,7 @@ diff --git a/exclude.c b/exclude.c
        filter_rule *rule;
        unsigned int len;
  
-@@ -804,6 +867,12 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -802,6 +865,12 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
        /* Inherit from the template.  Don't inherit FILTRULES_SIDES; we check
         * that later. */
        rule->rflags = template->rflags & FILTRULES_FROM_CONTAINER;
@@ -147,7 +147,7 @@ diff --git a/exclude.c b/exclude.c
  
        /* Figure out what kind of a filter rule "s" is pointing at.  Note
         * that if FILTRULE_NO_PREFIXES is set, the rule is either an include
-@@ -949,11 +1018,63 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
+@@ -947,11 +1016,63 @@ static filter_rule *parse_rule_tok(const char **rulestr_ptr,
                                        goto invalid;
                                rule->rflags |= FILTRULE_EXCLUDE_SELF;
                                break;
@@ -211,7 +211,7 @@ diff --git a/exclude.c b/exclude.c
                        case 'p':
                                rule->rflags |= FILTRULE_PERISHABLE;
                                break;
-@@ -1271,6 +1392,23 @@ char *get_rule_prefix(filter_rule *rule, const char *pat, int for_xfer,
+@@ -1270,6 +1391,23 @@ char *get_rule_prefix(filter_rule *rule, const char *pat, int for_xfer,
                else if (am_sender)
                        return NULL;
        }
@@ -386,7 +386,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -1133,6 +1133,8 @@ quote(--chmod=D2775,F664)
+@@ -1135,6 +1135,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.
@@ -395,7 +395,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.
-@@ -2029,6 +2031,10 @@ be omitted, but if USER is empty, a leading colon must be supplied.
+@@ -2031,6 +2033,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.
  
@@ -406,7 +406,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--timeout=TIMEOUT)) This option allows you to set a maximum I/O
  timeout in seconds. If no data is transferred for the specified time
  then rsync will exit. The default is 0, which means no timeout.
-@@ -2888,6 +2894,15 @@ itemization(
+@@ -2890,6 +2896,15 @@ itemization(
    option's default rules that exclude things like "CVS" and "*.o" are
    marked as perishable, and will not prevent a directory that was removed
    on the source from being deleted on the destination.
@@ -422,7 +422,7 @@ diff --git a/rsync.yo b/rsync.yo
  )
  
  manpagesection(MERGE-FILE FILTER RULES)
-@@ -2949,6 +2964,12 @@ itemization(
+@@ -2951,6 +2966,12 @@ itemization(
    a rule prefix such as bf(hide)).
  )
  
index 6e2867d921843488bfe7ac4ff73d8affa68bc57c..e1e897e4654e98e7a941869663bd34f220a3d548 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -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 },
-@@ -2712,6 +2715,9 @@ void server_options(char **args, int *argc_p)
+@@ -2713,6 +2716,9 @@ void server_options(char **args, int *argc_p)
                        args[ac++] = tmpdir;
                }
  
index 7be354124f72ca4c935b1b484f716e726471b3e4..e30666bccdf39fcfcad02d2b2be1d89f0a98b810 100644 (file)
@@ -43,7 +43,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_links;
  extern int preserve_devices;
  extern int preserve_specials;
-@@ -1762,6 +1763,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1776,6 +1777,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                        fname, fnamecmpbuf);
                        }
                        sx.st.st_size = F_LENGTH(fuzzy_file);
@@ -58,7 +58,7 @@ diff --git a/generator.c b/generator.c
                        statret = 0;
                        fnamecmp = fnamecmpbuf;
                }
-@@ -1929,6 +1938,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1943,6 +1952,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
        if (read_batch)
                goto cleanup;
  
@@ -296,7 +296,7 @@ diff --git a/options.c b/options.c
        if (block_size > MAX_BLOCK_SIZE) {
                snprintf(err_buf, sizeof err_buf,
                         "--block-size=%lu is too large (max: %u)\n", block_size, MAX_BLOCK_SIZE);
-@@ -2576,6 +2596,11 @@ void server_options(char **args, int *argc_p)
+@@ -2577,6 +2597,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)
-@@ -1140,6 +1142,42 @@ flags on files and directories that are being updated or deleted on the
+@@ -1142,6 +1144,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 32e892214c4f951decfd5af9961a60e4fbfee9d7..7eb0f59b36f45349c8251ba3ca8f5f0b5a895eff 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -24,7 +24,7 @@ diff --git a/exclude.c b/exclude.c
  
  extern int am_server;
  extern int am_sender;
-@@ -687,16 +688,15 @@ static int rule_matches(const char *fname, filter_rule *ex, int name_is_dir)
+@@ -685,16 +686,15 @@ static int rule_matches(const char *fname, filter_rule *ex, int name_is_dir)
                if (litmatch_array(pattern, strings, slash_handling))
                        return ret_match;
        } else if (anchored_match) {
@@ -56,7 +56,7 @@ diff --git a/flist.c b/flist.c
  extern int ignore_errors;
  extern int numeric_ids;
  extern int recurse;
-@@ -3048,6 +3049,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3076,6 +3077,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;
-@@ -3158,7 +3160,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -3186,7 +3188,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
                        if (type1 != type2)
                                return type1 == t_PATH ? 1 : -1;
                }
@@ -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},
-@@ -2662,6 +2666,9 @@ void server_options(char **args, int *argc_p)
+@@ -2663,6 +2667,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
-@@ -1749,6 +1750,10 @@ default (with is overridden by both the environment and the command-line).
+@@ -1751,6 +1752,10 @@ default (with is overridden by both the environment and the command-line).
  This option will eventually become a new default setting at some
  as-yet-undetermined point in the future.
  
index 861716e30c9f8f53dd57d88b7a66358b42486eb4..c79248923e7d3be55989c90e4a3f4c97db2c947a 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -78,7 +78,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -678,6 +678,31 @@ if test x"$enable_iconv" != x"no"; then
+@@ -665,6 +665,31 @@ if test x"$enable_iconv" != x"no"; then
        AC_DEFINE(UTF8_CHARSET, "UTF-8", [String to pass to iconv() for the UTF-8 charset.])
  fi
  
@@ -108,7 +108,7 @@ diff --git a/configure.ac b/configure.ac
 +fi
 +
  AC_CACHE_CHECK([whether chown() modifies symlinks],rsync_cv_chown_modifies_symlink,[
-   AC_TRY_RUN([
+   AC_RUN_IFELSE([AC_LANG_SOURCE([[
  #if HAVE_UNISTD_H
 diff --git a/gss-auth.c b/gss-auth.c
 new file mode 100644
index 8a608c9c51880cbfbe58c004027ec321da90978d..6ef85da9ade4343e648b4095d1210f7726895177 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -28,19 +28,20 @@ diff --git a/Makefile.in b/Makefile.in
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
-@@ -21,8 +21,11 @@
+@@ -21,9 +21,12 @@
  
  #include "rsync.h"
  
 +extern int checksum_len;
  extern int checksum_seed;
  extern int protocol_version;
+ extern int proper_seed_order;
 +extern char *link_by_hash_dir;
 +extern char link_by_hash_extra_sum[MAX_DIGEST_LEN];
  
  /*
    a simple 32 bit checksum that can be upadted from either end
-@@ -151,7 +154,7 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
+@@ -160,7 +163,7 @@ void file_checksum(const char *fname, const STRUCT_STAT *st_p, char *sum)
  }
  
  static int32 sumresidue;
@@ -49,7 +50,7 @@ diff --git a/checksum.c b/checksum.c
  
  void sum_init(int seed)
  {
-@@ -164,6 +167,8 @@ void sum_init(int seed)
+@@ -173,6 +176,8 @@ void sum_init(int seed)
                sumresidue = 0;
                SIVAL(s, 0, seed);
                sum_update(s, 4);
@@ -58,7 +59,7 @@ diff --git a/checksum.c b/checksum.c
        }
  }
  
-@@ -182,6 +187,9 @@ void sum_update(const char *p, int32 len)
+@@ -191,6 +196,9 @@ void sum_update(const char *p, int32 len)
                return;
        }
  
@@ -68,7 +69,7 @@ diff --git a/checksum.c b/checksum.c
        if (len + sumresidue < CSUM_CHUNK) {
                memcpy(md.buffer + sumresidue, p, len);
                sumresidue += len;
-@@ -214,6 +222,9 @@ int sum_end(char *sum)
+@@ -223,6 +231,9 @@ int sum_end(char *sum)
                return MD5_DIGEST_LEN;
        }
  
@@ -102,7 +103,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
-@@ -56,6 +56,7 @@ extern char *partial_dir;
+@@ -57,6 +57,7 @@ extern char *partial_dir;
  extern char *dest_option;
  extern char *files_from;
  extern char *filesfrom_host;
@@ -336,7 +337,7 @@ diff --git a/options.c b/options.c
        }
        if (daemon_filter_list.head && !am_sender) {
                filter_rule_list *elp = &daemon_filter_list;
-@@ -2741,6 +2765,12 @@ void server_options(char **args, int *argc_p)
+@@ -2742,6 +2766,12 @@ void server_options(char **args, int *argc_p)
        } else if (inplace)
                args[ac++] = "--inplace";
  
@@ -374,7 +375,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -1266,7 +1266,8 @@ extern short info_levels[], debug_levels[];
+@@ -1265,7 +1265,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)
@@ -395,7 +396,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
-@@ -1879,6 +1880,48 @@ bf(--link-dest) from working properly for a non-super-user when bf(-o) was
+@@ -1881,6 +1882,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.
  
@@ -447,7 +448,7 @@ diff --git a/rsync.yo b/rsync.yo
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -284,6 +284,21 @@ message telling them to try later.  The default is 0, which means no limit.
+@@ -288,6 +288,21 @@ message telling them to try later.  The default is 0, which means no limit.
  A negative value disables the module.
  See also the "lock file" parameter.
  
index 7ee33f1d7d36de126f2a284ce8349402e143af6d..c0a13b66d948449159b4c23e4194c9f95e1e837b 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/authenticate.c b/authenticate.c
 --- a/authenticate.c
 +++ b/authenticate.c
@@ -216,7 +216,7 @@ diff --git a/loadparm.c b/loadparm.c
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -195,10 +195,11 @@ if the module is not read-only).
+@@ -199,10 +199,11 @@ if the module is not read-only).
  
  When this parameter is enabled, rsync will not attempt to map users and groups
  by name (by default), but instead copy IDs as though bf(--numeric-ids) had
@@ -230,7 +230,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  process in the chroot hierarchy will need to have access to the resources
  used by these library functions (traditionally /etc/passwd and
  /etc/group, but perhaps additional dynamic libraries as well).
-@@ -264,6 +265,27 @@ path elements that rsync believes will allow a symlink to escape the module's
+@@ -268,6 +269,27 @@ path elements that rsync believes will allow a symlink to escape the module's
  hierarchy.  There are tricky ways to work around this, though, so you had
  better trust your users if you choose this combination of parameters.
  
index 15df3baf573799513bba3d45a378ef2fd225c955..8bb67dd8b6521a0fb0cb85779a09fa1c84d41040 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 650c5ebfe1185a824ac063d9298c87521975731e..2597089bc9b538bee0a20364b8d59b73d68914f7 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -42,7 +42,7 @@ diff --git a/generator.c b/generator.c
                        iflags |= ITEM_REPORT_GROUP;
  #ifdef SUPPORT_ACLS
                if (preserve_acls && !S_ISLNK(file->mode)) {
-@@ -1391,7 +1394,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1404,7 +1407,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                real_ret = statret;
                if (file->flags & FLAG_DIR_CREATED)
                        statret = -1;
@@ -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                handle sparse files efficiently
-@@ -1197,6 +1198,10 @@ directories.
+@@ -1199,6 +1200,10 @@ directories.
  dit(bf(-J, --omit-link-times)) This tells rsync to omit symlinks when
  it is preserving modification times (see bf(--times)).
  
index 8f73ab4490fbd6f765346dc3c46c095e1b2546a9..b65a9cf2d57c50b2f2c51d92020d768a5281faca 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 5f2268039964f7b2725c2e9c726c920bb0cb0bc8..358a3b7fe9f8774e507d78ec8f167a9856d8a9ad 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -61,7 +61,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -737,6 +737,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
+@@ -721,6 +721,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
      AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.])
  fi
  
@@ -89,7 +89,7 @@ diff --git a/configure.ac b/configure.ac
 +AC_SUBST(SLPOBJ)
 +
  AC_CACHE_CHECK([for working socketpair],rsync_cv_HAVE_SOCKETPAIR,[
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
  #include <sys/types.h>
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
@@ -218,7 +218,7 @@ new file mode 100644
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -124,6 +124,15 @@ via the bf(--sockopts) command-line option.
+@@ -126,6 +126,15 @@ via the bf(--sockopts) command-line option.
  dit(bf(listen backlog)) You can override the default backlog value when the
  daemon listens for connections.  It defaults to 5.
  
@@ -234,7 +234,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  enddit()
  
  manpagesection(MODULE PARAMETERS)
-@@ -853,6 +862,7 @@ use chroot = yes
+@@ -857,6 +866,7 @@ use chroot = yes
  max connections = 4
  syslog facility = local5
  pid file = /var/run/rsyncd.pid
index 895519af9a4b8a01c508b67f08e115525107526e..971fbd26c596169d0f4e354fb33fd2c6a46a08ea 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index ecb2d42ee20d0a7c2ac48b6a477e5badf6c350e0..638c634511f51f2cd441e3a0e77e31b96c71fa93 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -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 },
-@@ -2641,6 +2644,8 @@ void server_options(char **args, int *argc_p)
+@@ -2642,6 +2645,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
-@@ -1337,6 +1338,14 @@ bf(--exclude='*.new') for the rsync transfer).
+@@ -1339,6 +1340,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.
  
@@ -91,7 +91,7 @@ diff --git a/sender.c b/sender.c
  
        if (!remove_source_files)
                return;
-@@ -152,7 +154,11 @@ void successful_send(int ndx)
+@@ -153,7 +155,11 @@ void successful_send(int ndx)
                return;
        }
  
index a3727d44237deb022be92fa4cf75c41397e87c93..916f537de5678c9fc2b9427b0f7da0416183bd91 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -134,7 +134,7 @@ diff --git a/options.c b/options.c
        if (files_from) {
                char *h, *p;
                int q;
-@@ -2650,6 +2669,25 @@ void server_options(char **args, int *argc_p)
+@@ -2651,6 +2670,25 @@ void server_options(char **args, int *argc_p)
        else if (missing_args == 1 && !am_sender)
                args[ac++] = "--ignore-missing-args";
  
@@ -351,7 +351,7 @@ diff --git a/rsync.yo b/rsync.yo
       --protocol=NUM          force an older protocol version to be used
       --iconv=CONVERT_SPEC    request charset conversion of filenames
       --checksum-seed=NUM     set block/file checksum seed (advanced)
-@@ -2548,6 +2551,33 @@ file previously generated by bf(--write-batch).
+@@ -2550,6 +2553,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.
  
@@ -396,7 +396,7 @@ diff --git a/sender.c b/sender.c
  extern struct stats stats;
  extern struct file_list *cur_flist, *first_flist, *dir_flist;
  
-@@ -201,6 +202,26 @@ void send_files(int f_in, int f_out)
+@@ -202,6 +203,26 @@ void send_files(int f_in, int f_out)
        int f_xfer = write_batch < 0 ? batch_fd : f_out;
        int save_io_error = io_error;
        int ndx, j;
@@ -423,7 +423,7 @@ diff --git a/sender.c b/sender.c
  
        if (DEBUG_GTE(SEND, 1))
                rprintf(FINFO, "send_files starting\n");
-@@ -335,6 +356,7 @@ void send_files(int f_in, int f_out)
+@@ -336,6 +357,7 @@ void send_files(int f_in, int f_out)
                        exit_cleanup(RERR_PROTOCOL);
                }
  
@@ -431,7 +431,7 @@ diff --git a/sender.c b/sender.c
                fd = do_open(fname, O_RDONLY, 0);
                if (fd == -1) {
                        if (errno == ENOENT) {
-@@ -356,6 +378,33 @@ void send_files(int f_in, int f_out)
+@@ -357,6 +379,33 @@ void send_files(int f_in, int f_out)
                        continue;
                }
  
@@ -465,7 +465,7 @@ diff --git a/sender.c b/sender.c
                /* map the local file */
                if (do_fstat(fd, &st) != 0) {
                        io_error |= IOERR_GENERAL;
-@@ -406,6 +455,8 @@ void send_files(int f_in, int f_out)
+@@ -407,6 +456,8 @@ void send_files(int f_in, int f_out)
                        }
                }
                close(fd);
index 45cd62eb41f5c842a94f74fcfc7a69535bf533a9..3651a7377d6049ebe2e6fef92ede1315fbd43595 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
@@ -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 },
-@@ -2573,6 +2576,12 @@ void server_options(char **args, int *argc_p)
+@@ -2574,6 +2577,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
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
-@@ -1253,6 +1254,15 @@ filesystem, but with this option rsync will probably copy more slowly.  If the
+@@ -1255,6 +1256,15 @@ filesystem, but with this option rsync will probably copy more slowly.  If the
  destination is not an extent-supporting filesystem (such as ext4, xfs, NTFS,
  etc.), this option may have no positive effect at all.
  
index 560accf9618113bb945a3321c15d5373a53259f4..3b143a5ad95f3b08c70c2180d6416e1aad36a424 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
@@ -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. */
-@@ -2585,6 +2621,15 @@ void server_options(char **args, int *argc_p)
+@@ -2586,6 +2622,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
-@@ -2522,6 +2524,19 @@ files can show up as being rapidly sent when the data is quickly buffered,
+@@ -2524,6 +2526,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 0ba878eb407ebab000239aaba5c7d32e661f0731..baddd376287cfb4cb97b32ade7664048eac17f45 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -137,7 +137,7 @@ diff --git a/options.c b/options.c
        am_starting_up = 0;
  
        return 1;
-@@ -2758,6 +2779,12 @@ void server_options(char **args, int *argc_p)
+@@ -2759,6 +2780,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
-@@ -2586,6 +2587,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -2588,6 +2589,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 8418ab8bd6ab7d2269458870add8da7856f838c8..5b0b625b370347e98e1c535f0616510326e00702 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: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 38a89666917430ec86408211cd5b82741269f953..58f248ea1fb03898fca9a7fe8c1228baa4112da0 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
 This patch has not yet been tested by me (Wayne), but was provided
 Darryl Dixon.  Thanks!
 
-based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
+based-on: f8d2ecd223eedabdf3174762b64c77cb01cc403b
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -22,7 +22,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_specials;
  extern int preserve_hard_links;
  extern int preserve_executability;
-@@ -1673,7 +1674,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1687,7 +1688,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
  
        fnamecmp_type = FNAMECMP_FNAME;
  
@@ -70,7 +70,7 @@ diff --git a/options.c b/options.c
                default:
                        /* A large opt value means that set_refuse_options()
                         * turned this option off. */
-@@ -2758,6 +2766,9 @@ void server_options(char **args, int *argc_p)
+@@ -2759,6 +2767,9 @@ void server_options(char **args, int *argc_p)
        if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30))
                args[ac++] = "--no-implied-dirs";
  
index a8acba0fe7d877a9da239e721955daa1a809b20e..d0317e3e07cf39407f0a1355cb7e6a8f6d9c0ebb 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
-@@ -203,13 +203,6 @@ void setup_protocol(int f_out,int f_in)
+@@ -205,13 +205,6 @@ void setup_protocol(int f_out,int f_in)
        if (protocol_version < 30) {
                if (append_mode == 1)
                        append_mode = 2;