./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/acls.c b/acls.c
--- a/acls.c
+++ b/acls.c
Fix a bug that could lose some bits when stripping some (supposedly)
superfluous ACL info.
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/lib/sysacls.c b/lib/sysacls.c
--- a/lib/sysacls.c
+++ b/lib/sysacls.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
+
+# The script would have aborted on error, so getting here means we've won.
+exit 0
+diff --git a/testsuite/daemon.test b/testsuite/daemon.test
+--- a/testsuite/daemon.test
++++ b/testsuite/daemon.test
+@@ -26,8 +26,8 @@ outfile="$scratchdir/rsync.out"
+
+ SSH="src/support/lsh.sh --no-cd"
+ FILE_REPL='s/^\([^d][^ ]*\) *\(..........[0-9]\) /\1 \2 /'
+-DIR_REPL='s/^\(d[^ ]*\) *[0-9][.,0-9]* /\1 DIR /'
+-LS_REPL='s;[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9];####/##/## ##:##:##;'
++DIR_REPL='s/^\(d[^ ]*\) *[0-9][.,0-9]* */\1 DIR /'
++LS_REPL='s;[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] *;####/##/## ##:##:## ;'
+
+ build_rsyncd_conf
+
diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
--- a/testsuite/rsync.fns
+++ b/testsuite/rsync.fns
-@@ -219,6 +219,10 @@ checkit() {
+@@ -219,6 +219,14 @@ checkit() {
# We can just write everything to stdout/stderr, because the
# wrapper hides it unless there is a problem.
-+ if test x$TLS_ARGS = x--atimes; then
++ case "x$TLS_ARGS" in
++ *--atimes*)
+ ( cd "$2" && rsync_ls_lR . ) > "$tmpdir/ls-from"
-+ fi
++ ;;
++ *)
++ ;;
++ esac
+
echo "Running: \"$1\""
eval "$1"
status=$?
-@@ -226,10 +230,13 @@ checkit() {
+@@ -226,10 +234,17 @@ checkit() {
failed="$failed status=$status"
fi
-+ if test x$TLS_ARGS != x--atimes; then
++ case "x$TLS_ARGS" in
++ *--atimes*)
++ ;;
++ *)
+ ( cd "$2" && rsync_ls_lR . ) > "$tmpdir/ls-from"
-+ fi
++ ;;
++ esac
+
echo "-------------"
echo "check how the directory listings compare with diff:"
static void failed(char const *what, char const *where)
{
fprintf(stderr, PROGRAM ": %s %s: %s\n",
-@@ -116,12 +118,37 @@ static void failed(char const *what, char const *where)
+@@ -116,13 +118,38 @@ static void failed(char const *what, char const *where)
exit(1);
}
+ (int)mt->tm_hour,
+ (int)mt->tm_min,
+ (int)mt->tm_sec);
-+ if (nsecs >= 0) {
-+ snprintf(datebuf + len, sizeof datebuf - len, ".%09d", nsecs);
-+ }
++ if (nsecs >= 0 && len >= 0)
++ snprintf(dest + len, destsize - len, ".%09d", nsecs);
+ } else {
+ int has_nsecs = nsecs >= 0 ? 1 : 0;
-+ int len = MIN(19 + 9*nsec_times, (int)sizeof datebuf - 1);
-+ memset(datebuf, ' ', len);
-+ datebuf[len] = '\0';
++ int len = MIN(19 + 9*has_nsecs, (int)destsize - 1);
++ memset(dest, ' ', len);
++ dest[len] = '\0';
+ }
+}
+
+ char mtimebuf[50];
+ char atimebuf[50];
char linkbuf[4096];
++ int nsecs;
if (do_lstat(fname, &buf) < 0)
+ failed("stat", fname);
@@ -159,30 +186,17 @@ static void list_file(const char *fname)
}
- ".%09d", (int)buf.ST_MTIME_NSEC);
- }
+ if (nsec_times)
-+ nsecs = (int)buf.ST_MTIME_NSEC
++ nsecs = (int)buf.ST_MTIME_NSEC;
+ else
#endif
- } else {
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/errcode.h b/errcode.h
--- a/errcode.h
+++ b/errcode.h
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/checksum.c b/checksum.c
--- a/checksum.c
+++ b/checksum.c
|| (preserve_hard_links && F_IS_HLINKED(file)))
send_msg_int(MSG_SUCCESS, ndx);
handle_partial_dir(partialptr, PDIR_DELETE);
-@@ -893,7 +894,7 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -894,7 +895,7 @@ int recv_files(int f_in, int f_out, char *local_name)
case 2:
break;
case 1:
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
while (1) {
cleanup_disable();
-@@ -865,6 +879,8 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -866,6 +880,8 @@ int recv_files(int f_in, int f_out, char *local_name)
do_unlink(partialptr);
handle_partial_dir(partialptr, PDIR_DELETE);
}
} else if (keep_partial && partialptr) {
if (!handle_partial_dir(partialptr, PDIR_CREATE)) {
rprintf(FERROR,
-@@ -878,6 +894,8 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -879,6 +895,8 @@ int recv_files(int f_in, int f_out, char *local_name)
recv_ok = -1;
else if (delay_updates && recv_ok) {
bitbag_set_bit(delayed_bits, ndx);
recv_ok = 2;
} else
partialptr = NULL;
-@@ -941,6 +959,9 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -942,6 +960,9 @@ int recv_files(int f_in, int f_out, char *local_name)
if (phase == 2 && delay_updates) /* for protocol_version < 29 */
handle_delayed_updates(local_name);
a file that can't use it, while missing out on giving it to a file
that could use it.
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
- Make this code handle multibyte character encodings, and honor the
--iconv setting when converting case.
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
./configure
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/authenticate.c b/authenticate.c
--- a/authenticate.c
+++ b/authenticate.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/access.c b/access.c
--- a/access.c
+++ b/access.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
TODO: the configure changes should abort if the user requests --enable-slp
and we can't honor that request.
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
-- Matt McCutchen <hashproduct@gmail.com>
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
while (1) {
cleanup_disable();
-@@ -841,6 +861,9 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -842,6 +862,9 @@ int recv_files(int f_in, int f_out, char *local_name)
else if (!am_server && INFO_GTE(NAME, 1) && INFO_EQ(PROGRESS, 1))
rprintf(FINFO, "%s\n", fname);
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
fname, fd2, F_LENGTH(file));
-@@ -855,6 +878,16 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -856,6 +879,16 @@ int recv_files(int f_in, int f_out, char *local_name)
exit_cleanup(RERR_FILEIO);
}
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/fileio.c b/fileio.c
--- a/fileio.c
+++ b/fileio.c
static OFF_T sparse_seek = 0;
-@@ -127,7 +128,7 @@ int write_file(int f, char *buf, int len)
+@@ -130,7 +131,7 @@ int write_file(int f, char *buf, int len)
while (len > 0) {
int r1;
if (sparse_files > 0) {
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/io.c b/io.c
--- a/io.c
+++ b/io.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
./configure (optional if already run)
make
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
This patch has not yet been tested by me (Wayne), but was provided
Darryl Dixon. Thanks!
-based-on: 05fce6582a9192c58b2107153ec00056fd120d14
+based-on: bc58313bf7f42f0993f7279299e8137e0f14f01c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
/* If we're not preserving permissions, change the file-list's
* mode based on the local permissions and some heuristics. */
if (!preserve_perms) {
-@@ -827,7 +842,7 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -828,7 +843,7 @@ int recv_files(int f_in, int f_out, char *local_name)
}
if (fd2 == -1) {
if (fd1 != -1)
close(fd1);
if (inc_recurse)
-@@ -842,8 +857,7 @@ int recv_files(int f_in, int f_out, char *local_name)
+@@ -843,8 +858,7 @@ int recv_files(int f_in, int f_out, char *local_name)
rprintf(FINFO, "%s\n", fname);
/* recv file data */