[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