The branch, master has been updated via 5fcf20ee Preparing for release of 3.2.5 via fc72d2b7 Update the NEWS. via b7ea3fcd Ensure a dynamically linked xxhash lib is >= 0.8 for XX3. from 9cb7529b Remove some trailing whitespace.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 5fcf20ee9d8abf7aae8578354f82c6f500822e06 Author: Wayne Davison <wa...@opencoder.net> Date: Sun Aug 14 10:15:08 2022 -0700 Preparing for release of 3.2.5 commit fc72d2b7716ef6f42b3cdb1d7b7d89d096e13140 Author: Wayne Davison <wa...@opencoder.net> Date: Sun Aug 14 10:12:06 2022 -0700 Update the NEWS. commit b7ea3fcd1999bb74a0210362e4b7f3ba80fe0069 Author: Wayne Davison <wa...@opencoder.net> Date: Sun Aug 14 10:09:34 2022 -0700 Ensure a dynamically linked xxhash lib is >= 0.8 for XX3. ----------------------------------------------------------------------- Summary of changes: NEWS.md | 8 ++++++-- batch.c | 2 +- byteorder.h | 2 +- checksum.c | 33 +++++++++++++++++++++++++++++++++ compat.c | 2 ++ lib/sysacls.c | 2 +- lib/sysacls.h | 2 +- packaging/lsb/rsync.spec | 10 +++++----- usage.c | 2 ++ version.h | 2 +- 10 files changed, 53 insertions(+), 12 deletions(-) Changeset truncated at 500 lines: diff --git a/NEWS.md b/NEWS.md index 0610dfba..e32600c5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# NEWS for rsync 3.2.5 (UNRELEASED) +# NEWS for rsync 3.2.5 (14 Aug 2022) ## Changes in this version: @@ -29,6 +29,10 @@ - Lots of manpage improvements, including an attempt to better describe how include/exclude filters work. +- If rsync is compiled with an xxhash 0.8 library and then moved to a system + with a dynamically linked xxhash 0.7 library, we now detect this and disable + the XX3 hashes (since these routines didn't stabilize until 0.8). + ### ENHANCEMENTS: - The [`--trust-sender`](rsync.1#opt) option was added as a way to bypass the @@ -4537,7 +4541,7 @@ | RELEASE DATE | VER. | DATE OF COMMIT\* | PROTOCOL | |--------------|--------|------------------|-------------| -| ?? Aug 2022 | 3.2.5 | | 31 | +| 14 Aug 2022 | 3.2.5 | | 31 | | 15 Apr 2022 | 3.2.4 | | 31 | | 06 Aug 2020 | 3.2.3 | | 31 | | 04 Jul 2020 | 3.2.2 | | 31 | diff --git a/batch.c b/batch.c index b95033f0..accc4c6e 100644 --- a/batch.c +++ b/batch.c @@ -3,7 +3,7 @@ * * Copyright (C) 1999 Weiss * Copyright (C) 2004 Chris Shoemaker - * 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 diff --git a/byteorder.h b/byteorder.h index 7c5abe66..059cc708 100644 --- a/byteorder.h +++ b/byteorder.h @@ -2,7 +2,7 @@ * Simple byteorder handling. * * Copyright (C) 1992-1995 Andrew Tridgell - * Copyright (C) 2007-2020 Wayne Davison + * Copyright (C) 2007-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 diff --git a/checksum.c b/checksum.c index 178b0f50..fb8c0a09 100644 --- a/checksum.c +++ b/checksum.c @@ -62,6 +62,8 @@ struct name_num_obj valid_checksums = { int xfersum_type = 0; /* used for the file transfer checksums */ int checksum_type = 0; /* used for the pre-transfer (--checksum) checksums */ +static int initialized_choices = 0; + int parse_csum_name(const char *name, int len) { struct name_num_item *nni; @@ -79,6 +81,9 @@ int parse_csum_name(const char *name, int len) return CSUM_MD4_ARCHAIC; } + if (!initialized_choices) + init_checksum_choices(); + nni = get_nni_by_name(&valid_checksums, name, len); if (!nni) { @@ -623,3 +628,31 @@ int sum_end(char *sum) return csum_len_for_type(cursum_type, 0); } + +void init_checksum_choices() +{ +#ifdef SUPPORT_XXH3 + char buf[32816]; + int j; + for (j = 0; j < (int)sizeof buf; j++) { + buf[j] = ' ' + (j % 96); + } + sum_init(CSUM_XXH3_64, 0); + sum_update(buf, 32816); + sum_update(buf, 31152); + sum_update(buf, 32474); + sum_update(buf, 9322); + if (XXH3_64bits_digest(xxh3_state) != 0xadbcf16d4678d1de) { + int t, f; + struct name_num_item *nni = valid_checksums.list; + for (t = f = 0; nni[f].name; f++) { + if (nni[f].num == CSUM_XXH3_64 || nni[f].num == CSUM_XXH3_128) + continue; + if (t != f) + nni[t++] = nni[f]; + } + nni[t].name = NULL; + } +#endif + initialized_choices = 1; +} diff --git a/compat.c b/compat.c index dec363a6..b46eb199 100644 --- a/compat.c +++ b/compat.c @@ -523,6 +523,8 @@ static void negotiate_the_strings(int f_in, int f_out) { /* We send all the negotiation strings before we start to read them to help avoid a slow startup. */ + init_checksum_choices(); + if (!checksum_choice) send_negotiate_str(f_out, &valid_checksums, NSTR_CHECKSUM); diff --git a/lib/sysacls.c b/lib/sysacls.c index 74a99478..a5abe408 100644 --- a/lib/sysacls.c +++ b/lib/sysacls.c @@ -2,7 +2,7 @@ * Unix SMB/CIFS implementation. * Based on the Samba ACL support code. * Copyright (C) Jeremy Allison 2000. - * Copyright (C) 2007-2020 Wayne Davison + * Copyright (C) 2007-2022 Wayne Davison * * The permission functions have been changed to get/set all bits via * one call. Some functions that rsync doesn't need were also removed. diff --git a/lib/sysacls.h b/lib/sysacls.h index cf1368ea..c0695974 100644 --- a/lib/sysacls.h +++ b/lib/sysacls.h @@ -3,7 +3,7 @@ * Version 2.2.x * Portable SMB ACL interface * Copyright (C) Jeremy Allison 2000 - * Copyright (C) 2007-2020 Wayne Davison + * Copyright (C) 2007-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 diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec index 31225a5c..0959c744 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.5 -%define fullversion %{version}pre2 -Release: 0.1.pre2 -%define srcdir src-previews +%define fullversion %{version} +Release: 1 +%define srcdir src 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 -* Mon Aug 08 2022 Wayne Davison <wa...@opencoder.net> -Released 3.2.5pre2. +* Sun Aug 14 2022 Wayne Davison <wa...@opencoder.net> +Released 3.2.5. * Fri Mar 21 2008 Wayne Davison <wa...@opencoder.net> Added installation of /etc/xinetd.d/rsync file and some commented-out diff --git a/usage.c b/usage.c index cbca83e3..df033c92 100644 --- a/usage.c +++ b/usage.c @@ -195,6 +195,8 @@ void print_rsync_version(enum logcode f) print_info_flags(f); + init_checksum_choices(); + rprintf(f, "Checksum list:\n"); get_default_nno_list(&valid_checksums, tmpbuf, sizeof tmpbuf, '('); rprintf(f, " %s\n", tmpbuf); diff --git a/version.h b/version.h index d793678d..82aa78f2 100644 --- a/version.h +++ b/version.h @@ -1,2 +1,2 @@ -#define RSYNC_VERSION "3.2.5pre2" +#define RSYNC_VERSION "3.2.5" #define MAINTAINER_TZ_OFFSET -7.0 -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs