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 <wa...@opencoder.net> Date: Sun Jan 2 15:13:19 2022 -0800 Preparing for release of 3.2.4pre1 commit 4adfdaaf12db26c348b4d6150119b377f9b622c8 Author: Wayne Davison <wa...@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 <wa...@opencoder.net> Date: Sun Jan 2 14:43:30 2022 -0800 A couple man page improvements. commit ffbca80ca2347beaa1004db56db439cdfa59f59e Author: Rodrigo Osorio <rodr...@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 <tri...@samba.org> * Copyright (C) 2001, 2002 Martin Pool <m...@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 <tri...@samba.org> * Copyright (C) 2001-2002 Martin Pool <m...@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 <m...@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 <m...@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 <m...@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 <tri...@samba.org> * Copyright (C) 2000-2001 Martin Pool <m...@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 <tri...@samba.org> * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001, 2002 Martin Pool <m...@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 <tri...@samba.org> * Copyright (C) 2000, 2001, 2002 Martin Pool <m...@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 <wa...@opencoder.net> -Released 3.2.3. +* Sun Jan 02 2022 Wayne Davison <wa...@opencoder.net> +Released 3.2.4pre1. * Fri Mar 21 2008 Wayne Davison <wa...@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 <m...@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 <m...@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 <m...@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. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs