The patches for 3.0.9pre2. v3.0.9pre2
authorWayne Davison <wayned@samba.org>
Sat, 10 Sep 2011 21:52:23 +0000 (14:52 -0700)
committerWayne Davison <wayned@samba.org>
Sat, 10 Sep 2011 21:52:23 +0000 (14:52 -0700)
43 files changed:
acls.diff
adaptec_acl_mods.diff
atimes.diff
backup-dir-dels.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
copy-devices.diff
crtimes.diff
cvs-entries.diff
daemon-forward-lookup.diff
date-only.diff
db.diff
detect-renamed-lax.diff
detect-renamed.diff
downdate.diff
dparam.diff
drop-cache.diff
fileflags.diff
fsync.diff
hfs-compression.diff
ignore-case.diff
link-by-hash.diff
log-checksum.diff
munge-links.diff
nameconverter.diff
netgroup-auth.diff
omit-dir-changes.diff
openssl-support.diff
preallocate.diff
remote-option.diff
slow-down.diff
slp.diff
soften-links.diff
source-backup.diff
source-filter_dest-filter.diff
sparse-block.diff
stdout.diff
time-limit.diff
transliterate.diff
tru64.diff
usermap.diff

index 07e68ef14e104a29312295d77f5fee6034652b53..46b4e99cd41f4f0d7268b221e173889e8d567e6b 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/acls.c b/acls.c
 --- a/acls.c
 +++ b/acls.c
index 1ea6b65e517fed7513143091097d50a18e03d4e8..b85014efede4da672ab68138923ceae8e26fa1c3 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index 0a08350450c79d625cddd23a231be496658eb230..a313ba64145d114a61bb3c5778355a5d87d5b5c4 100644 (file)
@@ -4,7 +4,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -178,7 +178,7 @@ diff --git a/generator.c b/generator.c
                        f_name(f, NULL));
        }
  }
-@@ -2120,7 +2129,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2121,7 +2130,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        STRUCT_STAT st;
                        if (link_stat(fname, &st, 0) == 0
                         && cmp_time(st.st_mtime, file->modtime) != 0)
@@ -389,7 +389,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
-@@ -1058,6 +1059,12 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1064,6 +1065,12 @@ 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).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
@@ -402,7 +402,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--super)) This tells the receiving side to attempt super-user
  activities even if the receiving rsync wasn't run by the super-user.  These
  activities include: preserving users via the bf(--owner) option, preserving
-@@ -1809,7 +1816,10 @@ quote(itemization(
+@@ -1815,7 +1822,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 2e5fb4aac6faea9b26cade7337acff356850365a..20ae9378a145bc0290390ae84a7ee3c7da693a54 100644 (file)
@@ -19,7 +19,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/backup.c b/backup.c
 --- a/backup.c
 +++ b/backup.c
index edbd76d87e204c3da684a0894d14b8fde30dcda0..c6758f7c2edc585ef0ec456e6456d8f76d03a9bd 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
@@ -108,7 +108,7 @@ diff --git a/main.c b/main.c
 diff --git a/socket.c b/socket.c
 --- a/socket.c
 +++ b/socket.c
-@@ -521,7 +521,17 @@ int is_a_socket(int fd)
+@@ -532,7 +532,17 @@ int is_a_socket(int fd)
  static RETSIGTYPE sigchld_handler(UNUSED(int val))
  {
  #ifdef WNOHANG
index cd7e0f24563217fb8efd4515b9798583f5cd47d0..129795218a89b9944acaf2d43644aae360a4af62 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
@@ -392,7 +392,7 @@ diff --git a/flist.c b/flist.c
        if (basename_len == 0+1) {
                if (!pool)
                        unmake_file(file);
-@@ -2301,7 +2557,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2307,7 +2563,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                         * file-list to check if this is a 1-file xfer. */
                        send_extra_file_list(f, 1);
                }
@@ -402,7 +402,7 @@ diff --git a/flist.c b/flist.c
  
        return flist;
  }
-@@ -2419,7 +2676,7 @@ struct file_list *recv_file_list(int f)
+@@ -2425,7 +2682,7 @@ struct file_list *recv_file_list(int f)
        else if (f >= 0)
                recv_id_list(f, flist);
  
@@ -411,7 +411,7 @@ diff --git a/flist.c b/flist.c
  
        if (protocol_version < 30) {
                /* Recv the io_error flag */
-@@ -2639,7 +2896,7 @@ void flist_free(struct file_list *flist)
+@@ -2645,7 +2902,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. */
@@ -420,7 +420,7 @@ diff --git a/flist.c b/flist.c
  {
        char fbuf[MAXPATHLEN];
        int i, prev_i;
-@@ -2690,7 +2947,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2696,7 +2953,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. */
@@ -429,7 +429,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;
-@@ -2706,8 +2963,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2712,8 +2969,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
                        } else
                                keep = j, drop = i;
  
@@ -440,7 +440,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);
-@@ -2729,7 +2986,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2735,7 +2992,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
        }
        flist->high = prev_i;
  
@@ -530,7 +530,7 @@ diff --git a/generator.c b/generator.c
                }
  
                statret = link_stat(fname, &sx.st, keep_dirlinks && is_dir);
-@@ -1854,7 +1863,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1855,7 +1864,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)
                ;
@@ -724,7 +724,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
-@@ -520,9 +521,9 @@ uses a "quick check" that (by default) checks if each file's size and time
+@@ -526,9 +527,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
@@ -737,7 +737,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
-@@ -530,6 +531,8 @@ its checksums when it is scanning for changed files, and will checksum any
+@@ -536,6 +537,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.
  
@@ -746,7 +746,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
-@@ -539,6 +542,36 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -545,6 +548,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.
  
@@ -786,7 +786,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
-@@ -281,6 +281,17 @@ locking on this file to ensure that the max connections limit is not
+@@ -287,6 +287,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 4bf29a110b6f5466e80e1763b31aaadbf969d352..3431deef9cdf40a24d7313b53d219f52a8bc7b27 100644 (file)
@@ -424,7 +424,7 @@ diff --git a/flist.c b/flist.c
                else
                        file_checksum(thisname, st.st_size, tmp_sum);
        }
-@@ -1937,6 +2150,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1938,6 +2151,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". */
-@@ -2560,6 +2776,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2566,6 +2782,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
        } else
                flist_eof = 1;
  
@@ -474,7 +474,7 @@ diff --git a/generator.c b/generator.c
                        }
                        need_new_dirscan = 0;
                }
-@@ -1571,6 +1573,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1572,6 +1574,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        else
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
@@ -482,7 +482,7 @@ diff --git a/generator.c b/generator.c
                goto cleanup;
        }
  
-@@ -1869,6 +1872,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1870,6 +1873,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
-@@ -2312,6 +2317,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2319,6 +2324,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];
-@@ -2396,6 +2402,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2403,6 +2409,9 @@ void generate_files(int f_out, const char *local_name)
                        wait_for_receiver();
        }
  
@@ -520,7 +520,7 @@ diff --git a/io.c b/io.c
  extern int protocol_version;
  extern int remove_source_files;
  extern int preserve_hard_links;
-@@ -183,6 +184,9 @@ static void got_flist_entry_status(enum festatus status, const char *buf)
+@@ -188,6 +189,9 @@ static void got_flist_entry_status(enum festatus status, const char *buf)
                                flist_ndx_push(&hlink_list, ndx);
                                flist->in_progress++;
                        }
@@ -528,8 +528,8 @@ diff --git a/io.c b/io.c
 +                      struct file_struct *file = flist->files[ndx - flist->ndx_start];
 +                      set_cached_checksum(flist, file);
                }
+ #endif
                break;
-       case FES_REDO:
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
 +++ b/loadparm.c
@@ -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
-@@ -551,9 +551,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
+@@ -557,9 +557,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
-@@ -284,13 +284,15 @@ The default is tt(/var/run/rsyncd.lock).
+@@ -290,13 +290,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 c22b7c83897e1c097e1ce2e033a7668057c4d1f5..83439733b614c3b8511044d98cdf7c2697004220 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 2dbf448791f1593ad8418d8973c7685de9006f96..7a25f484240bbdd3feec8ff1f8271c3bfa0625a5 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 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;
-@@ -1750,7 +1751,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1751,7 +1752,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
index afa4e5181609a73de6801f8f4285c991a79828b6..5cb008980e99762aebf1add50c4a4f47da7acc3d 100644 (file)
@@ -470,7 +470,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
-@@ -1086,6 +1087,9 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1092,6 +1093,9 @@ 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).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
@@ -480,7 +480,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--super)) This tells the receiving side to attempt super-user
  activities even if the receiving rsync wasn't run by the super-user.  These
  activities include: preserving users via the bf(--owner) option, preserving
-@@ -1782,7 +1786,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1788,7 +1792,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
@@ -489,7 +489,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.
-@@ -1841,6 +1845,8 @@ quote(itemization(
+@@ -1847,6 +1851,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 98fb5338be4104030c41c0ab5219844a4cb0c1a2..3eeea97da13a5c224d4227f590d9939531620246 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
index abdf8d192357a68b173bbd2de8687ee0ae251685..becd078459acc2ae2df4840412c77827a5781ead 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 220e4fb94151891961ac945f5d66952ccde7e5e9..153874294f2f5daf436c17eabe9c137c02429ec1 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -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
-@@ -506,6 +507,12 @@ time to just looking for files that have changed in size.  This is useful
+@@ -512,6 +513,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 033f5bf53b4e88f62ddb3d62226338be7e51f367..91f72746ae390763f27a7d8b5f3d5d931331885e 100644 (file)
--- a/db.diff
+++ b/db.diff
@@ -148,16 +148,15 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -331,7 +331,7 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \
+@@ -326,6 +326,7 @@ AC_HEADER_DIRENT
+ AC_HEADER_TIME
+ AC_HEADER_SYS_WAIT
+ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \
++    mysql/mysql.h sqlite3.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 \
-     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)
-+    popt.h popt/popt.h mysql/mysql.h sqlite3.h)
- AC_HEADER_MAJOR
- AC_CACHE_CHECK([if makedev takes 3 args],rsync_cv_MAKEDEV_TAKES_3_ARGS,[
-@@ -1004,6 +1004,29 @@ if test x"$enable_acl_support" = x"no" -o x"$enable_xattr_support" = x"no" -o x"
+@@ -1008,6 +1009,29 @@ if test x"$enable_acl_support" = x"no" -o x"$enable_xattr_support" = x"no" -o x"
      fi
  fi
  
@@ -789,7 +788,7 @@ diff --git a/flist.c b/flist.c
        if (basename_len == 0+1) {
                if (!pool)
                        unmake_file(file);
-@@ -1989,6 +1992,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -1990,6 +1993,9 @@ 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;
  
@@ -820,7 +819,7 @@ diff --git a/generator.c b/generator.c
                return memcmp(sum, F_SUM(file), checksum_len) == 0;
        }
  
-@@ -2272,6 +2274,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -2279,6 +2281,9 @@ void generate_files(int f_out, const char *local_name)
         * notice that and let us know via the message pipe (or its closing). */
        ignore_timeout = 1;
  
@@ -995,7 +994,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
-@@ -540,6 +541,47 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -546,6 +547,47 @@ 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.
  
@@ -1046,7 +1045,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
-@@ -270,6 +270,18 @@ is daemon.  This setting has no effect if the "log file" setting is a
+@@ -276,6 +276,18 @@ 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 8c70176d53de4f2f6cc1186c3f78c8ba50ff5f1d..f31c744ca8b0a7415680ed924ec5806b0dabad4a 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;
-@@ -2046,6 +2048,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -2047,6 +2049,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                fnamecmp = partialptr;
                fnamecmp_type = FNAMECMP_PARTIAL_DIR;
                statret = 0;
@@ -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
-@@ -1577,6 +1579,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
+@@ -1583,6 +1585,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 b44bf4afa7d76de32b64deeae409b0fdf5ca55b6..b3295c0e8e57c789adbac7e11191dbcc3ae9d73f 100644 (file)
@@ -32,7 +32,7 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -118,7 +118,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);
  
-@@ -2421,6 +2463,25 @@ struct file_list *recv_file_list(int f)
+@@ -2427,6 +2469,25 @@ struct file_list *recv_file_list(int f)
  
        flist_sort_and_clean(flist, relative_paths);
  
@@ -469,7 +469,7 @@ diff --git a/generator.c b/generator.c
  static int phase = 0;
  static int dflt_perms;
  
-@@ -1557,9 +1706,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1558,9 +1707,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)) {
@@ -485,7 +485,7 @@ diff --git a/generator.c b/generator.c
                                change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
                }
                goto cleanup;
-@@ -1843,8 +1995,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1844,8 +1996,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                        goto cleanup;
                }
  #endif
@@ -501,7 +501,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;
-@@ -2247,6 +2405,12 @@ void generate_files(int f_out, const char *local_name)
+@@ -2254,6 +2412,12 @@ void generate_files(int f_out, const char *local_name)
        if (verbose > 2)
                rprintf(FINFO, "generator starting pid=%ld\n", (long)getpid());
  
@@ -514,7 +514,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) {
-@@ -2257,7 +2421,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2264,7 +2428,7 @@ void generate_files(int f_out, const char *local_name)
        }
        do_progress = 0;
  
@@ -523,7 +523,7 @@ diff --git a/generator.c b/generator.c
                whole_file = 0;
        if (verbose >= 2) {
                rprintf(FINFO, "delta-transmission %s\n",
-@@ -2299,7 +2463,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -2306,7 +2470,7 @@ void generate_files(int f_out, const char *local_name)
                                                dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                        } else
                                                dirdev = MAKEDEV(0, 0);
@@ -532,7 +532,7 @@ diff --git a/generator.c b/generator.c
                                } else
                                        change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
                        }
-@@ -2346,7 +2510,21 @@ void generate_files(int f_out, const char *local_name)
+@@ -2353,7 +2517,21 @@ void generate_files(int f_out, const char *local_name)
        } while ((cur_flist = cur_flist->next) != NULL);
  
        if (delete_during)
@@ -619,7 +619,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
-@@ -1561,6 +1562,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -1567,6 +1568,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 69fa0a3ffc3b5f879d7bd8ab8d03bf3e80ba52c1..f4c1279538dad9face0e608d5b45f9360d6abecb 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 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 ignore_existing;
  extern int ignore_non_existing;
  extern int inplace;
-@@ -1785,6 +1786,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1786,6 +1787,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                goto cleanup;
        }
  
@@ -32,7 +32,7 @@ diff --git a/generator.c b/generator.c
        fnamecmp_type = FNAMECMP_FNAME;
  
        if (statret == 0 && !S_ISREG(sx.st.st_mode)) {
-@@ -2158,6 +2165,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2165,6 +2172,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;
@@ -40,7 +40,7 @@ diff --git a/generator.c b/generator.c
                        always_checksum = -always_checksum;
                        size_only = -size_only;
                        append_mode = -append_mode;
-@@ -2183,6 +2191,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -2190,6 +2198,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 9b200ee08a012b6fbb0a3b776302b6774a06caf5..0c4cf1c6a20aec045412436719a09e7b84173968 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -156,7 +156,7 @@ diff --git a/rsync.yo b/rsync.yo
       --no-detach             do not detach from the parent
       --port=PORT             listen on alternate port number
       --log-file=FILE         override the "log file" setting
-@@ -2242,6 +2243,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
+@@ -2248,6 +2249,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
  a remote shell program and the remote user is not the super-user; in that case
  the default is rsyncd.conf in the current directory (typically $HOME).
  
@@ -189,7 +189,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  
  dit(bf(port)) You can override the default port the daemon will listen on
  by specifying this value (defaults to 873).  This is ignored if the daemon
-@@ -260,6 +264,12 @@ If the daemon fails to open the specified file, it will fall back to
+@@ -266,6 +270,12 @@ If the daemon fails to open the specified file, it will fall back to
  using syslog and output an error about the failure.  (Note that the
  failure to open the specified log file used to be a fatal error.)
  
index c7e08e0e24c47b35c07776c24ff183442c22e437..d4bfb5cdb72e6b96a46dcf3633604bd77bc62f92 100644 (file)
@@ -69,7 +69,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
@@ -210,7 +210,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1103,6 +1104,10 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1109,6 +1110,10 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 27027cbc40527f7fb64483c3a03821b0e0029b64..33764653621ba0a06bf54c785d4bf5ee62c78cdd 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -271,10 +271,10 @@ 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);
-@@ -1534,10 +1559,17 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
-               /* We need to ensure that the dirs in the transfer have writable
-                * permissions during the time we are putting files within them.
-                * This is then fixed after the transfer is done. */
+@@ -1535,10 +1560,17 @@ 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. */
 +#ifdef SUPPORT_FORCE_CHANGE
 +              if (force_change && F_FFLAGS(file) & force_change) {
 +                      mode_t mode = file->mode;
@@ -283,14 +283,14 @@ diff --git a/generator.c b/generator.c
 +              }
 +#endif
  #ifdef HAVE_CHMOD
-               if (!am_root && !(file->mode & S_IWUSR) && dir_tweaking) {
-                       mode_t mode = file->mode | S_IWUSR;
+               if (!am_root && (file->mode & S_IRWXU) != S_IRWXU && dir_tweaking) {
+                       mode_t mode = file->mode | S_IRWXU;
 -                      if (do_chmod(fname, mode) < 0) {
 +                      if (do_chmod(fname, mode, 0) < 0) {
                                rsyserr(FERROR_XFER, errno,
                                        "failed to modify permissions on %s",
                                        full_fname(fname));
-@@ -1572,6 +1604,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1573,6 +1605,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);
        }
@@ -301,7 +301,7 @@ diff --git a/generator.c b/generator.c
  
  #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
-@@ -2115,13 +2151,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2116,13 +2152,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
                        continue;
                fname = f_name(file, NULL);
                if (fix_dir_perms)
@@ -786,7 +786,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
-@@ -547,7 +551,8 @@ specified, in which case bf(-r) is not implied.
+@@ -553,7 +557,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
@@ -796,7 +796,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-":
-@@ -827,7 +832,7 @@ they would be using bf(--copy-links).
+@@ -833,7 +838,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
@@ -805,7 +805,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  See also bf(--keep-dirlinks) for an analogous option for the receiving
  side.
-@@ -990,6 +995,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
+@@ -996,6 +1001,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).
  
@@ -835,7 +835,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--chmod)) This option tells rsync to apply one or more
  comma-separated "chmod" strings to the permission of the files in the
  transfer.  The resulting value is treated as though it were the permissions
-@@ -1260,12 +1288,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
+@@ -1266,12 +1294,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
  dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
  even when there are I/O errors.
  
@@ -852,7 +852,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
-@@ -1753,7 +1782,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1759,7 +1788,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
@@ -861,7 +861,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.
-@@ -1809,7 +1838,7 @@ quote(itemization(
+@@ -1815,7 +1844,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 7073c37df565716ad94027a1b41f16282c56c4f3..6f3834f38f664a0b859f1c3080593f2247656e3d 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index cb36932ba403c01338fe67c8c39319dd957a5584..4f7c0551483be3d3ce3654ae1b1b92c66291a358 100644 (file)
@@ -41,7 +41,7 @@ diff --git a/generator.c b/generator.c
  extern int preserve_links;
  extern int preserve_devices;
  extern int preserve_specials;
-@@ -1887,6 +1888,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -1888,6 +1889,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                        fname, fnamecmpbuf);
                        }
                        sx.st.st_size = F_LENGTH(fuzzy_file);
@@ -56,7 +56,7 @@ diff --git a/generator.c b/generator.c
                        statret = 0;
                        fnamecmp = fnamecmpbuf;
                        fnamecmp_type = FNAMECMP_FUZZY;
-@@ -2071,6 +2080,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -2072,6 +2081,18 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
        if (read_batch)
                goto cleanup;
  
@@ -393,7 +393,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)
-@@ -1019,6 +1021,42 @@ flags on files and directories that are being updated or deleted on the
+@@ -1025,6 +1027,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-schange).
  
index ea5f7e08dd303076f7088363e8ada2edb3337b44..7cf52ddaa08b09e565df34184e0de4c882d3afe6 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -56,7 +56,7 @@ diff --git a/flist.c b/flist.c
  extern int ignore_errors;
  extern int numeric_ids;
  extern int recurse;
-@@ -2880,6 +2881,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -2886,6 +2887,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;
-@@ -2990,7 +2992,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -2996,7 +2998,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
                        if (type1 != type2)
                                return type1 == t_PATH ? 1 : -1;
                }
@@ -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
-@@ -1519,6 +1520,10 @@ side will also be translated
+@@ -1525,6 +1526,10 @@ side will also be translated
  from the local to the remote character-set.  The translation happens before
  wild-cards are expanded.  See also the bf(--files-from) option.
  
index f1c2307cfd2889b803a8e2c60ae7863e7239c022..9fa2a61eb002f2ada97841e6868576e7c797a524 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
index 75130bef03a710aa49237dcad99da0bdf3c84245..7eb628c885c52fd78e1f969d00ba83caf29676ce 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -275,7 +275,7 @@ diff --git a/receiver.c b/receiver.c
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -510,6 +510,7 @@ quote(itemization(
+@@ -516,6 +516,7 @@ quote(itemization(
    it() %b the number of bytes actually transferred
    it() %B the permission bits of the file (e.g. rwxrwxrwt)
    it() %c the total size of the block checksums received for the basis file (only when sending)
index 2b7a98ab1221ea9ede532d4a1b74356c130243e5..27f5ce23f621a6d688e295cca2f99cf2da6d70c9 100644 (file)
@@ -145,7 +145,7 @@ diff --git a/rsync.yo b/rsync.yo
   -k, --copy-dirlinks         transform symlink to dir into referent dir
   -K, --keep-dirlinks         treat symlinked dir on receiver as dir
   -H, --hard-links            preserve hard links
-@@ -820,6 +821,25 @@ which point outside the copied tree. All absolute symlinks are
+@@ -826,6 +827,25 @@ which point outside the copied tree. All absolute symlinks are
  also ignored. Using this option in conjunction with bf(--relative) may
  give unexpected results.
  
@@ -174,7 +174,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
-@@ -191,8 +191,9 @@ to translate names, and that it is not possible for a user to change those
+@@ -197,8 +197,9 @@ to translate names, and that it is not possible for a user to change those
  resources.
  
  dit(bf(munge symlinks)) This parameter tells rsync to modify
index 55ef6c308e64ced9d8157468fdff4e0366d37fc9..29c3adcffce42044f00ec3c64d7c68e1f246ceb7 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -177,7 +177,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
-@@ -159,10 +159,11 @@ if the module is not read-only).
+@@ -165,10 +165,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
@@ -191,7 +191,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).
-@@ -227,6 +228,27 @@ path elements that rsync believes will allow a symlink to escape the module's
+@@ -233,6 +234,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 e2d1fd985034df025f4c68a94ca39ca2452ed5e0..f670d47f7e801197469f874e8f2c88d797f75147 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index d07ab748935a3f9b9ba180169bacd2f16331c56f..10ecfc7d296591d15c1dd8d5bc72e7a6214b41fe 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -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
-@@ -1058,6 +1059,10 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1064,6 +1065,10 @@ 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).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
index 777176592199a23998b345d677fdee9b46b94826..b57c0771177a276d736d562a9b08758d860e1267 100644 (file)
@@ -35,7 +35,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
index 7abd3dc3d5f2d74a983327b04f18e89d2fc9a1ed..ad16aa9fea9785918b106ac1e8d53c6294bdef73 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -246,7 +246,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1103,6 +1104,17 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1109,6 +1110,17 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 4b58ec66d97f8004dc67d11303fd77dcf342ea40..3fb71451b19083f6263add83fad8edded6dc9e3a 100644 (file)
@@ -11,7 +11,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -125,7 +125,7 @@ diff --git a/rsync.yo b/rsync.yo
       --out-format=FORMAT     output updates using the specified FORMAT
       --log-file=FILE         log what we're doing to the specified FILE
       --log-file-format=FMT   log updates using the specified FMT
-@@ -1084,16 +1085,16 @@ This is a good way to backup data without using a super-user, and to store
+@@ -1090,16 +1091,16 @@ This is a good way to backup data without using a super-user, and to store
  ACLs from incompatible systems.
  
  The bf(--fake-super) option only affects the side where the option is used.
@@ -150,7 +150,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  This option is overridden by both bf(--super) and bf(--no-super).
  
-@@ -1355,6 +1356,36 @@ machine for use with the bf(--relative) option.  For instance:
+@@ -1361,6 +1362,36 @@ machine for use with the bf(--relative) option.  For instance:
  
  quote(tt(    rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/))
  
@@ -187,7 +187,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
  broad range of files that you often don't want to transfer between
  systems. It uses a similar algorithm to CVS to determine if
-@@ -1854,7 +1885,7 @@ option if you wish to override this.
+@@ -1860,7 +1891,7 @@ option if you wish to override this.
  Here's a example command that requests the remote side to log what is
  happening:
  
index 4055b3d8005d4d9aaed3002d39ea87e32cf65c00..81dcfbea116c7eabced49f1578e2dd0ed4690c80 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 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 struct stats stats;
  extern char *filesfrom_host;
  
-@@ -1670,6 +1671,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1671,6 +1672,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);
index e12b22a837e20ea8794c901d35e440c75905c1a3..0b19b407b8098d0a5fdc7be6b87dc24c19325068 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -45,7 +45,7 @@ diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
 @@ -1074,6 +1074,13 @@ int daemon_main(void)
-        * address too.  In fact, why not just do inet_ntop on the
+        * address too.  In fact, why not just do getnameinfo on the
         * local address??? */
  
 +#ifdef HAVE_LIBSLP
@@ -260,7 +260,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  enddit()
  
  manpagesection(MODULE PARAMETERS)
-@@ -652,6 +665,7 @@ use chroot = yes
+@@ -658,6 +671,7 @@ use chroot = yes
  max connections = 4
  syslog facility = local5
  pid file = /var/run/rsyncd.pid
@@ -271,7 +271,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 diff --git a/socket.c b/socket.c
 --- a/socket.c
 +++ b/socket.c
-@@ -533,6 +533,16 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -544,6 +544,16 @@ void start_accept_loop(int port, int (*fn)(int, int))
  {
        fd_set deffds;
        int *sp, maxfd, i;
@@ -288,7 +288,7 @@ diff --git a/socket.c b/socket.c
  
  #ifdef HAVE_SIGACTION
        sigact.sa_flags = SA_NOCLDSTOP;
-@@ -561,14 +571,25 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -572,14 +582,25 @@ void start_accept_loop(int port, int (*fn)(int, int))
                        maxfd = sp[i];
        }
  
@@ -314,7 +314,7 @@ diff --git a/socket.c b/socket.c
  
                /* close log file before the potentially very long select so
                 * file can be trimmed by another process instead of growing
-@@ -581,7 +602,18 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -592,7 +613,18 @@ void start_accept_loop(int port, int (*fn)(int, int))
                fds = deffds;
  #endif
  
index b2349a55baba4947c4316be1388d2a4acaa2c460..891d96fc3f561c96b886f5f9a841f03e2dc0a95c 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 96caca979786b5bd7e737a1875050bfc9369a178..da649999c99e7b0a4f86290d1b936b7f07b32ca5 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -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 transfer (default)
-@@ -1174,6 +1175,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
+@@ -1180,6 +1181,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
  side the files (meaning non-directories) that are a part of the transfer
  and have been successfully duplicated on the receiving side.
  
index a8faa50111b79207d00ca7d2e577b98a61fbacdd..0ef37e366d4d6854315952227b42121485aed54f 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -343,7 +343,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)
-@@ -2150,6 +2153,33 @@ file previously generated by bf(--write-batch).
+@@ -2156,6 +2159,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 d9e3d497095e7dae13745cfe22da28f05fd60607..e89e7824d60486bf1b5b802438c2d4efd1c8abb7 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
@@ -90,7 +90,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1103,6 +1104,15 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1109,6 +1110,15 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 0418b35d89c95f2ceff6faa9d5932498f643023f..26c5d1c19bcb18bf48e9274841777fa6b0b37735 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 9f88a5112fc16bd49db37297bc8d5af225281814..9a2cc5f20880eff8efb1a8146c85c00446edb5de 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
@@ -145,7 +145,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
-@@ -2124,6 +2126,19 @@ transfer was too fast, it will wait before sending the next data block. The
+@@ -2130,6 +2132,19 @@ transfer was too fast, it will wait before sending the next data block. The
  result is an average transfer rate equaling the specified limit. A value
  of zero specifies no limit.
  
index dc166c590419622d18da3f6dba8bdf3213365ea6..92e094d163cb18d046ac12a6eaeb9f328c563803 100644 (file)
@@ -13,7 +13,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -146,7 +146,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
-@@ -2188,6 +2189,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -2194,6 +2195,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 8d0ccfe58e47fcec5d9bee33ef6ae630030800fb..e706b4a28541ae5be0a8807f30cf9373861f6c88 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index d48b2c1d8dafc08c0974a19d90de71be99681269..68771a4f939fde86ae1dcc9c7dfbc79e1a6d3552 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: 93bdc6478e8d8a392b318f3986f9799ac3203d0e
+based-on: a5ef6969530e4616112999be9330cc442bcba7b7
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -37,7 +37,7 @@ diff --git a/flist.c b/flist.c
                                gid = match_gid(gid, &gid_flags);
                }
        }
-@@ -2313,8 +2314,13 @@ struct file_list *recv_file_list(int f)
+@@ -2319,8 +2320,13 @@ struct file_list *recv_file_list(int f)
        int64 start_read;
        int save_verbose = verbose;
  
@@ -169,7 +169,7 @@ diff --git a/rsync.yo b/rsync.yo
       --timeout=SECONDS       set I/O timeout in seconds
       --contimeout=SECONDS    set daemon connection timeout in seconds
   -I, --ignore-times          don't skip files that match size and time
-@@ -1710,6 +1713,57 @@ from the source system is used instead.  See also the comments on the
+@@ -1716,6 +1719,57 @@ from the source system is used instead.  See also the comments on the
  the chroot setting affects rsync's ability to look up the names of the
  users and groups and what you can do about it.