[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sun Sep 25 20:20:59 UTC 2022


The branch, master has been updated
       via  f9e29dfb More NEWS updates.
       via  591de7ce Fix compile w/o openssl; disable sha256 & sha512 for --checksum.
       via  c8c62775 Avoid test -e.
       via  46884e4f Fix a link.
      from  97e02bf2 Some "use chroot" improvements.

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


- Log -----------------------------------------------------------------
commit f9e29dfb0912f2689ad10a7ba14ebb3ed43cf153
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Sep 25 12:49:45 2022 -0700

    More NEWS updates.

commit 591de7ce5c80ed20ccf096772f11ddca082cdf41
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Sep 25 12:42:09 2022 -0700

    Fix compile w/o openssl; disable sha256 & sha512 for --checksum.

commit c8c627756a607818fd92ac603ea63dcab6da33ef
Author: Wayne Davison <wayne at opencoder.net>
Date:   Tue Sep 20 21:50:07 2022 -0700

    Avoid test -e.

commit 46884e4ff665db1756ed20313c48f5ae4c2bf185
Author: Wayne Davison <wayne at opencoder.net>
Date:   Tue Sep 20 00:12:49 2022 -0700

    Fix a link.

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

Summary of changes:
 NEWS.md    | 26 ++++++++++++++++++++------
 checksum.c | 28 +++++++++++++++-------------
 mkgitver   |  2 +-
 3 files changed, 36 insertions(+), 20 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 63191360..0db49925 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,11 +4,15 @@
 
 ### BUG FIXES:
 
-- Fixed the validating of remote filter rules.
+- Fixed the client-side validating of the remote sender's filtering behavior.
+
+- More fixes for the "unrequested file-list name" name, including a copy of
+  "/" with `--relative` enabled and a copy with a lot of related paths with
+  `--relative` enabled (often derived from a `--files-from` list).
 
 - When rsync gets an unpack error on an ACL, mention the filename.
 
-- Avoid oversetting sanitize_paths when a daemon is serving "/" (even if
+- Avoid over-setting sanitize_paths when a daemon is serving "/" (even if
   "use chroot" is false).
 
 ### ENHANCEMENTS:
@@ -35,10 +39,15 @@
   converted. Newer rsync versions will provide more complete info than older
   versions.
 
-- The [`use chroot`](#rsyncd.conf) daemon parameter now defaults to "unset" so
-  that rsync can test if chrooting works and decide to proceed with a sanitized
-  copy if chroot is not supported (e.g., for a non-root daemon).  Explicitly
-  setting it to true or false (on or off) behaves the same way as before.
+- The [`use chroot`](rsyncd.conf.5#use_chroot) daemon parameter now defaults to
+  "unset" so that rsync can use chroot when it works and decide to proceed with
+  a sanitized copy when chroot is not supported (e.g., for a non-root daemon).
+  Explicitly setting it to true or false (on or off) behaves the same way as
+  before.
+
+- The `--fuzzy` option was optimized a bit to try to cut down on the amount of
+  computations when considering a big pool of files. The simple heuristic from
+  Kenneth Finnegan resuled in about a 2x speedup.
 
 ### PACKAGING RELATED:
 
@@ -62,6 +71,11 @@
   as the root user (though rsync should behave the same even with the value
   unset, a little extra paranoia doesn't hurt).
 
+- I've noticed that some packagers haven't installed support/nameconvert for
+  users to use in their chrooted rsync configs.  Even if it is not installed
+  as an executable script (to avoid a python3 dependency) it would be good to
+  install it with the other rsync-related support scripts.
+
 ------------------------------------------------------------------------------
 
 # NEWS for rsync 3.2.6 (9 Sep 2022)
diff --git a/checksum.c b/checksum.c
index b5363bca..071db0e8 100644
--- a/checksum.c
+++ b/checksum.c
@@ -59,12 +59,6 @@ struct name_num_item valid_checksums_items[] = {
 	{ CSUM_MD4, NNI_BUILTIN|NNI_EVP, "md4", NULL },
 #ifdef SHA_DIGEST_LENGTH
 	{ CSUM_SHA1, NNI_EVP, "sha1", NULL },
-#endif
-#ifdef SHA256_DIGEST_LENGTH
-	{ CSUM_SHA256, NNI_EVP, "sha256", NULL },
-#endif
-#ifdef SHA512_DIGEST_LENGTH
-	{ CSUM_SHA512, NNI_EVP, "sha512", NULL },
 #endif
 	{ CSUM_NONE, 0, "none", NULL },
 	{ 0, 0, NULL, NULL }
@@ -100,15 +94,16 @@ struct name_num_item implied_checksum_md5 =
     { CSUM_MD5, NNI_BUILTIN, "md5", NULL };
 
 struct name_num_item *xfer_sum_nni; /* used for the transfer checksum2 computations */
-const EVP_MD *xfer_sum_evp_md;
 int xfer_sum_len;
 struct name_num_item *file_sum_nni; /* used for the pre-transfer --checksum computations */
-const EVP_MD *file_sum_evp_md;
 int file_sum_len, file_sum_extra_cnt;
 
 #ifdef USE_OPENSSL
+const EVP_MD *xfer_sum_evp_md;
+const EVP_MD *file_sum_evp_md;
 EVP_MD_CTX *ctx_evp = NULL;
 #endif
+
 static int initialized_choices = 0;
 
 struct name_num_item *parse_csum_name(const char *name, int len)
@@ -147,9 +142,9 @@ struct name_num_item *parse_csum_name(const char *name, int len)
 	return nni;
 }
 
+#ifdef USE_OPENSSL
 static const EVP_MD *csum_evp_md(struct name_num_item *nni)
 {
-#ifdef USE_OPENSSL
 	const EVP_MD *emd;
 	if (!(nni->flags & NNI_EVP))
 		return NULL;
@@ -173,10 +168,8 @@ static const EVP_MD *csum_evp_md(struct name_num_item *nni)
 	if (!emd)
 		nni->flags &= ~NNI_EVP;
 	return emd;
-#else
-	return NULL;
-#endif
 }
+#endif
 
 void parse_checksum_choice(int final_call)
 {
@@ -194,8 +187,10 @@ void parse_checksum_choice(int final_call)
 	}
 	xfer_sum_len = csum_len_for_type(xfer_sum_nni->num, 0);
 	file_sum_len = csum_len_for_type(file_sum_nni->num, 0);
+#ifdef USE_OPENSSL
 	xfer_sum_evp_md = csum_evp_md(xfer_sum_nni);
 	file_sum_evp_md = csum_evp_md(file_sum_nni);
+#endif
 
 	file_sum_extra_cnt = (file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN;
 
@@ -551,9 +546,12 @@ static XXH64_state_t* xxh64_state;
 static XXH3_state_t* xxh3_state;
 #endif
 static struct name_num_item *cur_sum_nni;
-static const EVP_MD *cur_sum_evp_md;
 int cur_sum_len;
 
+#ifdef USE_OPENSSL
+static const EVP_MD *cur_sum_evp_md;
+#endif
+
 int sum_init(struct name_num_item *nni, int seed)
 {
 	char s[4];
@@ -562,7 +560,9 @@ int sum_init(struct name_num_item *nni, int seed)
 		nni = parse_csum_name(NULL, 0);
 	cur_sum_nni = nni;
 	cur_sum_len = csum_len_for_type(nni->num, 0);
+#ifdef USE_OPENSSL
 	cur_sum_evp_md = csum_evp_md(nni);
+#endif
 
 #ifdef USE_OPENSSL
 	if (cur_sum_evp_md) {
@@ -784,7 +784,9 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list)
 
 void init_checksum_choices()
 {
+#if defined SUPPORT_XXH3 || defined USE_OPENSSL
 	struct name_num_item *nni;
+#endif
 
 	if (initialized_choices)
 		return;
diff --git a/mkgitver b/mkgitver
index fe8a3d15..50380c87 100755
--- a/mkgitver
+++ b/mkgitver
@@ -6,7 +6,7 @@ if [ ! -f git-version.h ]; then
     touch git-version.h
 fi
 
-if [ -e "$srcdir/.git" ]; then
+if test -d "$srcdir/.git" || test -f "$srcdir/.git"; then
     gitver=`git describe --abbrev=8 2>/dev/null | sed -n '/^v3\.[0-9][0-9]*\.[0-9][0-9]*\(-\|$\)/p'`
     if [ -n "$gitver" ]; then
 	echo "#define RSYNC_GITVER \"$gitver\"" >git-version.h.new


-- 
The rsync repository.



More information about the rsync-cvs mailing list