[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Sun Aug 14 18:02:19 UTC 2022
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 <wayne at opencoder.net>
Date: Sun Aug 14 10:15:08 2022 -0700
Preparing for release of 3.2.5
commit fc72d2b7716ef6f42b3cdb1d7b7d89d096e13140
Author: Wayne Davison <wayne at opencoder.net>
Date: Sun Aug 14 10:12:06 2022 -0700
Update the NEWS.
commit b7ea3fcd1999bb74a0210362e4b7f3ba80fe0069
Author: Wayne Davison <wayne at 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 <wayne at opencoder.net>
-Released 3.2.5pre2.
+* Sun Aug 14 2022 Wayne Davison <wayne at opencoder.net>
+Released 3.2.5.
* 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/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.
More information about the rsync-cvs
mailing list