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 <wa...@opencoder.net> Date: Sun Sep 25 12:49:45 2022 -0700 More NEWS updates. commit 591de7ce5c80ed20ccf096772f11ddca082cdf41 Author: Wayne Davison <wa...@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 <wa...@opencoder.net> Date: Tue Sep 20 21:50:07 2022 -0700 Avoid test -e. commit 46884e4ff665db1756ed20313c48f5ae4c2bf185 Author: Wayne Davison <wa...@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. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs