[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Mon Jan 3 00:02:14 UTC 2022


The branch, master has been updated
       via  3e44bbd3 Preparing for release of 3.2.4pre1
       via  4adfdaaf Tweak stderr handling for older BackupPC versions
       via  4a7ba3cf A couple man page improvements.
       via  ffbca80c Time-limit options are not being checked enough (#179)
      from  c11467af Some compression improvements.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 3e44bbd3132c22f7ce1ae48c0ce262f237473038
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Jan 2 15:13:19 2022 -0800

    Preparing for release of 3.2.4pre1

commit 4adfdaaf12db26c348b4d6150119b377f9b622c8
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Jan 2 14:46:27 2022 -0800

    Tweak stderr handling for older BackupPC versions
    
    This makes the default for a protocol-28 server process be --stderr=client
    instead of --stderr=errors.  See rsync's github issue #95.

commit 4a7ba3cfaf99f2ad42a7b810fead3cee75d9205b
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Jan 2 14:43:30 2022 -0800

    A couple man page improvements.

commit ffbca80ca2347beaa1004db56db439cdfa59f59e
Author: Rodrigo Osorio <rodrigo at osorio.me>
Date:   Sun Jan 2 23:37:27 2022 +0100

    Time-limit options are not being checked enough (#179)
    
    The `--stop-at`, `--stop-after`, and `--time-limit`` options should have their
    limit checked when receiving and sending data, not just when receiving.
    Fixes #177.

-----------------------------------------------------------------------

Summary of changes:
 NEWS.md                       |  3 +++
 access.c                      |  2 +-
 acls.c                        |  2 +-
 backup.c                      |  2 +-
 clientname.c                  |  2 +-
 clientserver.c                |  2 +-
 compat.c                      |  7 ++++++-
 flist.c                       |  2 +-
 generator.c                   |  2 +-
 ifuncs.h                      |  2 +-
 io.c                          | 13 +++++++------
 itypes.h                      |  2 +-
 latest-year.h                 |  2 +-
 lib/sysxattrs.c               |  2 +-
 log.c                         |  2 +-
 main.c                        |  2 +-
 options.c                     |  7 ++++++-
 packaging/lsb/rsync.spec      | 12 ++++++------
 receiver.c                    |  2 +-
 rsync.1.md                    | 19 +++++++++++++++++++
 rsync.c                       |  2 +-
 rsync.h                       |  2 +-
 runtests.sh                   |  2 +-
 sender.c                      |  2 +-
 syscall.c                     |  2 +-
 t_stub.c                      |  2 +-
 testsuite/backup.test         |  2 +-
 testsuite/chmod-temp-dir.test |  2 +-
 testsuite/chmod.test          |  2 +-
 testsuite/compare-dest.test   |  2 +-
 testsuite/delete.test         |  2 +-
 testsuite/exclude.test        |  2 +-
 testsuite/fuzzy.test          |  2 +-
 testsuite/itemize.test        |  2 +-
 testsuite/merge.test          |  2 +-
 testsuite/wildmatch.test      |  2 +-
 tls.c                         |  2 +-
 token.c                       |  2 +-
 util1.c                       |  2 +-
 version.h                     |  2 +-
 xattrs.c                      |  2 +-
 41 files changed, 82 insertions(+), 49 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 6635ccab..05215c08 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -130,6 +130,9 @@
 
  - Work around a glibc bug where lchmod() breaks in a chroot w/o /proc mounted.
 
+ - Try to support a client that sent a remote rsync a wacko stderr file handle
+   (such as an older File::RsyncP perl library used by BackupPC).
+
  - Some manpage improvements.
 
 ### PACKAGING RELATED:
diff --git a/access.c b/access.c
index f6d6e272..0e076b2d 100644
--- a/access.c
+++ b/access.c
@@ -2,7 +2,7 @@
  * Routines to authenticate access to a daemon (hosts allow/deny).
  *
  * Copyright (C) 1998 Andrew Tridgell
- * Copyright (C) 2004-2020 Wayne Davison
+ * Copyright (C) 2004-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/acls.c b/acls.c
index c98f7b40..5658274d 100644
--- a/acls.c
+++ b/acls.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2006-2020 Wayne Davison
+ * Copyright (C) 2006-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/backup.c b/backup.c
index 5036c23a..9d266ef4 100644
--- a/backup.c
+++ b/backup.c
@@ -2,7 +2,7 @@
  * Backup handling code.
  *
  * Copyright (C) 1999 Andrew Tridgell
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/clientname.c b/clientname.c
index 1572f3ef..e0f76203 100644
--- a/clientname.c
+++ b/clientname.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1992-2001 Andrew Tridgell <tridge at samba.org>
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2002-2020 Wayne Davison
+ * Copyright (C) 2002-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/clientserver.c b/clientserver.c
index 14e3c544..8852076b 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1998-2001 Andrew Tridgell <tridge at samba.org>
  * Copyright (C) 2001-2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2002-2020 Wayne Davison
+ * Copyright (C) 2002-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/compat.c b/compat.c
index 0a882cda..55d76df8 100644
--- a/compat.c
+++ b/compat.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) Andrew Tridgell 1996
  * Copyright (C) Paul Mackerras 1996
- * Copyright (C) 2004-2020 Wayne Davison
+ * Copyright (C) 2004-2022 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -52,6 +52,8 @@ extern int need_messages_from_generator;
 extern int delete_mode, delete_before, delete_during, delete_after;
 extern int do_compression;
 extern int do_compression_level;
+extern int saw_stderr_opt;
+extern int msgs2stderr;
 extern char *shell_cmd;
 extern char *partial_dir;
 extern char *files_from;
@@ -622,6 +624,9 @@ void setup_protocol(int f_out,int f_in)
 	if (read_batch)
 		check_batch_flags();
 
+	if (!saw_stderr_opt && protocol_version <= 28 && am_server)
+		msgs2stderr = 0; /* The client side may not have stderr setup for us. */
+
 #ifndef SUPPORT_PREALLOCATION
 	if (preallocate_files && !am_sender) {
 		rprintf(FERROR, "preallocation is not supported on this %s\n",
diff --git a/flist.c b/flist.c
index 803490bd..4f749bca 100644
--- a/flist.c
+++ b/flist.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2002-2020 Wayne Davison
+ * Copyright (C) 2002-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/generator.c b/generator.c
index 6e1cbe91..1abe036b 100644
--- a/generator.c
+++ b/generator.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ifuncs.h b/ifuncs.h
index 491f0807..b5823b78 100644
--- a/ifuncs.h
+++ b/ifuncs.h
@@ -1,6 +1,6 @@
 /* Inline functions for rsync.
  *
- * Copyright (C) 2007-2020 Wayne Davison
+ * Copyright (C) 2007-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/io.c b/io.c
index abb0f7ab..8ee48f93 100644
--- a/io.c
+++ b/io.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2001 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2022 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -801,12 +801,8 @@ static char *perform_io(size_t needed, int flags)
 					who_am_i(), (SIZE_T_FMT_CAST)n);
 			}
 
-			if (io_timeout || stop_at_utime) {
+			if (io_timeout) {
 				last_io_in = time(NULL);
-				if (stop_at_utime && last_io_in >= stop_at_utime) {
-					rprintf(FERROR, "stopping at requested limit\n");
-					exit_cleanup(RERR_TIMEOUT);
-				}
 				if (io_timeout && flags & PIO_NEED_INPUT)
 					maybe_send_keepalive(last_io_in, 0);
 			}
@@ -815,6 +811,11 @@ static char *perform_io(size_t needed, int flags)
 			iobuf.in.len += n;
 		}
 
+		if (stop_at_utime && time(NULL) >= stop_at_utime) {
+			rprintf(FERROR, "stopping at requested limit\n");
+			exit_cleanup(RERR_TIMEOUT);
+		}
+
 		if (out && FD_ISSET(iobuf.out_fd, &w_fds)) {
 			size_t len = iobuf.raw_flushing_ends_before ? iobuf.raw_flushing_ends_before - out->pos : out->len;
 			ssize_t n;
diff --git a/itypes.h b/itypes.h
index a78300b3..0e23c85b 100644
--- a/itypes.h
+++ b/itypes.h
@@ -1,6 +1,6 @@
 /* Inline functions for rsync.
  *
- * Copyright (C) 2007-2020 Wayne Davison
+ * Copyright (C) 2007-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/latest-year.h b/latest-year.h
index ddbf2b5e..37e8efbb 100644
--- a/latest-year.h
+++ b/latest-year.h
@@ -1 +1 @@
-#define LATEST_YEAR "2020"
+#define LATEST_YEAR "2022"
diff --git a/lib/sysxattrs.c b/lib/sysxattrs.c
index d403caf5..e747de37 100644
--- a/lib/sysxattrs.c
+++ b/lib/sysxattrs.c
@@ -2,7 +2,7 @@
  * Extended attribute support for rsync.
  *
  * Copyright (C) 2004 Red Hat, Inc.
- * Copyright (C) 2003-2019 Wayne Davison
+ * Copyright (C) 2003-2020 Wayne Davison
  * Written by Jay Fenlason.
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/log.c b/log.c
index 45ae5c1b..6c50d0e0 100644
--- a/log.c
+++ b/log.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1998-2001 Andrew Tridgell <tridge at samba.org>
  * Copyright (C) 2000-2001 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/main.c b/main.c
index 8b145867..ef7a3010 100644
--- a/main.c
+++ b/main.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2001 Andrew Tridgell <tridge at samba.org>
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/options.c b/options.c
index eb5744a1..f4c159f3 100644
--- a/options.c
+++ b/options.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1998-2001 Andrew Tridgell <tridge at samba.org>
  * Copyright (C) 2000, 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2002-2020 Wayne Davison
+ * Copyright (C) 2002-2022 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -91,6 +91,7 @@ int implied_dirs = 1;
 int missing_args = 0; /* 0 = FERROR_XFER, 1 = ignore, 2 = delete */
 int numeric_ids = 0;
 int msgs2stderr = 2; /* Default: send errors to stderr for local & remote-shell transfers */
+int saw_stderr_opt = 0;
 int allow_8bit_chars = 0;
 int force_delete = 0;
 int io_timeout = 0;
@@ -1882,6 +1883,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
 					"--stderr mode \"%s\" is not one of errors, all, or client\n", arg);
 				return 0;
 			}
+			saw_stderr_opt = 1;
 			break;
 		}
 
@@ -1900,6 +1902,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
 		}
 	}
 
+	if (msgs2stderr != 2)
+		saw_stderr_opt = 1;
+
 	if (version_opt_cnt) {
 		print_rsync_version(FINFO);
 		exit_cleanup(0);
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 04163c72..f6f9135d 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -1,9 +1,9 @@
 Summary: A fast, versatile, remote (and local) file-copying tool
 Name: rsync
-Version: 3.2.3
-%define fullversion %{version}
-Release: 1
-%define srcdir src
+Version: 3.2.4
+%define fullversion %{version}pre1
+Release: 0.1.pre1
+%define srcdir src-previews
 Group: Applications/Internet
 License: GPL
 Source0: https://rsync.samba.org/ftp/rsync/%{srcdir}/rsync-%{fullversion}.tar.gz
@@ -79,8 +79,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/rsync-ssl/certs
 
 %changelog
-* Thu Aug 06 2020 Wayne Davison <wayne at opencoder.net>
-Released 3.2.3.
+* Sun Jan 02 2022 Wayne Davison <wayne at opencoder.net>
+Released 3.2.4pre1.
 
 * Fri Mar 21 2008 Wayne Davison <wayne at opencoder.net>
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/receiver.c b/receiver.c
index 2cd84351..48d31d8d 100644
--- a/receiver.c
+++ b/receiver.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/rsync.1.md b/rsync.1.md
index c46fe2ba..37e2f9b0 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -535,6 +535,18 @@ your home directory (remove the '=' for that).
     being skipped and slightly more information at the end.  More than two `-v`
     options should only be used if you are debugging rsync.
 
+    The end-of-run summary tells you the number of bytes sent to the remote
+    rsync (which is the receiving side on a local copy), the number of bytes
+    received from the remote host, and the average bytes per second of the
+    transferred data computed over the entire length of the rsync run. The
+    second line shows the total size (in bytes), which is the sum of all the
+    file sizes that rsync considered transferring.  It also shows a "speedup"
+    value, which is a ratio of the total file size divided by the sum of the
+    sent and received bytes (which is really just a feel-good bigger-is-better
+    number).  Note that these byte values can be made more (or less)
+    human-readable by using the `--human-readable` (or `--no-human-readable`)
+    options.
+
     In a modern rsync, the `-v` option is equivalent to the setting of groups
     of `--info` and `--debug` options.  You can choose to use these newer
     options in addition to, or in place of using `--verbose`, as any
@@ -899,6 +911,13 @@ your home directory (remove the '=' for that).
     data that goes into the file-lists, and thus it doesn't affect deletions.
     It just limits the files that the receiver requests to be transferred.
 
+    A caution for those that choose to combine `--inplace` with `--update`: an
+    interrupted transfer will leave behind a partial file on the receiving side
+    that has a very recent modified time, so re-running the transfer will
+    probably **not** continue the interrutped file.  As such, it is usually
+    best to avoid combining this with `--inplace` unless you have implemented
+    manual steps to handle any interrutped in-progress files.
+
 0.  `--inplace`
 
     This option changes how rsync transfers a file when its data needs to be
diff --git a/rsync.c b/rsync.c
index 60029c2d..2bcf8dc6 100644
--- a/rsync.c
+++ b/rsync.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/rsync.h b/rsync.h
index ea1bfea6..5670d334 100644
--- a/rsync.h
+++ b/rsync.h
@@ -2,7 +2,7 @@
  * Copyright (C) 1996, 2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/runtests.sh b/runtests.sh
index 8c573041..e0236c9e 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2001, 2002 by Martin Pool <mbp at samba.org>
-# Copyright (C) 2003-2020 Wayne Davison
+# Copyright (C) 2003-2021 Wayne Davison
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version
diff --git a/sender.c b/sender.c
index 83603b99..837a83bd 100644
--- a/sender.c
+++ b/sender.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/syscall.c b/syscall.c
index 56948a83..390abb36 100644
--- a/syscall.c
+++ b/syscall.c
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 1998 Andrew Tridgell
  * Copyright (C) 2002 Martin Pool
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/t_stub.c b/t_stub.c
index 12f7b622..e4816b8f 100644
--- a/t_stub.c
+++ b/t_stub.c
@@ -3,7 +3,7 @@
  * functions, so that module test harnesses can run standalone.
  *
  * Copyright (C) 2001, 2002 Martin Pool <mbp at samba.org>
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2021 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testsuite/backup.test b/testsuite/backup.test
index 925c9fe0..c479b460 100644
--- a/testsuite/backup.test
+++ b/testsuite/backup.test
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2004-2020 Wayne Davison
+# Copyright (C) 2004-2021 Wayne Davison
 
 # This program is distributable under the terms of the GNU GPL (see
 # COPYING).
diff --git a/testsuite/chmod-temp-dir.test b/testsuite/chmod-temp-dir.test
index 22b2df81..3f0251ff 100644
--- a/testsuite/chmod-temp-dir.test
+++ b/testsuite/chmod-temp-dir.test
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2004-2020 Wayne Davison
+# Copyright (C) 2004-2021 Wayne Davison
 
 # This program is distributable under the terms of the GNU GPL (see
 # COPYING).
diff --git a/testsuite/chmod.test b/testsuite/chmod.test
index 63258df7..6cc589c5 100644
--- a/testsuite/chmod.test
+++ b/testsuite/chmod.test
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2004-2020 Wayne Davison
+# Copyright (C) 2004-2021 Wayne Davison
 
 # This program is distributable under the terms of the GNU GPL (see
 # COPYING).
diff --git a/testsuite/compare-dest.test b/testsuite/compare-dest.test
index 3c634857..ff2af33c 100644
--- a/testsuite/compare-dest.test
+++ b/testsuite/compare-dest.test
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2004-2020 Wayne Davison
+# Copyright (C) 2004-2021 Wayne Davison
 
 # This program is distributable under the terms of the GNU GPL (see
 # COPYING).
diff --git a/testsuite/delete.test b/testsuite/delete.test
index f54214cd..c720bbcb 100644
--- a/testsuite/delete.test
+++ b/testsuite/delete.test
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2005-2020 Wayne Davison
+# Copyright (C) 2005-2021 Wayne Davison
 


-- 
The rsync repository.



More information about the rsync-cvs mailing list