[SCM] The rsync repository. - branch master updated

2024-04-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  4592aa77 More tweaks for Actions.
  from  8bc363cc Separate the builds and make Cygwin always run.

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


- Log -
commit 4592aa770d51d5e83845b032feea1de441f03ee7
Author: Wayne Davison 
Date:   Wed Apr 10 13:12:52 2024 -0700

More tweaks for Actions.

- When a .github/workflows/*.yml file changes, skip running unaffected
  builds.
- We need git to be installed for git-version.h generation.

---

Summary of changes:
 .github/workflows/cygwin-build.yml  | 6 ++
 .github/workflows/freebsd-build.yml | 8 +++-
 .github/workflows/macos-build.yml   | 6 ++
 .github/workflows/solaris-build.yml | 8 +++-
 .github/workflows/ubuntu-build.yml  | 6 ++
 5 files changed, 32 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/cygwin-build.yml 
b/.github/workflows/cygwin-build.yml
index a9635f2e..c6afb118 100644
--- a/.github/workflows/cygwin-build.yml
+++ b/.github/workflows/cygwin-build.yml
@@ -3,8 +3,14 @@ name: Test rsync on Cygwin
 on:
   push:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/cygwin-build.yml'
   pull_request:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/cygwin-build.yml'
   schedule:
 - cron: '42 8 * * *'
 
diff --git a/.github/workflows/freebsd-build.yml 
b/.github/workflows/freebsd-build.yml
index d82b160b..1ac22388 100644
--- a/.github/workflows/freebsd-build.yml
+++ b/.github/workflows/freebsd-build.yml
@@ -3,8 +3,14 @@ name: Test rsync on FreeBSD
 on:
   push:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/freebsd-build.yml'
   pull_request:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/freebsd-build.yml'
   schedule:
 - cron: '42 8 * * *'
 
@@ -22,7 +28,7 @@ jobs:
   with:
 usesh: true
 prepare: |
-  pkg install -y bash autotools m4 devel/xxhash zstd liblz4 python3 
archivers/liblz4
+  pkg install -y bash autotools m4 devel/xxhash zstd liblz4 python3 
archivers/liblz4 git
 run: |
   freebsd-version
   ./configure --with-rrsync -disable-zstd --disable-md2man 
--disable-xxhash --disable-lz4
diff --git a/.github/workflows/macos-build.yml 
b/.github/workflows/macos-build.yml
index bb85bb00..5471bf53 100644
--- a/.github/workflows/macos-build.yml
+++ b/.github/workflows/macos-build.yml
@@ -3,8 +3,14 @@ name: Test rsync on macOS
 on:
   push:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/macos-build.yml'
   pull_request:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/macos-build.yml'
   schedule:
 - cron: '42 8 * * *'
 
diff --git a/.github/workflows/solaris-build.yml 
b/.github/workflows/solaris-build.yml
index 557a5781..231fbd4a 100644
--- a/.github/workflows/solaris-build.yml
+++ b/.github/workflows/solaris-build.yml
@@ -3,8 +3,14 @@ name: Test rsync on Solaris
 on:
   push:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/solaris-build.yml'
   pull_request:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/solaris-build.yml'
   schedule:
 - cron: '42 8 * * *'
 
@@ -22,7 +28,7 @@ jobs:
   with:
 usesh: true
 prepare: |
-  pkg install bash automake gnu-m4 pkg://solaris/runtime/python-35 
autoconf gcc
+  pkg install bash automake gnu-m4 pkg://solaris/runtime/python-35 
autoconf gcc git
 run: |
   uname -a
   ./configure --with-rrsync -disable-zstd --disable-md2man 
--disable-xxhash --disable-lz4
diff --git a/.github/workflows/ubuntu-build.yml 
b/.github/workflows/ubuntu-build.yml
index 60dc8d5f..1db9a482 100644
--- a/.github/workflows/ubuntu-build.yml
+++ b/.github/workflows/ubuntu-build.yml
@@ -3,8 +3,14 @@ name: Test rsync on Ubuntu
 on:
   push:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/ubuntu-build.yml'
   pull_request:
 branches: [ master ]
+paths-ignore:
+  - '.github/workflows/*.yml'
+  - '!.github/workflows/ubuntu-build.yml'
   schedule:
 - cron: '42 8 * * *'
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2024-04-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  8bc363cc Separate the builds and make Cygwin always run.
   via  a9a31557 Work around pkg install issue.
  from  fcc79836 Get fetch-depth:0 right.

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


- Log -
commit 8bc363cc9fcc57a352135e244497469ce9b2c4f8
Author: Wayne Davison 
Date:   Wed Apr 10 13:02:34 2024 -0700

Separate the builds and make Cygwin always run.

commit a9a315575631015dbee5eb74a986bf0c784830b4
Author: Wayne Davison 
Date:   Wed Apr 10 12:39:53 2024 -0700

Work around pkg install issue.

The xxhash, lz4, and zstd libraries aren't getting installed on FreeBSD.
[buildall]

---

Summary of changes:
 .github/workflows/build.yml | 126 
 .github/workflows/cygwin-build.yml  |  50 ++
 .github/workflows/freebsd-build.yml |  10 ++-
 .github/workflows/macos-build.yml   |  47 ++
 .github/workflows/solaris-build.yml |  18 +-
 .github/workflows/ubuntu-build.yml  |  50 ++
 6 files changed, 171 insertions(+), 130 deletions(-)
 delete mode 100644 .github/workflows/build.yml
 create mode 100644 .github/workflows/cygwin-build.yml
 create mode 100644 .github/workflows/macos-build.yml
 create mode 100644 .github/workflows/ubuntu-build.yml


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index f407dab7..
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,126 +0,0 @@
-name: build
-
-on:
-  push:
-branches: [ master ]
-  pull_request:
-branches: [ master ]
-  schedule:
-- cron: '42 8 * * *'
-
-jobs:
-
-  ubuntu-build:
-runs-on: ubuntu-20.04
-steps:
-- uses: actions/checkout@v4
-  with:
-fetch-depth: 0
-- name: prep
-  run: |
-sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev 
libzstd-dev libxxhash-dev python3-cmarkgfm openssl
-echo "/usr/local/bin" >>$GITHUB_PATH
-- name: configure
-  run: ./configure --with-rrsync
-- name: make
-  run: make
-- name: install
-  run: sudo make install
-- name: info
-  run: rsync --version
-- name: check
-  run: sudo RSYNC_EXPECT_SKIPPED=crtimes make check
-- name: check30
-  run: sudo RSYNC_EXPECT_SKIPPED=crtimes make check30
-- name: check29
-  run: sudo RSYNC_EXPECT_SKIPPED=crtimes make check29
-- name: ssl file list
-  run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
-- name: save artifact
-  uses: actions/upload-artifact@v3
-  with:
-name: ubuntu-bin
-path: |
-  rsync
-  rsync-ssl
-  rsync.1
-  rsync-ssl.1
-  rsyncd.conf.5
-  rrsync.1
-  rrsync
-
-  macos-build:
-runs-on: macos-latest
-steps:
-- uses: actions/checkout@v4
-  with:
-fetch-depth: 0
-- name: prep
-  run: |
-brew install automake openssl xxhash zstd lz4
-sudo pip3 install commonmark
-echo "/usr/local/bin" >>$GITHUB_PATH
-- name: configure
-  run: CPPFLAGS=-I/usr/local/opt/openssl/include/ 
LDFLAGS=-L/usr/local/opt/openssl/lib/ ./configure --with-rrsync
-- name: make
-  run: make
-- name: install
-  run: sudo make install
-- name: info
-  run: rsync --version
-- name: check
-  run: sudo 
RSYNC_EXPECT_SKIPPED=acls-default,chmod-temp-dir,chown-fake,devices-fake,dir-sgid,protected-regular,xattrs-hlink,xattrs
 make check
-- name: ssl file list
-  run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
-- name: save artifact
-  uses: actions/upload-artifact@v3
-  with:
-name: macos-bin
-path: |
-  rsync
-  rsync-ssl
-  rsync.1
-  rsync-ssl.1
-  rsyncd.conf.5
-  rrsync.1
-  rrsync
-
-  cygwin-build:
-runs-on: windows-2022
-if: (github.event_name == 'schedule' || 
contains(github.event.head_commit.message, '[buildall]'))
-steps:
-- uses: actions/checkout@v4
-  with:
-fetch-depth: 0
-- name: cygwin
-  run: choco install -y --no-progress cygwin cyg-get
-- name: prep
-  run: |
-cyg-get make autoconf automake gcc-core attr libattr-devel python39 
python39-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
-echo "C:/tools/cygwin/bin" >>$Env:GITHUB_PATH
-- name: commonmark
-  run: bash -c 'python3 -mpip install --user commonmark'
-- name: configure
-  run: bash -c './configure --with-rrsync'
-- name: make
-  run: bash -c 'make'
-- name: install
-  run: bash -c 'make install'
-- name: info
-  run: bash -c '/usr/local/bin/rsync --version'
-- name: check
-  run: bash -c 

[SCM] The rsync repository. - branch master updated

2024-04-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  fcc79836 Get fetch-depth:0 right.
  from  804411b7 Get rid of gensend target & cached git version.

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


- Log -
commit fcc79836b8f99bb9993b26de3a03cee14daf5ddf
Author: Wayne Davison 
Date:   Wed Apr 10 12:30:05 2024 -0700

Get fetch-depth:0 right.

---

Summary of changes:
 .github/workflows/build.yml | 9 ++---
 .github/workflows/freebsd-build.yml | 3 ++-
 .github/workflows/solaris-build.yml | 3 ++-
 3 files changed, 10 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 09a8ce24..f407dab7 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -14,7 +14,8 @@ jobs:
 runs-on: ubuntu-20.04
 steps:
 - uses: actions/checkout@v4
-  fetch-depth: 0
+  with:
+fetch-depth: 0
 - name: prep
   run: |
 sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev 
libzstd-dev libxxhash-dev python3-cmarkgfm openssl
@@ -52,7 +53,8 @@ jobs:
 runs-on: macos-latest
 steps:
 - uses: actions/checkout@v4
-  fetch-depth: 0
+  with:
+fetch-depth: 0
 - name: prep
   run: |
 brew install automake openssl xxhash zstd lz4
@@ -88,7 +90,8 @@ jobs:
 if: (github.event_name == 'schedule' || 
contains(github.event.head_commit.message, '[buildall]'))
 steps:
 - uses: actions/checkout@v4
-  fetch-depth: 0
+  with:
+fetch-depth: 0
 - name: cygwin
   run: choco install -y --no-progress cygwin cyg-get
 - name: prep
diff --git a/.github/workflows/freebsd-build.yml 
b/.github/workflows/freebsd-build.yml
index 0fb5adb0..2c0061ee 100644
--- a/.github/workflows/freebsd-build.yml
+++ b/.github/workflows/freebsd-build.yml
@@ -12,7 +12,8 @@ jobs:
 name: Test rsync on FreeBSD
 steps:
 - uses: actions/checkout@v4
-  fetch-depth: 0
+  with:
+fetch-depth: 0
 - name: Test in FreeBSD
   id: test
   uses: vmactions/freebsd-vm@v1
diff --git a/.github/workflows/solaris-build.yml 
b/.github/workflows/solaris-build.yml
index feb4ad0b..7de3d35e 100644
--- a/.github/workflows/solaris-build.yml
+++ b/.github/workflows/solaris-build.yml
@@ -12,7 +12,8 @@ jobs:
 name: Test rsync on Solaris
 steps:
 - uses: actions/checkout@v4
-  fetch-depth: 0
+  with:
+fetch-depth: 0
 - name: Test in Solaris
   id: test
   uses: vmactions/solaris-vm@v1


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2024-04-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  804411b7 Get rid of gensend target & cached git version.
   via  0b1b2a3f Get the "dev" suffix right.
   via  50bdf968 Remove duplicate paragraph.
   via  3f2a38b0 CI: added Solaris build
  from  5510255f Tweak maintainer messaging.

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


- Log -
commit 804411b7fd006d6a399a2b917b508259a752cfed
Author: Wayne Davison 
Date:   Wed Apr 10 12:15:49 2024 -0700

Get rid of gensend target & cached git version.

- Change the developer flow to not require updating the git-version repo
  that the builds used to download a git-version.h file. The Actions now
  do a full repo fetch so that the .h file can be generated via the git
  history.
- Get rid of the gensend Makefile target that was used for the above.
- Get rid of the pre-push git hook file that called "Make gensend".
- Change the FreeBSD build to save an artifact with its built binaries.

[buildall]

commit 0b1b2a3ff4b01b7ad6be5defe49172f04a0f7082
Author: Wayne Davison 
Date:   Wed Apr 10 11:53:07 2024 -0700

Get the "dev" suffix right.

commit 50bdf9685dc823ef9930c6ca862ac1588f815970
Author: Wayne Davison 
Date:   Wed Apr 10 11:51:59 2024 -0700

Remove duplicate paragraph.

commit 3f2a38b01184cae9a931280b534acf5a3dae2e94
Author: Charalampos Mitrodimas 
Date:   Mon Apr 8 11:40:02 2024 +0300

CI: added Solaris build

Signed-off-by: Charalampos Mitrodimas 

---

Summary of changes:
 .github/workflows/build.yml  | 16 
 .github/workflows/freebsd-build.yml  | 13 +++--
 .../workflows/{freebsd-build.yml => solaris-build.yml}   | 15 ---
 Makefile.in  |  8 
 README.md|  3 ---
 packaging/auto-Makefile  |  2 +-
 packaging/pkglib.py  | 11 ---
 packaging/pre-push   | 16 
 packaging/release-rsync  |  2 --
 version.h|  2 +-
 10 files changed, 29 insertions(+), 59 deletions(-)
 copy .github/workflows/{freebsd-build.yml => solaris-build.yml} (62%)
 delete mode 100755 packaging/pre-push


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9273e11a..09a8ce24 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -13,11 +13,11 @@ jobs:
   ubuntu-build:
 runs-on: ubuntu-20.04
 steps:
-- uses: actions/checkout@v3
+- uses: actions/checkout@v4
+  fetch-depth: 0
 - name: prep
   run: |
-sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev 
libzstd-dev libxxhash-dev python3-cmarkgfm openssl wget
-wget -O git-version.h 
https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
+sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev 
libzstd-dev libxxhash-dev python3-cmarkgfm openssl
 echo "/usr/local/bin" >>$GITHUB_PATH
 - name: configure
   run: ./configure --with-rrsync
@@ -51,12 +51,12 @@ jobs:
   macos-build:
 runs-on: macos-latest
 steps:
-- uses: actions/checkout@v3
+- uses: actions/checkout@v4
+  fetch-depth: 0
 - name: prep
   run: |
-brew install automake openssl xxhash zstd lz4 wget
+brew install automake openssl xxhash zstd lz4
 sudo pip3 install commonmark
-wget -O git-version.h 
https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
 echo "/usr/local/bin" >>$GITHUB_PATH
 - name: configure
   run: CPPFLAGS=-I/usr/local/opt/openssl/include/ 
LDFLAGS=-L/usr/local/opt/openssl/lib/ ./configure --with-rrsync
@@ -87,13 +87,13 @@ jobs:
 runs-on: windows-2022
 if: (github.event_name == 'schedule' || 
contains(github.event.head_commit.message, '[buildall]'))
 steps:
-- uses: actions/checkout@v3
+- uses: actions/checkout@v4
+  fetch-depth: 0
 - name: cygwin
   run: choco install -y --no-progress cygwin cyg-get
 - name: prep
   run: |
 cyg-get make autoconf automake gcc-core attr libattr-devel python39 
python39-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
-curl.exe -o git-version.h 
https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
 echo "C:/tools/cygwin/bin" >>$Env:GITHUB_PATH
 - name: commonmark
   run: bash -c 'python3 -mpip install --user commonmark'
diff --git a/.github/workflows/freebsd-build.yml 

[SCM] The rsync repository. - branch master updated

2024-04-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5510255f Tweak maintainer messaging.
   via  56a039b0 Changes for 3.3.1dev.
  from  7bc3be2b CI: fixed rules for when to trigger

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


- Log -
commit 5510255f120ba13a1874086a1ef7ea8a7bf66570
Author: Wayne Davison 
Date:   Mon Apr 8 13:16:12 2024 -0700

Tweak maintainer messaging.

commit 56a039b04a186678e8e150a95529f23d93e2ca56
Author: Wayne Davison 
Date:   Mon Apr 8 13:14:59 2024 -0700

Changes for 3.3.1dev.

---

Summary of changes:
 NEWS.md  | 15 +++
 README.md|  8 +---
 rsync.1.md   |  3 +--
 rsyncd.conf.5.md |  3 +--
 version.h|  2 +-
 5 files changed, 23 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 846ed0ac..1a88a70d 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,17 @@
+# NEWS for rsync 3.3.1 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+- Fixed the included popt to avoid a memory error on modern gcc versions.
+
+### INTERNAL:
+
+ - Updated included popt to version 1.19.
+
+--
+
 # NEWS for rsync 3.3.0 (6 Apr 2024)
 
 ## Changes in this version:
@@ -4762,6 +4776,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
+| ?? Apr 2024  | 3.3.1  |  | 31  |
 | 06 Apr 2024  | 3.3.0  |  | 31  |
 | 20 Oct 2022  | 3.2.7  |  | 31  |
 | 09 Sep 2022  | 3.2.6  |  | 31  |
diff --git a/README.md b/README.md
index f9689972..6bedf2e1 100644
--- a/README.md
+++ b/README.md
@@ -132,9 +132,11 @@ source.
 COPYRIGHT
 -
 
-Rsync was originally written by Andrew Tridgell and is currently
-maintained by Wayne Davison.  It has been improved by many developers
-from around the world.
+Rsync was originally written by Andrew Tridgell and has been improved by many
+developers from around the world.
+
+Rsync was originally written by Andrew Tridgell and Paul Mackerras.  Many
+people from around the world have helped to maintain and improve it.
 
 Rsync may be used, modified and redistributed only under the terms of
 the GNU General Public License, found in the file [COPYING][9] in this
diff --git a/rsync.1.md b/rsync.1.md
index afaf1de8..4407a013 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -4838,8 +4838,7 @@ David Bell.  I've probably missed some people, my 
apologies if I have.
 ## AUTHOR
 
 Rsync was originally written by Andrew Tridgell and Paul Mackerras.  Many
-people have later contributed to it. It is currently maintained by Wayne
-Davison.
+people from around the world have helped to maintain and improve it.
 
 Mailing lists for support and development are available at
 .
diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
index 2ba7..2f257659 100644
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
@@ -1273,8 +1273,7 @@ Thanks to Karsten Thygesen for his many suggestions and 
documentation!
 ## AUTHOR
 
 Rsync was originally written by Andrew Tridgell and Paul Mackerras.  Many
-people have later contributed to it. It is currently maintained by Wayne
-Davison.
+people from around the world have helped to maintain and improve it.
 
 Mailing lists for support and development are available at
 .
diff --git a/version.h b/version.h
index b162146e..47d5dbe1 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.3.0"
+#define RSYNC_VERSION "3.3.1pre"
 #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


[SCM] The rsync repository. - branch master updated

2024-04-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  7bc3be2b CI: fixed rules for when to trigger
   via  411c4789 support: added install_deps_ubuntu.sh
   via  231b239f check for stpcpy
   via  4c8683c8 update to popt 1.19
   via  85c906f9 Silence unused var warning
   via  35f5a21a hint that a proxy can handle plain and ssl stream at the 
same time
   via  99673f93 CI: added FreeBSD build
   via  9505ac59 removed old cirrus CI
   via  0dd25d47 configure.ac: fix failing IPv6 check due to missing return 
type
  from  ae3e13ba Update github links.

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


- Log -
commit 7bc3be2b9e32cf95ce9d67c6227a8e5367d0b8ad
Author: Andrew Tridgell 
Date:   Mon Apr 8 15:35:42 2024 +1000

CI: fixed rules for when to trigger

commit 411c4789dfb2561d3400a5f8282f5f1bab76eeae
Author: Andrew Tridgell 
Date:   Mon Apr 8 10:16:31 2024 +1000

support: added install_deps_ubuntu.sh

convenient way to bootstrap quickly

commit 231b239f304fb2daa1240eec567880d225b7f730
Author: Andrew Tridgell 
Date:   Mon Apr 8 13:40:58 2024 +1000

check for stpcpy

needed for popt on macos

commit 4c8683c8753f2493ef13c3425fb5847960a6e305
Author: Andrew Tridgell 
Date:   Mon Apr 8 12:45:59 2024 +1000

update to popt 1.19

commit 85c906f96425195f8ba8646fbb37142206399ba0
Author: Rose <83477269+ataridre...@users.noreply.github.com>
Date:   Wed May 3 09:50:31 2023 -0400

Silence unused var warning

recv_ida_entries still needs to be called regardless, so we cannot take 
that out. Let's just quiet the compiler instead.

commit 35f5a21a16ca2689710e0503464bb736d136edd6
Author: Christian Hesse 
Date:   Wed Apr 5 13:08:02 2023 +0200

hint that a proxy can handle plain and ssl stream at the same time

commit 99673f937f36ab90a160a1b8c1e37645893d7b77
Author: Andrew Tridgell 
Date:   Sun Apr 7 07:11:31 2024 +1000

CI: added FreeBSD build

commit 9505ac59455278b54708b7c2790d93eb3d0b960b
Author: Andrew Tridgell 
Date:   Sun Apr 7 07:11:47 2024 +1000

removed old cirrus CI

commit 0dd25d4752520ed405315f1d2a8454fd507631bb
Author: Ivan Babrou 
Date:   Mon Jan 1 19:31:01 2024 -0800

configure.ac: fix failing IPv6 check due to missing return type

Fixing this warning escalated to an error, resuting in no IPv6 support:

```
configure.sh:7679: checking whether to enable ipv6
configure.sh:7718: clang -o conftest -g -O2 -DHAVE_CONFIG_H -Wall -W   
conftest.c  >&5
conftest.c:73:1: error: type specifier missing, defaults to 'int'; ISO C99 
and later do not support implicit int [-Wimplicit-int]
main()
^
int
1 error generated.
configure.sh:7718: $? = 1
configure.sh: program exited with status 1
```

---

Summary of changes:
 .cirrus.yml |   23 -
 .github/workflows/build.yml |2 -
 .github/workflows/freebsd-build.yml |   27 +
 INSTALL.md  |2 +
 Makefile.in |2 +-
 acls.c  |1 +
 configure.ac|6 +-
 popt/lookup3.c  |  959 +++
 popt/popt.c | 1447 +++
 popt/popt.h |  475 ++--
 popt/poptconfig.c   |  526 ++---
 popt/popthelp.c |  786 ++-
 popt/poptint.c  |  194 +
 popt/poptint.h  |  118 ++-
 popt/poptparse.c|  100 +--
 popt/system.h   |  148 +---
 rsyncd.conf.5.md|3 +
 support/install_deps_ubuntu.sh  |   11 +
 18 files changed, 3411 insertions(+), 1419 deletions(-)
 delete mode 100644 .cirrus.yml
 create mode 100644 .github/workflows/freebsd-build.yml
 create mode 100644 popt/lookup3.c
 create mode 100644 popt/poptint.c
 create mode 100755 support/install_deps_ubuntu.sh


Changeset truncated at 500 lines:

diff --git a/.cirrus.yml b/.cirrus.yml
deleted file mode 100644
index 33e2685e..
--- a/.cirrus.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-freebsd_task:
-  name: FreeBSD
-  freebsd_instance:
-image_family: freebsd-13-1
-  env:
-PATH: /usr/local/bin:$PATH
-  prep_script:
-- dd if=/dev/zero of=/tmp/zpool bs=1M count=1024
-- zpool create -m `pwd`/testtmp zpool /tmp/zpool
-- pkg install -y bash autotools m4 xxhash zstd liblz4 wget
-- wget -O git-version.h 
https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
-  configure_script:
-- CPPFLAGS=-I/usr/local/include/ LDFLAGS=-L/usr/local/lib/ ./configure 
--disable-md2man
-  make_script:
-- make
-  install_script:
-- make install
-  info_script:
-- rsync --version
-  test_script:
-- 

[SCM] The rsync repository. - branch master updated

2024-04-06 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ae3e13ba Update github links.
  from  6c8ca91c Preparing for release of 3.3.0 [buildall]

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


- Log -
commit ae3e13ba99d0d6c1727ca7930b0eab5f60122ae0
Author: Wayne Davison 
Date:   Sat Apr 6 10:33:42 2024 -0700

Update github links.

---

Summary of changes:
 README.md   | 6 +++---
 configure.ac| 2 +-
 rsync.1.md  | 2 +-
 rsyncd.conf.5.md| 2 +-
 support/rrsync.1.md | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/README.md b/README.md
index a86c7710..f9689972 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ If you need to build rsync yourself, check out the 
[INSTALL][1] page for
 information on what libraries and packages you can use to get the maximum
 features in your build.
 
-[1]: https://github.com/WayneD/rsync/blob/master/INSTALL.md
+[1]: https://github.com/RsyncProject/rsync/blob/master/INSTALL.md
 
 SETUP
 -
@@ -120,7 +120,7 @@ If you want to get the very latest version of rsync direct 
from the
 source code repository, then you will need to use git.  The git repo
 is hosted [on GitHub][6] and [on Samba's site][7].
 
-[6]: https://github.com/WayneD/rsync
+[6]: https://github.com/RsyncProject/rsync
 [7]: https://git.samba.org/?p=rsync.git;a=summary
 
 See [the download page][8] for full details on all the ways to grab the
@@ -140,5 +140,5 @@ Rsync may be used, modified and redistributed only under 
the terms of
 the GNU General Public License, found in the file [COPYING][9] in this
 distribution, or at [the Free Software Foundation][10].
 
-[9]: https://github.com/WayneD/rsync/blob/master/COPYING
+[9]: https://github.com/RsyncProject/rsync/blob/master/COPYING
 [10]: https://www.fsf.org/licenses/gpl.html
diff --git a/configure.ac b/configure.ac
index ccad7f13..0d868571 100644
--- a/configure.ac
+++ b/configure.ac
@@ -573,7 +573,7 @@ if test x"$no_lib" != x; then
 echo ""
 echo "See the INSTALL file for hints on how to install the missing 
libraries and/or"
 echo "how to generate (or fetch) manpages:"
-echo "https://github.com/WayneD/rsync/blob/master/INSTALL.md;
+echo "https://github.com/RsyncProject/rsync/blob/master/INSTALL.md;
 echo ""
 echo "To disable one or more features, the relevant configure options are:"
 for lib in $no_lib; do
diff --git a/rsync.1.md b/rsync.1.md
index 2ae6f481..afaf1de8 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -4818,7 +4818,7 @@ An rsync web site is available at 
.  The site
 includes an FAQ-O-Matic which may cover questions unanswered by this manual
 page.
 
-The rsync github project is .
+The rsync github project is .
 
 We would be delighted to hear from you if you like this program.  Please
 contact the mailing-list at .
diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
index cd10e659..ec976bac 100644
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
@@ -1260,7 +1260,7 @@ Rsync is distributed under the GNU General Public 
License.  See the file
 [COPYING](COPYING) for details.
 
 An rsync web site is available at  and its github
-project is .
+project is .
 
 ## THANKS
 
diff --git a/support/rrsync.1.md b/support/rrsync.1.md
index 24892900..5f33930e 100644
--- a/support/rrsync.1.md
+++ b/support/rrsync.1.md
@@ -163,7 +163,7 @@ rsync is distributed under the GNU General Public License.  
See the file
 [COPYING](COPYING) for details.
 
 An rsync web site is available at  and its github
-project is .
+project is .
 
 ## AUTHOR
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - annotated tag v3.3.0 created

2024-04-06 Thread Rsync CVS commit messages
The annotated tag, v3.3.0 has been created
at  df60f6aa84e3ba9f251dde205f3ed03726b37137 (tag)
   tagging  6c8ca91c731b7bf2b081694bda85b7dadc2b7aff (commit)
  replaces  v3.3.0pre1
 tagged by  Wayne Davison
on  Sat Apr 6 09:38:26 2024 -0700

- Log -
Version 3.3.0.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCZhF6ghEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxaDFAJ9PhspDNI6jUQrBjHGbHiCvUCznEwCg8xaJ
kBZO9GbiniI6ILawknW7kAI=
=86eP
-END PGP SIGNATURE-

Grant Gardner (1):
  typo in rsyncd.conf.5.md

Jiri Slaby (1):
  exclude: fix crashes with fortified strlcpy()

Wayne Davison (9):
  A couple spelling tweaks; tweak order.
  Mention updated config files.
  A couple more NEWS improvements.
  Fix old stats bug that counted devices as symlinks.
  Convert mnt-excl into python.
  Make `--max-alloc=0` safer.
  Mention latest changes in NEWS.
  Some year updates.
  Preparing for release of 3.3.0 [buildall]

zhangwenlong (1):
  update config.guess config.sub (#478)

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2024-04-06 Thread Rsync CVS commit messages
The branch, master has been updated
   via  6c8ca91c Preparing for release of 3.3.0 [buildall]
  from  079e74a3 Some year updates.

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


- Log -
commit 6c8ca91c731b7bf2b081694bda85b7dadc2b7aff
Author: Wayne Davison 
Date:   Sat Apr 6 09:30:21 2024 -0700

Preparing for release of 3.3.0 [buildall]

---

Summary of changes:
 NEWS.md  |  4 ++--
 delete.c |  2 +-
 exclude.c|  2 +-
 packaging/lsb/rsync.spec | 10 +-
 util2.c  |  2 +-
 version.h|  2 +-
 6 files changed, 11 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index da1e1852..846ed0ac 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# NEWS for rsync 3.3.0 (UNRELEASED)
+# NEWS for rsync 3.3.0 (6 Apr 2024)
 
 ## Changes in this version:
 
@@ -4762,7 +4762,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
-| ?? May 2023  | 3.3.0  |  | 31  |
+| 06 Apr 2024  | 3.3.0  |  | 31  |
 | 20 Oct 2022  | 3.2.7  |  | 31  |
 | 09 Sep 2022  | 3.2.6  |  | 31  |
 | 14 Aug 2022  | 3.2.5  |  | 31  |
diff --git a/delete.c b/delete.c
index dcb6a9af..89c1f8d6 100644
--- a/delete.c
+++ b/delete.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2002 Martin Pool 
- * Copyright (C) 2003-2023 Wayne Davison
+ * Copyright (C) 2003-2024 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/exclude.c b/exclude.c
index 1a5de3b9..87edbcf7 100644
--- a/exclude.c
+++ b/exclude.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2001 Andrew Tridgell 
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2002 Martin Pool
- * Copyright (C) 2003-2022 Wayne Davison
+ * Copyright (C) 2003-2024 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 5df58b96..10385a39 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.3.0
-%define fullversion %{version}pre1
-Release: 0.1.pre1
-%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
-* Sat Apr 29 2023 Wayne Davison 
-Released 3.3.0pre1.
+* Sat Apr 06 2024 Wayne Davison 
+Released 3.3.0.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/util2.c b/util2.c
index e398340e..b59bff0a 100644
--- a/util2.c
+++ b/util2.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool 
- * Copyright (C) 2003-2023 Wayne Davison
+ * Copyright (C) 2003-2024 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/version.h b/version.h
index da4bb368..b162146e 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.3.0pre1"
+#define RSYNC_VERSION "3.3.0"
 #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


[SCM] The rsync repository. - branch master updated

2024-04-06 Thread Rsync CVS commit messages
The branch, master has been updated
   via  079e74a3 Some year updates.
   via  abc3c746 Mention latest changes in NEWS.
   via  99ab5946 exclude: fix crashes with fortified strlcpy()
  from  a47ae6fa typo in rsyncd.conf.5.md

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


- Log -
commit 079e74a30f3615ccd70864621dab6d8df0ae0122
Author: Wayne Davison 
Date:   Sat Apr 6 09:21:44 2024 -0700

Some year updates.

commit abc3c746527bb030db37010e03ef574ddc47fe36
Author: Wayne Davison 
Date:   Sat Apr 6 09:17:16 2024 -0700

Mention latest changes in NEWS.

commit 99ab59464bf44f18d668e373bc3d0f65190b87ac
Author: Jiri Slaby 
Date:   Fri Aug 18 08:26:20 2023 +0200

exclude: fix crashes with fortified strlcpy()

Fortified (-D_FORTIFY_SOURCE=2 for gcc) builds make strlcpy() crash when
its third parameter (size) is larger than the buffer:
  $ rsync -FFXHav '--filter=merge global-rsync-filter' Align-37-43/ xxx
  sending incremental file list
  *** buffer overflow detected ***: terminated

It's in the exclude code in setup_merge_file():
  strlcpy(y, save, MAXPATHLEN);

Note the 'y' pointer was incremented, so it no longer points to memory
with MAXPATHLEN "owned" bytes.

Fix it by remembering the number of copied bytes into the 'save' buffer
and use that instead of MAXPATHLEN which is clearly incorrect.

Fixes #511.

---

Summary of changes:
 NEWS.md   | 7 +++
 delete.c  | 2 +-
 exclude.c | 5 +++--
 latest-year.h | 2 +-
 util2.c   | 2 +-
 5 files changed, 13 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index ca60c32c..da1e1852 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -10,6 +10,11 @@
 - Fixed an buffer overflow in the checksum2 code if SHA1 is being used for
   the checksum2 algorithm.
 
+- Fixed an issue when rsync is compiled using `_FORTIFY_SOURCE` so that the
+  extra tests don't complain about a strlcpy() limit value (which was too
+  large, even though it wasn't possible for the larger value to cause an
+  overflow).
+
 - Add a backtick to the list of characters that the filename quoting needs to
   escape using backslashes.
 
@@ -49,6 +54,8 @@
 - Changed the mapfrom & mapto perl scripts (in the support dir) into a single
   python script named idmap.  Converted a couple more perl scripts into python.
 
+- Changed the mnt-excl perl script (in the support dir) into a python script.
+
 ### DEVELOPER RELATED:
 
  - Updated config.guess (timestamp 2023-01-01) and config.sub (timestamp
diff --git a/delete.c b/delete.c
index 80766164..dcb6a9af 100644
--- a/delete.c
+++ b/delete.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2002 Martin Pool 
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2023 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/exclude.c b/exclude.c
index ffe55b16..1a5de3b9 100644
--- a/exclude.c
+++ b/exclude.c
@@ -720,7 +720,8 @@ static BOOL setup_merge_file(int mergelist_num, filter_rule 
*ex,
parent_dirscan = True;
while (*y) {
char save[MAXPATHLEN];
-   strlcpy(save, y, MAXPATHLEN);
+   /* copylen is strlen(y) which is < MAXPATHLEN. +1 for \0 */
+   size_t copylen = strlcpy(save, y, MAXPATHLEN) + 1;
*y = '\0';
dirbuf_len = y - dirbuf;
strlcpy(x, ex->pattern, MAXPATHLEN - (x - buf));
@@ -734,7 +735,7 @@ static BOOL setup_merge_file(int mergelist_num, filter_rule 
*ex,
lp->head = NULL;
}
lp->tail = NULL;
-   strlcpy(y, save, MAXPATHLEN);
+   strlcpy(y, save, copylen);
while ((*x++ = *y++) != '/') {}
}
parent_dirscan = False;
diff --git a/latest-year.h b/latest-year.h
index 0dcf3464..f978fb8b 100644
--- a/latest-year.h
+++ b/latest-year.h
@@ -1 +1 @@
-#define LATEST_YEAR "2023"
+#define LATEST_YEAR "2024"
diff --git a/util2.c b/util2.c
index 3b5a8f41..e398340e 100644
--- a/util2.c
+++ b/util2.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996-2000 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2001, 2002 Martin Pool 
- * Copyright (C) 2003-2020 Wayne Davison
+ * Copyright (C) 2003-2023 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


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2024-04-05 Thread Rsync CVS commit messages
The branch, master has been updated
   via  a47ae6fa typo in rsyncd.conf.5.md
  from  2f9b963a Make `--max-alloc=0` safer.

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


- Log -
commit a47ae6fad901d94c1853fa27b56bc458a48bbee2
Author: Grant Gardner 
Date:   Sun Mar 17 14:00:16 2024 +1100

typo in rsyncd.conf.5.md

---

Summary of changes:
 rsyncd.conf.5.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
index 3d91cd93..cd10e659 100644
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
@@ -1023,7 +1023,7 @@ in the values of parameters.  See that section for 
details.
 _not_ displayed if the script returns success.  The other programs cannot
 send any text to the user.  All output except for the `pre-xfer exec`
 stdout goes to the corresponding daemon's stdout/stderr, which is typically
-discarded.  See the `--no-detatch` option for a way to see the daemon's
+discarded.  See the `--no-detach` option for a way to see the daemon's
 output, which can assist with debugging.
 
 Note that the `early exec` command runs before any part of the transfer


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2024-04-04 Thread Rsync CVS commit messages
The branch, master has been updated
   via  2f9b963a Make `--max-alloc=0` safer.
   via  3476caea Convert mnt-excl into python.
   via  6f3c5ecc Fix old stats bug that counted devices as symlinks.
   via  79fda353 A couple more NEWS improvements.
  from  cd769934 Mention updated config files.

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


- Log -
commit 2f9b963abaa52e44891180fe6c0d1c2219f6686d
Author: Wayne Davison 
Date:   Tue Jun 27 09:01:15 2023 -0700

Make `--max-alloc=0` safer.

Always do size checking in my_alloc(), even for `--max-alloc=0`.

commit 3476caea3e10ec06b839d0e95b09c145dd3cbfaf
Author: Wayne Davison 
Date:   Mon May 22 08:29:15 2023 -0700

Convert mnt-excl into python.

commit 6f3c5eccee6cf4dead68b9f3fda8fc2ff90dc311
Author: Wayne Davison 
Date:   Tue May 16 22:44:54 2023 -0700

Fix old stats bug that counted devices as symlinks.

commit 79fda353425daba6b23753c8b1b01dc35ecaac7d
Author: Wayne Davison 
Date:   Thu May 4 08:56:10 2023 -0700

A couple more NEWS improvements.

---

Summary of changes:
 NEWS.md  |  9 ++---
 delete.c |  2 +-
 flist.c  |  2 +-
 options.c|  2 ++
 rsync.1.md   |  3 ++-
 support/mnt-excl | 48 +---
 util2.c  |  2 +-
 7 files changed, 42 insertions(+), 26 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 2821a990..ca60c32c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -13,8 +13,9 @@
 - Add a backtick to the list of characters that the filename quoting needs to
   escape using backslashes.
 
-- Fixed a string-comparison issue in the internal file-list code that affected
-  tr_TR.utf-8.
+- Fixed a string-comparison issue in the internal handling of `--progress` (a
+  locale such as tr_TR.utf-8 needed the internal triggering of `--info` options
+  to use upper-case flag names to ensure that they match).
 
 - Make sure that a local transfer marks the sender side as trusted.
 
@@ -25,10 +26,12 @@
   openssl library.
 
 - Fixed a problem in the daemon auth for older protocols (29 and before) if the
-  openssl library is being used to compute md4 checksums.
+  openssl library is being used to compute MD4 checksums.
 
 - Fixed `rsync -VV` on Cygwin -- it needed a flush of stdout.
 
+- Fixed an old stats bug that counted devices as symlinks.
+
 ### ENHANCEMENTS:
 
 - Enhanced rrsync with the `-no-overwrite` option that allows you to ensure
diff --git a/delete.c b/delete.c
index 4a294853..80766164 100644
--- a/delete.c
+++ b/delete.c
@@ -188,7 +188,7 @@ enum delret delete_item(char *fbuf, uint16 mode, uint16 
flags)
stats.deleted_symlinks++;
 #endif
else if (IS_DEVICE(mode))
-   stats.deleted_symlinks++;
+   stats.deleted_devices++;
else
stats.deleted_specials++;
}
diff --git a/flist.c b/flist.c
index 311bbcf1..464d556e 100644
--- a/flist.c
+++ b/flist.c
@@ -2659,7 +2659,7 @@ struct file_list *recv_file_list(int f, int dir_ndx)
} else if (S_ISLNK(file->mode))
stats.num_symlinks++;
else if (IS_DEVICE(file->mode))
-   stats.num_symlinks++;
+   stats.num_devices++;
else
stats.num_specials++;
 
diff --git a/options.c b/options.c
index 93bbe7b0..fd674754 100644
--- a/options.c
+++ b/options.c
@@ -1946,6 +1946,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
goto cleanup;
max_alloc = size;
}
+   if (!max_alloc)
+   max_alloc = SIZE_MAX;
 
if (old_style_args < 0) {
if (!am_server && protect_args <= 0 && (arg = 
getenv("RSYNC_OLD_ARGS")) != NULL && *arg) {
diff --git a/rsync.1.md b/rsync.1.md
index 894b3663..2ae6f481 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -2106,7 +2106,8 @@ expand it.
 See the [`--max-size`](#opt) option for a description of how SIZE can be
 specified.  The default suffix if none is given is bytes.
 
-Beginning in 3.2.3, a value of 0 specifies no limit.
+Beginning in 3.2.7, a value of 0 is an easy way to specify SIZE_MAX (the
+largest limit possible).
 
 You can set a default value using the environment variable
 [`RSYNC_MAX_ALLOC`](#) using the same SIZE values as supported by this
diff --git a/support/mnt-excl b/support/mnt-excl
index ed7b49ba..bc8b5bcd 100755
--- a/support/mnt-excl
+++ b/support/mnt-excl
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!/usr/bin/env python3
 # This script takes a command-line arg of a source directory
 # that will be passed to rsync, and generates a set of excludes
 # that will exclude all mount 

[SCM] The rsync repository. - branch master updated

2023-05-04 Thread Rsync CVS commit messages
The branch, master has been updated
   via  cd769934 Mention updated config files.
   via  05a68390 update config.guess config.sub (#478)
  from  86f41650 A couple spelling tweaks; tweak order.

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


- Log -
commit cd76993461d929aa44fabde9f5eff0791358c996
Author: Wayne Davison 
Date:   Thu May 4 08:45:42 2023 -0700

Mention updated config files.

commit 05a683900f747cab2f66d94a1bba5c884eb49e8f
Author: zhangwenlong 
Date:   Thu May 4 23:41:52 2023 +0800

update config.guess config.sub (#478)

- curl -sL -o config.guess 
'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
- curl -sL -o config.sub 
'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'

Signed-off-by: Wenlong Zhang 

---

Summary of changes:
 NEWS.md  |5 +
 config.guess | 1210 +++---
 config.sub   |  676 ++--
 3 files changed, 1050 insertions(+), 841 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 67869ccc..2821a990 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -46,6 +46,11 @@
 - Changed the mapfrom & mapto perl scripts (in the support dir) into a single
   python script named idmap.  Converted a couple more perl scripts into python.
 
+### DEVELOPER RELATED:
+
+ - Updated config.guess (timestamp 2023-01-01) and config.sub (timestamp
+   2023-01-21).
+
 --
 
 # NEWS for rsync 3.2.7 (20 Oct 2022)
diff --git a/config.guess b/config.guess
index 92bfc33e..69188da7 100644
--- a/config.guess
+++ b/config.guess
@@ -1,12 +1,14 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2020 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
-timestamp='2020-04-26'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2023-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -27,11 +29,19 @@ timestamp='2020-04-26'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 #
 # Please send patches to .
 
 
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
@@ -50,7 +60,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2020 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,6 +94,9 @@ if test $# != 0; then
   exit 1
 fi
 
+# Just in case it came from the environment.
+GUESS=
+
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
@@ -102,7 +115,7 @@ set_cc_for_build() {
 # prevent multiple calls if $tmp is already set
 test "$tmp" && return 0
 : "${TMPDIR=/tmp}"
-# shellcheck disable=SC2039
+# shellcheck disable=SC2039,SC3028
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXX") 2>/dev/null` && test -n 
"$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir 
"$tmp" 2>/dev/null) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo 
"Warning: creating insecure temp directory" >&2 ; } ||
@@ -112,7 +125,7 @@ set_cc_for_build() {
,,)echo "int x;" > "$dummy.c"
   for driver in cc gcc c89 c99 ; do
   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; 
then
-  CC_FOR_BUILD="$driver"
+  CC_FOR_BUILD=$driver
   break
   fi
  

[SCM] The rsync repository. - branch master updated

2023-04-30 Thread Rsync CVS commit messages
The branch, master has been updated
   via  86f41650 A couple spelling tweaks; tweak order.
  from  9a06b2ed Preparing for release of 3.3.0pre1 [buildall]

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


- Log -
commit 86f41650fb048fa5857a137f70074d77ebe06e36
Author: Wayne Davison 
Date:   Sun Apr 30 17:28:50 2023 -0700

A couple spelling tweaks; tweak order.

---

Summary of changes:
 NEWS.md| 8 
 rsync.1.md | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 1d3a158b..67869ccc 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -10,12 +10,12 @@
 - Fixed an buffer overflow in the checksum2 code if SHA1 is being used for
   the checksum2 algorithm.
 
-- Fixed a string-comparison issue in the internal file-list code that affected
-  tr_TR.utf-8.
-
 - Add a backtick to the list of characters that the filename quoting needs to
   escape using backslashes.
 
+- Fixed a string-comparison issue in the internal file-list code that affected
+  tr_TR.utf-8.
+
 - Make sure that a local transfer marks the sender side as trusted.
 
 - Change the argv handling to work with a newer popt library -- one that likes
@@ -100,7 +100,7 @@
 
 - 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.
+  Kenneth Finnegan resulted in about a 2x speedup.
 
 - If rsync is forced to use protocol 29 or before (perhaps due to talking to an
   rsync before 3.0.0), the modify time of a file is limited to 4-bytes.  Rsync
diff --git a/rsync.1.md b/rsync.1.md
index 16dbf20c..894b3663 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -245,7 +245,7 @@ to be copied to different destination directories using 
more than one copy.
 
 While a copy of a case-ignoring filesystem to a case-ignoring filesystem can
 work out fairly well, if no `--delete-during` or `--delete-before` option is
-active, rsync can potentially update an existing file on the receiveing side
+active, rsync can potentially update an existing file on the receiving side
 without noticing that the upper-/lower-case of the filename should be changed
 to match the sender.
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2023-04-29 Thread Rsync CVS commit messages
The branch, master has been updated
   via  9a06b2ed Preparing for release of 3.3.0pre1 [buildall]
   via  273dced2 Update the NEWS.
   via  b6e23219 Mention that `--crtimes` support is spotty.
   via  fe95a936 Fix issue with trailing --sparse --inplace blocks. Fixes 
#450.
   via  6ae7f408 Add --force-link-text to md-convert.
   via  0f599d36 Fix overflow of sum2 buffer for sha1 rolling checksums. 
Fixed #353.
   via  c3d3b49d Make use of .UR & .UE for links.
   via  c69dc7a5 Tweak shell protection news to mention a few more 
characters.
   via  2c82006b add rrsync option to enforce `--ignore-existing` (#461)
   via  0698ea9a Fix flist string comparison issue in tr_TR.utf-8 locale.
   via  90df93e4 Don't call memcmp() on an empty lastdir.
  from  5c93dedf Add backtick to SHELL_CHARS.

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


- Log -
commit 9a06b2edb0ea1a226bcc642682c07bacd2ea47d3
Author: Wayne Davison 
Date:   Sat Apr 29 09:01:43 2023 -0700

Preparing for release of 3.3.0pre1 [buildall]

commit 273dced284e2bef03ccdf626e44aec4ce6bab6fe
Author: Wayne Davison 
Date:   Sat Apr 29 08:52:42 2023 -0700

Update the NEWS.

commit b6e2321973e163f7c7f22fad4db5fd1bc3638710
Author: Wayne Davison 
Date:   Sat Apr 29 08:20:30 2023 -0700

Mention that `--crtimes` support is spotty.

commit fe95a9369ac7a1d8d47b036094f91946cacccf53
Author: Wayne Davison 
Date:   Sat Apr 29 07:45:52 2023 -0700

Fix issue with trailing --sparse --inplace blocks.
Fixes #450.

commit 6ae7f4085a5012038c29ae1c70f626cae7714b69
Author: Wayne Davison 
Date:   Sun Apr 23 08:26:32 2023 -0700

Add --force-link-text to md-convert.

commit 0f599d3641bd197ff01f5182fad33169aa46a055
Author: Wayne Davison 
Date:   Sat Apr 22 08:49:48 2023 -0700

Fix overflow of sum2 buffer for sha1 rolling checksums.
Fixed #353.

commit c3d3b49d722439f18be24a0414aa49b4b035841f
Author: Wayne Davison 
Date:   Sat Apr 22 08:37:01 2023 -0700

Make use of .UR & .UE for links.

commit c69dc7a5ab473bb52a575b5803026c2694761084
Author: Wayne Davison 
Date:   Thu Mar 30 12:56:33 2023 -0700

Tweak shell protection news to mention a few more characters.

commit 2c82006b1fcddcdfb12aceb838f4dff7531b6a7c
Author: dogvisor <13217529+dogvi...@users.noreply.github.com>
Date:   Thu Mar 30 21:55:56 2023 +0200

add rrsync option to enforce `--ignore-existing` (#461)

The `-no-overwrite` rrsync option disallows the updating of existing files 
for incoming rrsync copies.

commit 0698ea9aeb4044d615dc0ff2c6da24cea1bcc98e
Author: Wayne Davison 
Date:   Sun Feb 5 19:46:45 2023 -0800

Fix flist string comparison issue in tr_TR.utf-8 locale.

commit 90df93e446f9ebbfd4ce97d6755c5fe1f45f9fd0
Author: Wayne Davison 
Date:   Sun Jan 8 21:35:39 2023 -0800

Don't call memcmp() on an empty lastdir.

---

Summary of changes:
 NEWS.md  | 58 +---
 checksum.c   |  3 ++-
 fileio.c | 42 +++
 flist.c  |  4 ++--
 generator.c  |  4 ++--
 latest-year.h|  2 +-
 match.c  |  4 ++--
 maybe-make-man   |  9 +++-
 md-convert   | 32 --
 options.c|  4 ++--
 packaging/lsb/rsync.spec | 12 +-
 receiver.c   |  4 ++--
 rsync.1.md   |  4 +++-
 support/rrsync   |  4 
 support/rrsync.1.md  |  7 +-
 version.h|  2 +-
 16 files changed, 149 insertions(+), 46 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 555d16f5..1d3a158b 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,53 @@
+# NEWS for rsync 3.3.0 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+- Fixed a bug with `--sparse --inplace` where a trailing gap in the source
+  file would not clear out the trailing data in the destination file.
+
+- Fixed an buffer overflow in the checksum2 code if SHA1 is being used for
+  the checksum2 algorithm.
+
+- Fixed a string-comparison issue in the internal file-list code that affected
+  tr_TR.utf-8.
+
+- Add a backtick to the list of characters that the filename quoting needs to
+  escape using backslashes.
+
+- Make sure that a local transfer marks the sender side as trusted.
+
+- Change the argv handling to work with a newer popt library -- one that likes
+  to free more data than it used to.
+
+- Rsync now calls `OpenSSL_add_all_algorithms()` when compiled against an older
+  openssl library.
+
+- Fixed a problem in the daemon auth for older protocols (29 and before) if the
+  openssl library is being used to compute md4 checksums.
+
+- Fixed `rsync -VV` on Cygwin -- it needed a flush of stdout.
+
+### ENHANCEMENTS:
+
+- Enhanced rrsync 

[SCM] The rsync repository. - annotated tag v3.3.0pre1 created

2023-04-29 Thread Rsync CVS commit messages
The annotated tag, v3.3.0pre1 has been created
at  a96e9badc76e93f883fe56c651067d35e2a9e9eb (tag)
   tagging  9a06b2edb0ea1a226bcc642682c07bacd2ea47d3 (commit)
  replaces  v3.2.7
 tagged by  Wayne Davison
on  Sat Apr 29 09:10:32 2023 -0700

- Log -
Version 3.3.0pre1.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCZE1BeBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxfm3AJ0XImdSUym/s+yvmGuWUkQKqZvlSACcCXjt
9tKfVod0Sn0UDTNoqzjBquM=
=UeuT
-END PGP SIGNATURE-

Wayne Davison (25):
  Cygwin needs stdout flushed. [buildall]
  Fix protocol <= 29 daemon auth if openssl is handling md4.
  Init the checksum choices before the daemon auth.
  Call `OpenSSL_add_all_algorithms()` on older openssl versions.
  Check for EVP_MD_CTX_copy in crypto lib instead of MD5_Init.
  Upgrade verion of actions.
  Avoid quoting of tilde when it's a destination arg.
  Tweak an older NEWS item to be a bit clearer.
  Convert a few more scripts to python3.
  Another python conversion.
  Duplicate argv data before poptFreeContext().
  Improve [global] module documentation.
  A couple manpage links.
  Trust the sender on a local transfer.
  Add backtick to SHELL_CHARS.
  Don't call memcmp() on an empty lastdir.
  Fix flist string comparison issue in tr_TR.utf-8 locale.
  Tweak shell protection news to mention a few more characters.
  Make use of .UR & .UE for links.
  Fix overflow of sum2 buffer for sha1 rolling checksums.
  Add --force-link-text to md-convert.
  Fix issue with trailing --sparse --inplace blocks.
  Mention that `--crtimes` support is spotty.
  Update the NEWS.
  Preparing for release of 3.3.0pre1 [buildall]

dogvisor (1):
  add rrsync option to enforce `--ignore-existing` (#461)

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2023-01-04 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5c93dedf Add backtick to SHELL_CHARS.
   via  f1e3434b Trust the sender on a local transfer.
   via  48252c3c A couple manpage links.
  from  5b67ff2a Improve [global] module documentation.

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


- Log -
commit 5c93dedf4538426982f8832fa9103f09a78a01ad
Author: Wayne Davison 
Date:   Wed Jan 4 21:52:48 2023 -0800

Add backtick to SHELL_CHARS.

commit f1e3434b59dd3dfbf4b6faf8dbc81dd068adc305
Author: Wayne Davison 
Date:   Thu Dec 1 20:16:51 2022 -0800

Trust the sender on a local transfer.

commit 48252c3c2bc0b1a375137dd91932122d6ee82a8a
Author: Wayne Davison 
Date:   Wed Nov 23 07:58:43 2022 -0800

A couple manpage links.

---

Summary of changes:
 main.c   |  6 +-
 options.c|  2 +-
 rsyncd.conf.5.md | 10 +-
 3 files changed, 11 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/main.c b/main.c
index 9f36904d..0c60b86d 100644
--- a/main.c
+++ b/main.c
@@ -89,6 +89,8 @@ extern int backup_dir_len;
 extern int basis_dir_cnt;
 extern int default_af_hint;
 extern int stdout_format_has_i;
+extern int trust_sender_filter;
+extern int trust_sender_args;
 extern struct stats stats;
 extern char *stdout_format;
 extern char *logfile_format;
@@ -1471,8 +1473,10 @@ static int start_client(int argc, char *argv[])
}
 
/* A local transfer doesn't unbackslash anything, so leave the args 
alone. */
-   if (local_server)
+   if (local_server) {
old_style_args = 2;
+   trust_sender_args = trust_sender_filter = 1;
+   }
 
if (!rsync_port && remote_argc && !**remote_argv) /* Turn an empty arg 
into a dot dir. */
*remote_argv = ".";
diff --git a/options.c b/options.c
index ded0e7a3..c9c82527 100644
--- a/options.c
+++ b/options.c
@@ -2518,7 +2518,7 @@ static char SPLIT_ARG_WHEN_OLD[1];
  **/
 char *safe_arg(const char *opt, const char *arg)
 {
-#define SHELL_CHARS "!#$&;|<>(){}\"' \t\\"
+#define SHELL_CHARS "!#$&;|<>(){}\"'` \t\\"
 #define WILD_CHARS  "*?[]" /* We don't allow remote brace expansion */
BOOL is_filename_arg = !opt;
char *escapes = is_filename_arg ? SHELL_CHARS : WILD_CHARS SHELL_CHARS;
diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
index 8ebbf87f..3d91cd93 100644
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
@@ -120,9 +120,9 @@ parameters:
 You can override the default backlog value when the daemon listens for
 connections.  It defaults to 5.
 
-You may also include any module parameters in the global part of the config
-file, in which case the supplied value will override the default for that
-parameter.
+You may also include any [MODULE PARAMETERS](#) in the global part of the
+config file, in which case the supplied value will override the default for
+that parameter.
 
 You may use references to environment variables in the values of parameters.
 String parameters will have %VAR% references expanded as late as possible (when
@@ -153,8 +153,8 @@ parameters as a combination of the default values that are 
set at that position
 in the config file plus its own parameter list, the use of a "[global]" section
 can help to maintain shared config values for multiple modules.
 
-As with GLOBAL PARAMETERS, you may use references to environment variables in
-the values of parameters.  See the GLOBAL PARAMETERS section for more details.
+As with [GLOBAL PARAMETERS](#), you may use references to environment variables
+in the values of parameters.  See that section for details.
 
 0.  `comment`
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-11-22 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5b67ff2a Improve [global] module documentation.
   via  8990ad96 Duplicate argv data before poptFreeContext().
   via  0f44e864 Another python conversion.
   via  ab0d5021 Convert a few more scripts to python3.
   via  74028965 Tweak an older NEWS item to be a bit clearer.
  from  53749940 Avoid quoting of tilde when it's a destination arg.

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


- Log -
commit 5b67ff2a86585637c28a4496e631041ec5cb04fc
Author: Wayne Davison 
Date:   Tue Nov 22 22:55:52 2022 -0800

Improve [global] module documentation.

commit 8990ad96de881f7332d16d32485f9d8b841a87d2
Author: Wayne Davison 
Date:   Tue Nov 22 21:00:04 2022 -0800

Duplicate argv data before poptFreeContext().

commit 0f44e864d4481b6683f8abc7a817db23c5203130
Author: Wayne Davison 
Date:   Sun Nov 20 09:38:12 2022 -0800

Another python conversion.

commit ab0d5021ed1c9b4c1b74f5d80b7c6668d8989ba5
Author: Wayne Davison 
Date:   Wed Nov 16 00:06:05 2022 -0800

Convert a few more scripts to python3.

commit 740289652347573508688d7fb3e7e48d697f8742
Author: Wayne Davison 
Date:   Wed Nov 9 16:04:02 2022 -0800

Tweak an older NEWS item to be a bit clearer.

---

Summary of changes:
 NEWS.md|  12 ++--
 main.c |  13 
 options.c  | 160 +
 rsyncd.conf.5.md   |  46 +++--
 support/cvs2includes   |  85 +++-
 support/files-to-excludes  |  58 +---
 support/idmap  |  45 +
 support/json-rsync-version |   2 +-
 support/mapfrom|  15 -
 support/mapto  |  15 -
 10 files changed, 256 insertions(+), 195 deletions(-)
 create mode 100755 support/idmap
 delete mode 100755 support/mapfrom
 delete mode 100755 support/mapto


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index fb656288..555d16f5 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -227,10 +227,14 @@
 
Wildcards are not escaped in filename args, but they are escaped in options
like the [`--suffix`](rsync.1#opt) and [`--usermap`](rsync.1#opt) values.
-   If your rsync script depends on the old arg-splitting behavior, either run
-   it with the [`--old-args`](rsync.1#opt) option or `export RSYNC_OLD_ARGS=1`
-   in the script's environment.  See also the [ADVANCED USAGE](rsync.1#)
-   section of rsync's manpage for how to use a more modern arg style.
+
+   If a script depends on the old arg behavior (perhaps because it quotes or
+   protects the args already, or perhaps because it expects arg splitting),
+   there are two easy ways to get things going with a modern rsync: either
+   `export RSYNC_OLD_ARGS=1` in the script's environment (perhaps in the script
+   itself) or add the option [`--old-args`](rsync.1#opt) to the rsync commands
+   that are run.  See also the [ADVANCED USAGE](rsync.1#) section of rsync's
+   manpage for how to use a more modern arg style.
 
  - A long-standing bug was preventing rsync from figuring out the current
locale's decimal point character, which made rsync always output numbers
diff --git a/main.c b/main.c
index d2a7b9b5..9f36904d 100644
--- a/main.c
+++ b/main.c
@@ -1381,15 +1381,6 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, 
char *argv[])
return MAX(exit_code, exit_code2);
 }
 
-static void dup_argv(char *argv[])
-{
-   int i;
-
-   for (i = 0; argv[i]; i++)
-   argv[i] = strdup(argv[i]);
-}
-
-
 /* Start a client for either type of remote connection.  Work out
  * whether the arguments request a remote shell or rsyncd connection,
  * and call the appropriate connection function, then run_client.
@@ -1405,10 +1396,6 @@ static int start_client(int argc, char *argv[])
int ret;
pid_t pid;
 
-   /* Don't clobber argv[] so that ps(1) can still show the right
-* command line. */
-   dup_argv(argv);
-
if (!read_batch) { /* for read_batch, NO source is specified */
char *path = check_for_hostspec(argv[0], _machine, 
_port);
if (path) { /* source is remote */
diff --git a/options.c b/options.c
index cfa3e1dc..ded0e7a3 100644
--- a/options.c
+++ b/options.c
@@ -200,6 +200,7 @@ int remote_option_cnt = 0;
 const char **remote_options = NULL;
 const char *checksum_choice = NULL;
 const char *compress_choice = NULL;
+static const char *empty_argv[1];
 
 int quiet = 0;
 int output_motd = 1;
@@ -1347,7 +1348,7 @@ char *alt_dest_opt(int type)
  **/
 int parse_arguments(int *argc_p, const char ***argv_p)
 {
-   static poptContext pc;
+   poptContext pc;
const char *arg, **argv = *argv_p;
int argc = *argc_p;
int opt, want_dest_type;
@@ -1367,10 +1368,6 @@ int 

[SCM] The rsync repository. - branch master updated

2022-11-05 Thread Rsync CVS commit messages
The branch, master has been updated
   via  53749940 Avoid quoting of tilde when it's a destination arg.
   via  52636612 Upgrade verion of actions.
  from  556a2c5b Check for EVP_MD_CTX_copy in crypto lib instead of 
MD5_Init.

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


- Log -
commit 537499408948f4e3dd048a861eb58f211e4546f8
Author: Wayne Davison 
Date:   Sat Nov 5 09:14:33 2022 -0700

Avoid quoting of tilde when it's a destination arg.

commit 526366129aea62d01e57b4e6304c5088f065cf5e
Author: Wayne Davison 
Date:   Wed Nov 2 23:54:41 2022 -0700

Upgrade verion of actions.

---

Summary of changes:
 .github/workflows/build.yml | 12 ++--
 options.c   |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 75987fa3..3439e181 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -15,7 +15,7 @@ jobs:
   ubuntu-build:
 runs-on: ubuntu-20.04
 steps:
-- uses: actions/checkout@v2
+- uses: actions/checkout@v3
 - name: prep
   run: |
 sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev 
libzstd-dev libxxhash-dev python3-cmarkgfm openssl wget
@@ -38,7 +38,7 @@ jobs:
 - name: ssl file list
   run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
 - name: save artifact
-  uses: actions/upload-artifact@v2
+  uses: actions/upload-artifact@v3
   with:
 name: ubuntu-bin
 path: |
@@ -53,7 +53,7 @@ jobs:
   macos-build:
 runs-on: macos-latest
 steps:
-- uses: actions/checkout@v2
+- uses: actions/checkout@v3
 - name: prep
   run: |
 brew install automake openssl xxhash zstd lz4 wget
@@ -73,7 +73,7 @@ jobs:
 - name: ssl file list
   run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
 - name: save artifact
-  uses: actions/upload-artifact@v2
+  uses: actions/upload-artifact@v3
   with:
 name: macos-bin
 path: |
@@ -89,7 +89,7 @@ jobs:
 runs-on: windows-2022
 if: (github.event_name == 'schedule' || 
contains(github.event.head_commit.message, '[buildall]'))
 steps:
-- uses: actions/checkout@v2
+- uses: actions/checkout@v3
 - name: cygwin
   run: choco install -y --no-progress cygwin cyg-get
 - name: prep
@@ -112,7 +112,7 @@ jobs:
 - name: ssl file list
   run: bash -c 'PATH="/usr/local/bin:$PATH" rsync-ssl --no-motd 
download.samba.org::rsyncftp/ || true'
 - name: save artifact
-  uses: actions/upload-artifact@v2
+  uses: actions/upload-artifact@v3
   with:
 name: cygwin-bin
 path: |
diff --git a/options.c b/options.c
index d38bbe8d..cfa3e1dc 100644
--- a/options.c
+++ b/options.c
@@ -2510,7 +2510,7 @@ char *safe_arg(const char *opt, const char *arg)
char *ret;
if (!protect_args && old_style_args < 2 && (!old_style_args || 
(!is_filename_arg && opt != SPLIT_ARG_WHEN_OLD))) {
const char *f;
-   if (!trust_sender_args && *arg == '~'
+   if (*arg == '~' && is_filename_arg && !am_sender && 
!trust_sender_args
 && ((relative_paths && !strstr(arg, "/./"))
  || !strchr(arg, '/'))) {
extras++;


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-25 Thread Rsync CVS commit messages
The branch, master has been updated
   via  556a2c5b Check for EVP_MD_CTX_copy in crypto lib instead of 
MD5_Init.
  from  27feda04 Call `OpenSSL_add_all_algorithms()` on older openssl 
versions.

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


- Log -
commit 556a2c5bc2f6244f140a96302d4df92cfc25af8b
Author: Wayne Davison 
Date:   Tue Oct 25 21:55:53 2022 -0700

Check for EVP_MD_CTX_copy in crypto lib instead of MD5_Init.

---

Summary of changes:
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index a2c99558..ccad7f13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -432,10 +432,10 @@ AH_TEMPLATE([USE_OPENSSL],
 if test x"$enable_openssl" != x"no"; then
 if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test 
x"$ac_cv_header_openssl_md5_h" = x"yes"; then
   AC_MSG_RESULT(yes)
-  AC_SEARCH_LIBS(MD5_Init, crypto,
+  AC_SEARCH_LIBS(EVP_MD_CTX_copy, crypto,
   [AC_DEFINE(USE_OPENSSL)
   enable_openssl=yes],
-  [err_msg="$err_msg$nl- Failed to find MD5_Init function in openssl 
crypto lib.";
+  [err_msg="$err_msg$nl- Failed to find EVP_MD_CTX_copy function in 
openssl crypto lib.";
   no_lib="$no_lib openssl"])
 else
 AC_MSG_RESULT(no)


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-25 Thread Rsync CVS commit messages
The branch, master has been updated
  discards  c07d297640a2bb488b3480262ca8f1032b96258c (commit)
   via  27feda04 Call `OpenSSL_add_all_algorithms()` on older openssl 
versions.
   via  bf96cd31 Init the checksum choices before the daemon auth.
  from  c07d2976 Init the checksum choices before the daemon auth.

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


- Log -
commit 27feda0436e39e04ae53e08247739f8b6c906d56
Author: Wayne Davison 
Date:   Tue Oct 25 09:02:05 2022 -0700

Call `OpenSSL_add_all_algorithms()` on older openssl versions.

commit bf96cd314c29c042a28399beac2c8b63b957967f
Author: Wayne Davison 
Date:   Tue Oct 25 08:55:07 2022 -0700

Init the checksum choices before the daemon auth.

---

Summary of changes:
 checksum.c | 6 +-
 compat.c   | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index 60de3655..c6007f36 100644
--- a/checksum.c
+++ b/checksum.c
@@ -154,7 +154,7 @@ static const EVP_MD *csum_evp_md(struct name_num_item *nni)
emd = NULL;
else
 #endif
-   emd = EVP_get_digestbyname(nni->name);  
 
+   emd = EVP_get_digestbyname(nni->name);
if (emd && !(nni->flags & NNI_EVP_OK)) { /* Make sure it works before 
we advertise it */
if (!ctx_evp && !(ctx_evp = EVP_MD_CTX_create()))
out_of_memory("csum_evp_md");
@@ -787,6 +787,10 @@ void init_checksum_choices()
if (initialized_choices)
return;
 
+#if defined USE_OPENSSL && OPENSSL_VERSION_NUMBER < 0x1010L
+   OpenSSL_add_all_algorithms();
+#endif
+
 #if defined SUPPORT_XXH3 || defined USE_OPENSSL
for (nni = valid_checksums.list; nni->name; nni++)
verify_digest(nni, True);
diff --git a/compat.c b/compat.c
index 25bbe0fb..4ce8c6d0 100644
--- a/compat.c
+++ b/compat.c
@@ -834,6 +834,8 @@ void output_daemon_greeting(int f_out, int am_client)
char tmpbuf[MAX_NSTR_STRLEN];
int our_sub = get_subprotocol_version();
 
+   init_checksum_choices();
+
get_default_nno_list(_auth_checksums, tmpbuf, MAX_NSTR_STRLEN, 
'\0');
 
io_printf(f_out, "@RSYNCD: %d.%d %s\n", protocol_version, our_sub, 
tmpbuf);
@@ -848,8 +850,6 @@ void negotiate_daemon_auth(int f_out, int am_client)
int save_am_server = am_server;
int md4_is_old = 0;
 
-   init_checksum_choices();
-
if (!am_client)
am_server = 1;
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-25 Thread Rsync CVS commit messages
The branch, master has been updated
   via  c07d2976 Init the checksum choices before the daemon auth.
  from  1b268880 Fix protocol <= 29 daemon auth if openssl is handling md4.

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


- Log -
commit c07d297640a2bb488b3480262ca8f1032b96258c
Author: Wayne Davison 
Date:   Tue Oct 25 08:55:07 2022 -0700

Init the checksum choices before the daemon auth.

---

Summary of changes:
 compat.c | 2 ++
 1 file changed, 2 insertions(+)


Changeset truncated at 500 lines:

diff --git a/compat.c b/compat.c
index 7acedf0e..25bbe0fb 100644
--- a/compat.c
+++ b/compat.c
@@ -848,6 +848,8 @@ void negotiate_daemon_auth(int f_out, int am_client)
int save_am_server = am_server;
int md4_is_old = 0;
 
+   init_checksum_choices();
+
if (!am_client)
am_server = 1;
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-24 Thread Rsync CVS commit messages
The branch, master has been updated
   via  1b268880 Fix protocol <= 29 daemon auth if openssl is handling md4.
  from  08ec80ac Cygwin needs stdout flushed. [buildall]

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


- Log -
commit 1b2688807d0e0b9486ad88470480c9f8641f9241
Author: Wayne Davison 
Date:   Mon Oct 24 08:38:00 2022 -0700

Fix protocol <= 29 daemon auth if openssl is handling md4.

---

Summary of changes:
 compat.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/compat.c b/compat.c
index a8a6afe8..7acedf0e 100644
--- a/compat.c
+++ b/compat.c
@@ -873,8 +873,10 @@ void negotiate_daemon_auth(int f_out, int am_client)
}
}
am_server = save_am_server;
-   if (md4_is_old && valid_auth_checksums.negotiated_nni->num == CSUM_MD4)
+   if (md4_is_old && valid_auth_checksums.negotiated_nni->num == CSUM_MD4) 
{
valid_auth_checksums.negotiated_nni->num = CSUM_MD4_OLD;
+   valid_auth_checksums.negotiated_nni->flags = 0;
+   }
 }
 
 int get_subprotocol_version()


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-22 Thread Rsync CVS commit messages
The branch, master has been updated
   via  08ec80ac Cygwin needs stdout flushed. [buildall]
  from  6b5ae825 Preparing for release of 3.2.7 [buildall]

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


- Log -
commit 08ec80ac65205f29bdc128bd05ec4a40d2db8861
Author: Wayne Davison 
Date:   Sat Oct 22 12:04:06 2022 -0700

Cygwin needs stdout flushed. [buildall]

---

Summary of changes:
 usage.c | 1 +
 1 file changed, 1 insertion(+)


Changeset truncated at 500 lines:

diff --git a/usage.c b/usage.c
index a5b59ad8..f346385f 100644
--- a/usage.c
+++ b/usage.c
@@ -293,6 +293,7 @@ void print_rsync_version(enum logcode f)
json_line("license", "GPLv3");
json_line("caveat", "rsync comes with ABSOLUTELY NO WARRANTY");
printf("\n}\n");
+   fflush(stdout);
return;
}
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  6b5ae825 Preparing for release of 3.2.7 [buildall]
  from  3b719d1d Improve JSON output a bit more.

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


- Log -
commit 6b5ae825db985e9d1c98576651b50c8e490ddb97
Author: Wayne Davison 
Date:   Thu Oct 20 17:57:22 2022 -0700

Preparing for release of 3.2.7 [buildall]

---

Summary of changes:
 NEWS.md  |  4 ++--
 packaging/lsb/rsync.spec | 10 +-
 version.h|  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index ad1aaee0..fb656288 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# NEWS for rsync 3.2.7 (UNRELEASED)
+# NEWS for rsync 3.2.7 (20 Oct 2022)
 
 ## Changes in this version:
 
@@ -4692,7 +4692,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
-| ?? Dec 2022  | 3.2.7  |  | 31  |
+| 20 Oct 2022  | 3.2.7  |  | 31  |
 | 09 Sep 2022  | 3.2.6  |  | 31  |
 | 14 Aug 2022  | 3.2.5  |  | 31  |
 | 15 Apr 2022  | 3.2.4  |  | 31  |
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index f33c9f70..f2d7aa44 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.7
-%define fullversion %{version}pre1
-Release: 0.1.pre1
-%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
-* Fri Sep 30 2022 Wayne Davison 
-Released 3.2.7pre1.
+* Thu Oct 20 2022 Wayne Davison 
+Released 3.2.7.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/version.h b/version.h
index 64ca62db..fdfce4c4 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.7pre1"
+#define RSYNC_VERSION "3.2.7"
 #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


[SCM] The rsync repository. - annotated tag v3.2.7 created

2022-10-20 Thread Rsync CVS commit messages
The annotated tag, v3.2.7 has been created
at  b13e7a8ef4fa430223f66403506fb821caae5cfd (tag)
   tagging  6b5ae825db985e9d1c98576651b50c8e490ddb97 (commit)
  replaces  v3.2.7pre1
 tagged by  Wayne Davison
on  Thu Oct 20 17:58:47 2022 -0700

- Log -
Version 3.2.7.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCY1HuxxEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxXH7AJ9N4fGbNiltALeRDUw76nTdujQxCgCgqFK8
nkeO3pJk0+9Cy+KTgK/Ep9k=
=mWq6
-END PGP SIGNATURE-

Alexponomarev7 (1):
  Fix autoconf help strings (#389)

Wayne Davison (21):
  Use newer protocol to avoid mtime corruption.
  Read a 4-byte mtime as unsigned (old-protocol).
  Complain if the destination arg is empty.
  Mention latest changes.
  Mention the `--list-only` output format.
  Mention smart-make in a comment.
  Fix validation of "preN" git tags for git-version.h.
  Change fgrep to grep.
  Tweak NEWS.
  Add info on single-file copying; tweak `--mkpath`.
  A few more manpage clarifications.
  Make the new manpage section better.
  Silence autoconf warnings.
  Fix version verification when "\|" doesn't work in sed.
  Yet another manpage tweak.
  Include "buildall" flag in the release commit.
  Improve `--mkpath` a bit more.
  Re-run the exclude test using lsh.sh pull.
  Make use of -VV when checking rsync capabilities.
  Improve JSON output a bit more.
  Preparing for release of 3.2.7 [buildall]

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  3b719d1d Improve JSON output a bit more.
   via  ebe1af74 Make use of -VV when checking rsync capabilities.
  from  de6848ed Re-run the exclude test using lsh.sh pull.

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


- Log -
commit 3b719d1d6e914a2ad29ad0dae5e24d64f71ae68b
Author: Wayne Davison 
Date:   Thu Oct 20 10:54:14 2022 -0700

Improve JSON output a bit more.

commit ebe1af749cf8debca9ca90f09306a67cac9c9d4d
Author: Wayne Davison 
Date:   Thu Oct 20 09:02:28 2022 -0700

Make use of -VV when checking rsync capabilities.

---

Summary of changes:
 NEWS.md |  7 ---
 support/json-rsync-version  | 25 +
 testsuite/acls-default.test |  2 +-
 testsuite/acls.test |  2 +-
 testsuite/atimes.test   |  2 +-
 testsuite/chown.test|  2 +-
 testsuite/crtimes.test  |  2 +-
 testsuite/daemon.test   |  2 +-
 testsuite/devices.test  |  4 ++--
 testsuite/itemize.test  |  4 ++--
 testsuite/xattrs.test   |  2 +-
 usage.c |  2 +-
 12 files changed, 37 insertions(+), 19 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 24862dd0..ad1aaee0 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -29,18 +29,19 @@
   environment var for how to customize this.
 
 - Improved the xattr hash table to use a 64-bit key without slowing down the
-  key's computation.  This should make extra sure that a collision doesn't
+  key's computation.  This should make extra sure that a hash collision doesn't
   happen.
 
 - If the `--version` option is repeated (e.g. `-VV`) then the information is
-  output in a (still fairly readable) JSON format.  Client side only.
+  output in a (still readable) JSON format.  Client side only.
 
 - The script `support/json-rsync-version` is available to get the JSON style
   version output from any rsync.  The script accepts either text on stdin
   **or** an arg that specifies an rsync executable to run with a doubled
   `--version` option.  If the text we get isn't already in JSON format, it is
   converted. Newer rsync versions will provide more complete json info than
-  older rsync versions.
+  older rsync versions. Various tweaks are made to keep the flag names
+  consistent across versions.
 
 - The [`use chroot`](rsyncd.conf.5#) daemon parameter now defaults to "unset"
   so that rsync can use chroot when it works and a sanitized copy when chroot
diff --git a/support/json-rsync-version b/support/json-rsync-version
index bf5684b7..31fed7f1 100755
--- a/support/json-rsync-version
+++ b/support/json-rsync-version
@@ -2,6 +2,17 @@
 
 import sys, argparse, subprocess, json
 
+TWEAK_NAME = {
+'asm': 'asm_roll',
+'ASM': 'asm_roll',
+'hardlink_special': 'hardlink_specials',
+'protect_args': 'secluded_args',
+'protected_args': 'secluded_args',
+'SIMD': 'SIMD_roll',
+}
+
+MOVE_OPTIM = set('asm_roll SIMD_roll'.split())
+
 def main():
 if not args.rsync or args.rsync == '-':
 ver_out = sys.stdin.read().strip()
@@ -11,6 +22,7 @@ def main():
 print(ver_out)
 return
 info = { }
+misplaced_optims = { }
 for line in ver_out.splitlines():
 if line.startswith('rsync '):
 prog, vstr, ver, pstr, vstr2, proto = line.split()
@@ -40,13 +52,16 @@ def main():
 elif val.endswith('-bit'):
 var = var[:-1] + '_bits'
 val = int(val.split('-')[0])
-if var == 'protect-args':
-var = 'secluded-args'
 else:
 var = x
 val = True
 var = var.replace(' ', '_').replace('-', '_')
-info[sect_name][var] = val
+if var in TWEAK_NAME:
+var = TWEAK_NAME[var]
+if sect_name[0] != 'o' and var in MOVE_OPTIM:
+misplaced_optims[var] = val
+else:
+info[sect_name][var] = val
 else:
 info[sect_name] += [ x for x in line.split() if not 
x.startswith('(') ]
 elif line == '':
@@ -58,10 +73,12 @@ def main():
 for chk in 'capabilities optimizations'.split():
 if chk not in info:
 info[chk] = { }
+if misplaced_optims:
+info['optimizations'].update(misplaced_optims)
 for chk in 'checksum_list compress_list daemon_auth_list'.split():
 if chk not in info:
 info[chk] = [ ]
-info['license'] = 'GPL3'
+info['license'] = 'GPLv3' if ver[0] == '3' else 'GPLv2'
 info['caveat'] = 'rsync comes with ABSOLUTELY NO WARRANTY'
 print(json.dumps(info))
 
diff --git 

[SCM] The rsync repository. - branch master updated

2022-10-19 Thread Rsync CVS commit messages
The branch, master has been updated
   via  de6848ed Re-run the exclude test using lsh.sh pull.
  from  42f83868 Improve `--mkpath` a bit more.

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


- Log -
commit de6848ed97760de988e2a41af4d66bc4fd0f1995
Author: Wayne Davison 
Date:   Wed Oct 19 19:18:20 2022 -0700

Re-run the exclude test using lsh.sh pull.

The exclude.test file continues to run local copies (which are a special
kind of "push") while the exclude-lsh.test symlink runs a a "pull" using
the lsh.sh script as the "remote" shell.

---

Summary of changes:
 testsuite/exclude-lsh.test |  1 +
 testsuite/exclude.test | 65 --
 2 files changed, 41 insertions(+), 25 deletions(-)
 create mode 12 testsuite/exclude-lsh.test


Changeset truncated at 500 lines:

diff --git a/testsuite/exclude-lsh.test b/testsuite/exclude-lsh.test
new file mode 12
index ..84bc98ac
--- /dev/null
+++ b/testsuite/exclude-lsh.test
@@ -0,0 +1 @@
+exclude.test
\ No newline at end of file
diff --git a/testsuite/exclude.test b/testsuite/exclude.test
index 9b487b60..56b68b8c 100644
--- a/testsuite/exclude.test
+++ b/testsuite/exclude.test
@@ -15,6 +15,19 @@
 CVSIGNORE='*.junk'
 export CVSIGNORE
 
+case $0 in
+*-lsh.*)
+RSYNC_RSH="$scratchdir/src/support/lsh.sh"
+export RSYNC_RSH
+rpath=" --rsync-path='$RSYNC'"
+host='lh:'
+;;
+*)
+rpath=''
+host=''
+;;
+esac
+
 # Build some files/dirs/links to copy
 
 makepath "$fromdir/foo/down/to/you"
@@ -106,8 +119,8 @@ home-cvs-exclude
 EOF
 
 # Start with a check of --prune-empty-dirs:
-$RSYNC -av -f -_foo/too/ -f -_foo/down/ -f -_foo/and/ -f -_new/ "$fromdir/" 
"$chkdir/"
-checkit "$RSYNC -av --prune-empty-dirs '$fromdir/' '$todir/'" "$chkdir" 
"$todir"
+$RSYNC -av --rsync-path="$RSYNC" -f -_foo/too/ -f -_foo/down/ -f -_foo/and/ -f 
-_new/ "$host$fromdir/" "$chkdir/"
+checkit "$RSYNC -av$rpath --prune-empty-dirs '$host$fromdir/' '$todir/'" 
"$chkdir" "$todir"
 rm -rf "$todir"
 
 # Add a directory symlink.
@@ -120,7 +133,7 @@ touch "$scratchdir/up1/same-newness" 
"$scratchdir/up2/same-newness"
 touch "$scratchdir/up1/extra-src" "$scratchdir/up2/extra-dest"
 
 # Create chkdir with what we expect to be excluded.
-checkit "$RSYNC -avv '$fromdir/' '$chkdir/'" "$fromdir" "$chkdir"
+checkit "$RSYNC -avv$rpath '$host$fromdir/' '$chkdir/'" "$fromdir" "$chkdir"
 sleep 1 # Ensures that the rm commands will tweak the directory times.
 rm -r "$chkdir"/foo/down
 rm -r "$chkdir"/mid/for/foo/and
@@ -135,12 +148,12 @@ touch "$scratchdir/up1/src-newness" 
"$scratchdir/up2/dst-newness"
 
 # Un-tweak the directory times in our first (weak) exclude test (though
 # it's a good test of the --existing option).
-$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
+$RSYNC -av --rsync-path="$RSYNC" --existing --include='*/' --exclude='*' 
"$host$fromdir/" "$chkdir/"
 
 # Now, test if rsync excludes the same files.
 
-checkit "$RSYNC -avv --exclude-from='$excl' \
---delete-during '$fromdir/' '$todir/'" "$chkdir" "$todir"
+checkit "$RSYNC -avv$rpath --exclude-from='$excl' \
+--delete-during '$host$fromdir/' '$todir/'" "$chkdir" "$todir"
 
 # Modify the chk dir by removing cvs-ignored files and then tweaking the dir 
times.
 
@@ -150,13 +163,15 @@ rm "$chkdir"/bar/down/to/foo/*.junk
 rm "$chkdir"/bar/down/to/home-cvs-exclude
 rm "$chkdir"/mid/one-in-one-out
 
-$RSYNC -av --existing --filter='exclude,! */' "$fromdir/" "$chkdir/"
+$RSYNC -av --rsync-path="$RSYNC" --existing --filter='exclude,! */' 
"$host$fromdir/" "$chkdir/"
 
 # Now, test if rsync excludes the same files, this time with --cvs-exclude
 # and --delete-excluded.
 
-checkit "$RSYNC -avvC --filter='merge $excl' --delete-excluded \
---delete-during '$fromdir/' '$todir/'" "$chkdir" "$todir"
+# The -C option gets applied in a different order when pushing & pulling, so 
we instead
+# add the 2 --cvs-exclude filter rules (":C" & "-C") via -f to keep the order 
the same.
+checkit "$RSYNC -avv$rpath --filter='merge $excl' -f:C -f-C --delete-excluded \
+--delete-during '$host$fromdir/' '$todir/'" "$chkdir" "$todir"
 
 # Modify the chk dir for our merge-exclude test and then tweak the dir times.
 
@@ -165,19 +180,19 @@ rm "$chkdir"/bar/down/to/bar/baz/*.deep
 cp_touch "$fromdir"/bar/down/to/foo/*.junk "$chkdir"/bar/down/to/foo
 cp_touch "$fromdir"/bar/down/to/foo/to "$chkdir"/bar/down/to/foo
 
-$RSYNC -av --existing -f 'show .filt*' -f 'hide,! */' --del "$fromdir/" 
"$todir/"
+$RSYNC -av --rsync-path="$RSYNC" --existing -f 'show .filt*' -f 'hide,! */' 
--del "$host$fromdir/" "$todir/"
 
 echo retained >"$todir"/bar/down/to/bar/baz/nodel.deep
 cp_touch "$todir"/bar/down/to/bar/baz/nodel.deep "$chkdir"/bar/down/to/bar/baz
 
-$RSYNC -av --existing --filter='-! */' "$fromdir/" 

[SCM] The rsync repository. - branch master updated

2022-10-16 Thread Rsync CVS commit messages
The branch, master has been updated
  discards  9799c75b2463c725f1829b8e1b817f122af47835 (commit)
   via  42f83868 Improve `--mkpath` a bit more.
  from  9799c75b Improve `--mkpath` a bit more.

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


- Log -
commit 42f8386823b6776ee9b63c3e005557e2f5af859a
Author: Wayne Davison 
Date:   Sun Oct 16 12:23:39 2022 -0700

Improve `--mkpath` a bit more.

---

Summary of changes:
 rsync.1.md | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 6cd783eb..ee0a4f39 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -436,7 +436,7 @@ has its own detailed description later in this manpage.
 --append-verify  --append w/old data in file checksum
 --dirs, -d   transfer directories without recursing
 --old-dirs, --old-d  works like --dirs when talking to old rsync
---mkpath create the destination's path component
+--mkpath create destination's missing path components
 --links, -l  copy symlinks as symlinks
 --copy-links, -L transform symlink into referent file/dir
 --copy-unsafe-links  only "unsafe" symlinks are transformed
@@ -1149,11 +1149,13 @@ expand it.
 
 0.  `--mkpath`
 
-Create a missing path component of the destination path. By default, rsync
-allows only the final component of the destination path to not exist, which
-is an attempt to help you to validate your destination path.  With this
-option, rsync creates all the missing destination-path components, just as
-if `mkdir -p $DEST_PATH` had been run on the receiving side.
+Create all missing path components of the destination path.
+
+By default, rsync allows only the final component of the destination path
+to not exist, which is an attempt to help you to validate your destination
+path.  With this option, rsync creates all the missing destination-path
+components, just as if `mkdir -p $DEST_PATH` had been run on the receiving
+side.
 
 When specifying a destination path, including a trailing slash ensures that
 the whole path is treated as directory names to be created, even when the


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-16 Thread Rsync CVS commit messages
The branch, master has been updated
   via  9799c75b Improve `--mkpath` a bit more.
  from  ad6245f3 Include "buildall" flag in the release commit.

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


- Log -
commit 9799c75b2463c725f1829b8e1b817f122af47835
Author: Wayne Davison 
Date:   Sun Oct 16 12:23:39 2022 -0700

Improve `--mkpath` a bit more.

---

Summary of changes:
 rsync.1.md | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 65cf8815..6cd783eb 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -1150,22 +1150,22 @@ expand it.
 0.  `--mkpath`
 
 Create a missing path component of the destination path. By default, rsync
-allows only the final element of the destination path to not exist, which
+allows only the final component of the destination path to not exist, which
 is an attempt to help you to validate your destination path.  With this
-option, rsync creates all the missing destination-path components just as
-if `mkdir -p $DEST_PATH` had been run.
+option, rsync creates all the missing destination-path components, just as
+if `mkdir -p $DEST_PATH` had been run on the receiving side.
 
 When specifying a destination path, including a trailing slash ensures that
-rsync always treats the whole path as the directory name to be created,
-even if the source arg is a single filename. See the [COPYING TO A
-DIFFERENT NAME](#) section for full details on how rsync decides if a final
-destination path element is a directory element or not.
+the whole path is treated as directory names to be created, even when the
+file list has a single item. See the [COPYING TO A DIFFERENT NAME](#)
+section for full details on how rsync decides if a final destination-path
+component should be created as a directory or not.
 
 If you would like the newly-created destination dirs to match the dirs on
 the sending side, you should be using [`--relative`](#opt) (`-R`) instead
 of `--mkpath`.  For instance, the following two commands result in the same
-destination tree, but it is only the second command that ensures that the
-"some/extra/path" elements match the dirs on the sending side:
+destination tree, but only the second command ensures that the
+"some/extra/path" components match the dirs on the sending side:
 
 > rsync -ai --mkpath host:some/extra/path/*.c some/extra/path/
 > rsync -aiR host:some/extra/path/*.c ./


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-16 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ad6245f3 Include "buildall" flag in the release commit.
   via  ca980b58 Yet another manpage tweak.
   via  677aa0dc Fix version verification when "\|" doesn't work in sed.
  from  02559675 Silence autoconf warnings.

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


- Log -
commit ad6245f3944c6f1fefab044fd4836c0a050b8871
Author: Wayne Davison 
Date:   Sun Oct 16 12:14:37 2022 -0700

Include "buildall" flag in the release commit.

commit ca980b5863a91678a0777999381f1c0cabdb115e
Author: Wayne Davison 
Date:   Sun Oct 16 12:04:22 2022 -0700

Yet another manpage tweak.

commit 677aa0dc911a452399e35e2c2b5bd18b25f5b55a
Author: Wayne Davison 
Date:   Sun Oct 16 11:14:15 2022 -0700

Fix version verification when "\|" doesn't work in sed.

---

Summary of changes:
 mkgitver|  6 --
 packaging/release-rsync |  2 +-
 rsync.1.md  | 23 +++
 3 files changed, 16 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/mkgitver b/mkgitver
index 75c9fe1e..0102b089 100755
--- a/mkgitver
+++ b/mkgitver
@@ -7,8 +7,10 @@ if [ ! -f git-version.h ]; then
 fi
 
 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]*\(pre[0-9]*\)*\(-\|$\)/p'`
-if [ -n "$gitver" ]; then
+gitver=`git describe --abbrev=8 2>/dev/null`
+# NOTE: I'm avoiding "|" in sed since I'm not sure if sed -r is portable 
and "\|" fails on some OSes.
+verchk=`echo "$gitver-" | sed -n 
'/^v3\.[0-9][0-9]*\.[0-9][0-9]*\(pre[0-9]*\)*-/p'`
+if [ -n "$verchk" ]; then
echo "#define RSYNC_GITVER \"$gitver\"" >git-version.h.new
if ! diff git-version.h.new git-version.h >/dev/null; then
echo "Updating git-version.h"
diff --git a/packaging/release-rsync b/packaging/release-rsync
index 9603fd10..511e90f1 100755
--- a/packaging/release-rsync
+++ b/packaging/release-rsync
@@ -256,7 +256,7 @@ About to:
 """)
 ans = input(" ")
 
-s = cmd_run(['git', 'commit', '-a', '-m', f'Preparing for release of 
{version}'])
+s = cmd_run(['git', 'commit', '-a', '-m', f'Preparing for release of 
{version} [buildall]'])
 if s.returncode:
 die('Aborting')
 
diff --git a/rsync.1.md b/rsync.1.md
index 21d2e2ff..65cf8815 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -173,23 +173,22 @@ item to the last element of the destination path.  Keep 
in mind that it is best
 to only use this idiom when copying a file and use the above trailing-slash
 idiom when copying a directory.
 
-The following example copies file foo.c file as bar.c in the "dest" dir
-(assuming that bar.c isn't a directory):
+The following example copies the `foo.c` file as `bar.c` in the `save` dir
+(assuming that `bar.c` isn't a directory):
 
-> rsync -ai src/foo.c dest/bar.c
+> rsync -ai src/foo.c save/bar.c
 
-The single-item rename rule might accidentally bite you if you unknowingly copy
-a single item and specify a destination dir that doesn't exist (without using a
-trailing slash).  For example, if `src/*.c` matches just one file and
-`dest/dir` doesn't exist yet, this will confuse you by renaming the file to the
-destination path:
+The single-item copy rule might accidentally bite you if you unknowingly copy a
+single item and specify a destination dir that doesn't exist (without using a
+trailing slash).  For example, if `src/*.c` matches one file and `save/dir`
+doesn't exist, this will confuse you by naming the destination file `save/dir`:
 
-> rsync -ai src/*.c dest/dir
+> rsync -ai src/*.c save/dir
 
-To prevent accidental renaming, either make sure the destination dir already
-exists or specify a destination path with a trailing slash:
+To prevent such an accident, either make sure the destination dir exists or
+specify the destination path with a trailing slash:
 
-> rsync -ai src/*.c dest/dir/
+> rsync -ai src/*.c save/dir/
 
 ## SORTED TRANSFER ORDER
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-16 Thread Rsync CVS commit messages
The branch, master has been updated
   via  02559675 Silence autoconf warnings.
   via  449d9bf9 Make the new manpage section better.
  from  35ecec97 A few more manpage clarifications.

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


- Log -
commit 025596757ccd21226b3306b11cc7c8d94b6f7a6f
Author: Wayne Davison 
Date:   Sun Oct 16 10:28:58 2022 -0700

Silence autoconf warnings.

commit 449d9bf950d0c408d93263a545b1d0e9e48bf14b
Author: Wayne Davison 
Date:   Sun Oct 16 10:23:51 2022 -0700

Make the new manpage section better.

---

Summary of changes:
 configure.ac| 16 +++-
 m4/have_type.m4 |  1 -
 rsync.1.md  | 43 +++
 rsync.h |  8 +---
 4 files changed, 31 insertions(+), 37 deletions(-)


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index 8ad6137e..a2c99558 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,6 @@ AC_INIT([rsync],[ ],[https://rsync.samba.org/bug-tracking.html])
 
 AC_C_BIGENDIAN
 AC_HEADER_DIRENT
-AC_HEADER_TIME
 AC_HEADER_SYS_WAIT
 AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h \
 unistd.h utime.h compat.h sys/param.h ctype.h sys/wait.h sys/stat.h \
@@ -20,7 +19,7 @@ AC_HEADER_MAJOR_FIXED
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([byteorder.h])
-AC_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS([config.h])
 AC_PREREQ([2.69])
 
 PACKAGE_VERSION=`sed -n 's/.*RSYNC_VERSION.*"\(.*\)".*/\1/p' 
<$srcdir/version.h`
@@ -61,7 +60,6 @@ AC_PROG_AWK
 AC_PROG_EGREP
 AC_PROG_INSTALL
 AC_PROG_MKDIR_P
-AC_PROG_CC_STDC
 AC_SUBST(SHELL)
 AC_PATH_PROG([PERL], [perl])
 AC_PATH_PROG([PYTHON3], [python3])
@@ -390,7 +388,7 @@ AS_HELP_STRING([--disable-ipv6],[disable to omit ipv6 
support]),
;;
   esac ],
 
-  AC_TRY_RUN([ /* AF_INET6 availability check */
+  AC_RUN_IFELSE([AC_LANG_SOURCE([[ /* AF_INET6 availability check */
 #include 
 #include 
 #include 
@@ -401,11 +399,11 @@ main()
else
  exit(0);
 }
-],
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(INET6, 1, [true if you have IPv6]),
-  AC_MSG_RESULT(no),
-  AC_MSG_RESULT(no)
+]])],
+  [AC_MSG_RESULT(yes)
+  AC_DEFINE(INET6, 1, true if you have IPv6)],
+  [AC_MSG_RESULT(no)],
+  [AC_MSG_RESULT(no)]
 ))
 
 dnl Do you want to disable use of locale functions
diff --git a/m4/have_type.m4 b/m4/have_type.m4
index 704ca33b..12fc719e 100644
--- a/m4/have_type.m4
+++ b/m4/have_type.m4
@@ -1,6 +1,5 @@
 dnl AC_HAVE_TYPE(TYPE,INCLUDES)
 AC_DEFUN([AC_HAVE_TYPE], [
-AC_REQUIRE([AC_HEADER_STDC])
 cv=`echo "$1" | sed 'y%./+- %__p__%'`
 AC_MSG_CHECKING(for $1)
 AC_CACHE_VAL([ac_cv_type_$cv],
diff --git a/rsync.1.md b/rsync.1.md
index a2302830..21d2e2ff 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -152,10 +152,16 @@ rsync daemon by leaving off the module name:
 
 > rsync somehost.mydomain.com::
 
-## COPYING A SINGLE FILE
+## COPYING TO A DIFFERENT NAME
 
-Rsync has the ability to customize the destination file's name when copying a
-single item.  The rules for this are:
+When you want to copy a directory to a different name, use a trailing slash on
+the source directory to put the contents of the directory into any destination
+directory you like:
+
+> rsync -ai foo/ bar/
+
+Rsync also has the ability to customize a destination file's name when copying
+a single item.  The rules for this are:
 
 - The transfer list must consist of a single item (either a file or an empty
   directory)
@@ -163,31 +169,28 @@ single item.  The rules for this are:
 - The destination path must not have been specified with a trailing slash
 
 Under those circumstances, rsync will set the name of the destination's single
-item to the last element of the destination path.
+item to the last element of the destination path.  Keep in mind that it is best
+to only use this idiom when copying a file and use the above trailing-slash
+idiom when copying a directory.
 
-For example, the following will copy the foo.c file as bar.c in the "dest" dir
+The following example copies file foo.c file as bar.c in the "dest" dir
 (assuming that bar.c isn't a directory):
 
 > rsync -ai src/foo.c dest/bar.c
 
-This rule might accidentally bite you if you unknowingly copy a single item and
-specify a destination dir that doesn't exist (without using a trailing slash).
-For example:
+The single-item rename rule might accidentally bite you if you unknowingly copy
+a single item and specify a destination dir that doesn't exist (without using a
+trailing slash).  For example, if `src/*.c` matches just one file and
+`dest/dir` doesn't exist yet, this will confuse you by renaming the file to the
+destination path:
 
 > rsync -ai src/*.c dest/dir
 
-If the `*.c` only matched one file and dest/dir does not yet exist, then rsync
-copies the single .c file to the name "dir" in "dest".  To prevent this, it is

[SCM] The rsync repository. - branch master updated

2022-10-15 Thread Rsync CVS commit messages
The branch, master has been updated
   via  35ecec97 A few more manpage clarifications.
   via  d76cabe5 Fix autoconf help strings (#389)
   via  b5544a95 Add info on single-file copying; tweak `--mkpath`.
   via  11bd2a4f Tweak NEWS.
   via  6ba434de Change fgrep to grep.
  from  32963514 Fix validation of "preN" git tags for git-version.h.

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


- Log -
commit 35ecec972a02f396ad3bc95cd71436bef41241b5
Author: Wayne Davison 
Date:   Sat Oct 15 16:56:16 2022 -0700

A few more manpage clarifications.

commit d76cabe54fa50723dcd3967831c9a31fd4a2845e
Author: Alexponomarev7 
Date:   Sun Oct 16 01:54:27 2022 +0200

Fix autoconf help strings (#389)

commit b5544a95b1c163d9bb98fc132a18f329d9d8028e
Author: Wayne Davison 
Date:   Wed Oct 12 10:09:43 2022 -0700

Add info on single-file copying; tweak `--mkpath`.

commit 11bd2a4fd60b794d3af3660705d2ef0f0f2b61ab
Author: Wayne Davison 
Date:   Mon Oct 10 08:55:09 2022 -0700

Tweak NEWS.

commit 6ba434de5c886b32103e6c265fe88c17e78945ee
Author: Wayne Davison 
Date:   Thu Oct 6 22:18:48 2022 -0700

Change fgrep to grep.

---

Summary of changes:
 NEWS.md |  2 +-
 configure.ac|  4 +--
 packaging/pkglib.py |  2 +-
 rsync.1.md  | 73 -
 4 files changed, 59 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 05476bee..24862dd0 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -71,7 +71,7 @@
   deprecation warnings and makes it easy to support more digest methods.  On
   newer systems, the MD4 digest is marked as legacy in the openssl code, which
   makes openssl refuse to support it via EVP.  You can choose to ignore this
-  and allow the included MD4 code to be used for older rsync connections (when
+  and allow rsync's MD4 code to be used for older rsync connections (when
   talking to an rsync prior to 3.0.0) or you can choose to configure rsync to
   tell openssl to enable legacy algorithms (see below).
 
diff --git a/configure.ac b/configure.ac
index 7fa6ff73..8ad6137e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -528,7 +528,7 @@ fi
 
 AC_MSG_CHECKING([whether to enable zstd compression])
 AC_ARG_ENABLE([zstd],
-AC_HELP_STRING([--disable-zstd], [disable to omit zstd compression]))
+AS_HELP_STRING([--disable-zstd], [disable to omit zstd compression]))
 AH_TEMPLATE([SUPPORT_ZSTD],
 [Undefine if you do not want zstd compression.  By default this is defined.])
 if test x"$enable_zstd" != x"no"; then
@@ -549,7 +549,7 @@ fi
 
 AC_MSG_CHECKING([whether to enable LZ4 compression])
 AC_ARG_ENABLE([lz4],
-AC_HELP_STRING([--disable-lz4], [disable to omit LZ4 compression]))
+AS_HELP_STRING([--disable-lz4], [disable to omit LZ4 compression]))
 AH_TEMPLATE([SUPPORT_LZ4],
 [Undefine if you do not want LZ4 compression.  By default this is defined.])
 if test x"$enable_lz4" != x"no"; then
diff --git a/packaging/pkglib.py b/packaging/pkglib.py
index 6f5557aa..c4c5741d 100644
--- a/packaging/pkglib.py
+++ b/packaging/pkglib.py
@@ -176,7 +176,7 @@ def mandate_gensend_hook():
 print('Creating hook file:', hook)
 cmd_chk(['./rsync', '-a', 'packaging/pre-push', hook])
 else:
-ct = cmd_txt(['fgrep', 'make gensend', hook], discard='output')
+ct = cmd_txt(['grep', 'make gensend', hook], discard='output')
 if ct.rc:
 die('Please add a "make gensend" into your', hook, 'script.')
 
diff --git a/rsync.1.md b/rsync.1.md
index b647f63f..a2302830 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -152,7 +152,41 @@ rsync daemon by leaving off the module name:
 
 > rsync somehost.mydomain.com::
 
-See the following section for more details.
+## COPYING A SINGLE FILE
+
+Rsync has the ability to customize the destination file's name when copying a
+single item.  The rules for this are:
+
+- The transfer list must consist of a single item (either a file or an empty
+  directory)
+- The final element of the destination path must not exist as a directory
+- The destination path must not have been specified with a trailing slash
+
+Under those circumstances, rsync will set the name of the destination's single
+item to the last element of the destination path.
+
+For example, the following will copy the foo.c file as bar.c in the "dest" dir
+(assuming that bar.c isn't a directory):
+
+> rsync -ai src/foo.c dest/bar.c
+
+This rule might accidentally bite you if you unknowingly copy a single item and
+specify a destination dir that doesn't exist (without using a trailing slash).
+For example:
+
+> rsync -ai src/*.c dest/dir
+
+If the `*.c` only matched one file and dest/dir does not yet exist, then rsync
+copies the single .c file to the name "dir" in "dest".  To prevent this, 

[SCM] The rsync repository. - branch master updated

2022-10-02 Thread Rsync CVS commit messages
The branch, master has been updated
   via  32963514 Fix validation of "preN" git tags for git-version.h.
  from  0088a85a Mention smart-make in a comment.

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


- Log -
commit 329635144238974129454de51161c1c0ba27a60a
Author: Wayne Davison 
Date:   Sun Oct 2 11:43:46 2022 -0700

Fix validation of "preN" git tags for git-version.h.

---

Summary of changes:
 mkgitver | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/mkgitver b/mkgitver
index 50380c87..75c9fe1e 100755
--- a/mkgitver
+++ b/mkgitver
@@ -7,7 +7,7 @@ if [ ! -f git-version.h ]; then
 fi
 
 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'`
+gitver=`git describe --abbrev=8 2>/dev/null | sed -n 
'/^v3\.[0-9][0-9]*\.[0-9][0-9]*\(pre[0-9]*\)*\(-\|$\)/p'`
 if [ -n "$gitver" ]; then
echo "#define RSYNC_GITVER \"$gitver\"" >git-version.h.new
if ! diff git-version.h.new git-version.h >/dev/null; then


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-02 Thread Rsync CVS commit messages
The branch, master has been updated
   via  0088a85a Mention smart-make in a comment.
   via  4923c4dc Mention the `--list-only` output format.
  from  76c4fa8b Mention latest changes.

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


- Log -
commit 0088a85aebfe30769814f71319c06986e5b59ea8
Author: Wayne Davison 
Date:   Sun Oct 2 11:05:01 2022 -0700

Mention smart-make in a comment.

commit 4923c4dc0cca396b2b54256ad2986dc2017f48b0
Author: Wayne Davison 
Date:   Sun Oct 2 10:33:55 2022 -0700

Mention the `--list-only` output format.

---

Summary of changes:
 Makefile.in |  2 ++
 rsync.1.md  | 18 +++---
 2 files changed, 13 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/Makefile.in b/Makefile.in
index 3cde9557..a1253e5d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -70,6 +70,8 @@ CHECK_OBJS=tls.o testrun.o getgroups.o getfsdev.o t_stub.o 
t_unsafe.o trimslash.
$(CC) -I. -I$(srcdir) $(CFLAGS) $(CPPFLAGS) -c $< @CC_SHOBJ_FLAG@
 @OBJ_RESTORE@
 
+# NOTE: consider running "packaging/smart-make" instead of "make" to 
auto-handle
+# any changes to configure.sh and the main Makefile prior to a "make all".
 all: Makefile rsync$(EXEEXT) stunnel-rsyncd.conf @MAKE_RRSYNC@ @MAKE_MAN@
 .PHONY: all
 
diff --git a/rsync.1.md b/rsync.1.md
index 7d96eca6..b647f63f 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -3539,13 +3539,17 @@ expand it.
 
 > rsync -av --list-only foo* dest/
 
-Starting with rsync 3.1.0, the sizes output by `--list-only` are affected
-by the [`--human-readable`](#opt) option.  By default they will contain
-digit separators, but higher levels of readability will output the sizes
-with unit suffixes.  Note also that the column width for the size output
-has increased from 11 to 14 characters for all human-readable levels.  Use
-`--no-h` if you want just digits in the sizes, and the old column width of
-11 characters.
+This option always uses an output format that looks similar to this:
+
+> drwxrwxr-x  4,096 2022/09/30 12:53:11 support
+> -rw-rw-r-- 80 2005/01/11 10:37:37 support/Makefile
+
+The only option that affects this output style is (as of 3.1.0) the
+[`--human-readable`](#opt) (`-h`) option.  The default is to output sizes
+as byte counts with digit separators (in a 14-character-width column).
+Specifying at least one `-h` option makes the sizes output with unit
+suffixes.  If you want old-style bytecount sizes without digit separators
+(and an 11-character-width column) use `--no-h`.
 
 Compatibility note: when requesting a remote listing of files from an rsync
 that is version 2.6.3 or older, you may encounter an error if you ask for a


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-02 Thread Rsync CVS commit messages
The branch, master has been updated
  discards  77dd3047666fa68ce2acb88f4be0e5ebca83fb50 (commit)
   via  76c4fa8b Mention latest changes.
  from  77dd3047 Mention latest changes.

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


- Log -
commit 76c4fa8b54d44c9a799b976495c8238937a4146f
Author: Wayne Davison 
Date:   Sun Oct 2 09:42:55 2022 -0700

Mention latest changes.

---

Summary of changes:
 NEWS.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index a27d8081..05476bee 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -56,7 +56,7 @@
   now interprets this value as an unsigned integer so that a current year past
   2038 can continue to be represented. This does mean that years prior to 1970
   cannot be represented in an older protocol, but this trade-off seems like the
-  rigth choice given that (1) 2038 is very rapidly approaching, and (2) newer
+  right choice given that (1) 2038 is very rapidly approaching, and (2) newer
   protocols support a much wider range of old and new dates.
 
 - The rsync client now treats an empty destination arg as an error, just like


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-10-02 Thread Rsync CVS commit messages
The branch, master has been updated
   via  77dd3047 Mention latest changes.
   via  25efa108 Complain if the destination arg is empty.
   via  fdf5e577 Read a 4-byte mtime as unsigned (old-protocol).
   via  19bd0dd3 Use newer protocol to avoid mtime corruption.
  from  ed4b3448 Preparing for release of 3.2.7pre1

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


- Log -
commit 77dd3047666fa68ce2acb88f4be0e5ebca83fb50
Author: Wayne Davison 
Date:   Sun Oct 2 09:42:55 2022 -0700

Mention latest changes.

commit 25efa10802dd416529d5dbaaac20a485db1f33b2
Author: Wayne Davison 
Date:   Sun Oct 2 09:42:17 2022 -0700

Complain if the destination arg is empty.

commit fdf5e577f59cf709eb3559137ce3be1431522d07
Author: Wayne Davison 
Date:   Sat Oct 1 08:23:47 2022 -0700

Read a 4-byte mtime as unsigned (old-protocol).

When conversing with a protocol 29 or earlier rsync, the modtime values
are arriving as 4-byte integers.  This change interprets these short
values as unsigned integers, allowing the time that can be conveyed to
range from 1-Jan-1970 to 7-Feb-2106 instead of the signed range of
13-Dec-1901 to 19-Jan-2038.  Given that we are fast approaching 2038,
any old-protocol transfers will be better served using the unsigned
range rather than the signed.

It is important to keep in mind that protocol 30 & 31 convey the full
8-byte mtime value (plus nanoseconds), allowing for a huge span of time
that is not affected by this change.

commit 19bd0dd34022d0b8e2ae45f12029602f129c28c1
Author: Wayne Davison 
Date:   Sat Oct 1 08:04:00 2022 -0700

Use newer protocol to avoid mtime corruption.

---

Summary of changes:
 NEWS.md| 26 --
 flist.c|  2 +-
 io.c   |  7 +++
 main.c | 15 +--
 rsync.1.md | 13 -
 testsuite/exclude.test |  2 +-
 6 files changed, 54 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 3b49c2d4..a27d8081 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -25,8 +25,8 @@
 - Added support for the SHA1 digest in file checksums.  While this tends to be
   overkill, it is available if someone really needs it.  This overly-long
   checksum is at the lowest priority in the normal checksum negotiation list.
-  See `--checksum-choice` (`--cc`) and the `RSYNC_CHECKSUM_LIST` environment
-  var for how to customize this.
+  See [`--checksum-choice`](rsync.1#opt) (`--cc`) and the `RSYNC_CHECKSUM_LIST`
+  environment var for how to customize this.
 
 - Improved the xattr hash table to use a 64-bit key without slowing down the
   key's computation.  This should make extra sure that a collision doesn't
@@ -42,15 +42,29 @@
   converted. Newer rsync versions will provide more complete json info than
   older rsync versions.
 
-- The [`use chroot`](rsyncd.conf.5#use_chroot) daemon parameter now defaults to
-  "unset" so that rsync can use chroot when it works and a sanitized copy when
-  chroot is not supported (e.g., for a non-root daemon).  Explicitly setting
-  the parameter to true or false (on or off) behaves the same way as before.
+- The [`use chroot`](rsyncd.conf.5#) daemon parameter now defaults to "unset"
+  so that rsync can use chroot when it works and a sanitized copy when chroot
+  is not supported (e.g., for a non-root daemon).  Explicitly setting the
+  parameter 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.
 
+- If rsync is forced to use protocol 29 or before (perhaps due to talking to an
+  rsync before 3.0.0), the modify time of a file is limited to 4-bytes.  Rsync
+  now interprets this value as an unsigned integer so that a current year past
+  2038 can continue to be represented. This does mean that years prior to 1970
+  cannot be represented in an older protocol, but this trade-off seems like the
+  rigth choice given that (1) 2038 is very rapidly approaching, and (2) newer
+  protocols support a much wider range of old and new dates.
+
+- The rsync client now treats an empty destination arg as an error, just like
+  it does for an empty source arg. This doesn't affect a `host:` arg (which is
+  treated the same as `host:.`) since the arg is not completely empty.  The use
+  of [`--old-args`](rsync.1#opt) (including via `RSYNC_OLD_ARGS`) allows the
+  prior behavior of treating an empty destination arg as a ".".
+
 ### PACKAGING RELATED:
 
 - The checksum code now uses openssl's EVP methods, which gets rid of various
diff --git a/flist.c b/flist.c
index 82d686a6..65b459b1 100644
--- 

[SCM] The rsync repository. - annotated tag v3.2.7pre1 created

2022-09-30 Thread Rsync CVS commit messages
The annotated tag, v3.2.7pre1 has been created
at  ed955366474452b95b1e088581bb91efb0b29541 (tag)
   tagging  ed4b3448be243b1bdb30a5da811f1e217f5a0601 (commit)
  replaces  v3.2.6
 tagged by  Wayne Davison
on  Fri Sep 30 12:52:54 2022 -0700

- Log -
Version 3.2.7pre1.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYzdJFhEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxb1wAKDeJg2bldIdyhdDGToafc4xtnqIhACdGKNl
24p4broaRh7fgvfF26Ciwhc=
=fOCi
-END PGP SIGNATURE-

Kenneth Finnegan (1):
  Use string length diff heuristic to skip Levenshtein Algo (#369)

Wayne Davison (37):
  Start 3.2.7dev going.
  When deleting a tag, del in the patches dir too.
  Try freebsd-13-1 to fix weird wget issue.
  Improve various things in the checksum code
  Add support for various SHA checksum digests
  Use JSON output if --version (-V) is repeated (client side only).
  Use dict for capabilities & optimizations in json output.
  Unify older protect-args capability to secluded-args name.
  A few more tweaks.
  Also change dashes in the dict var names to make jq use easier.
  Improve output of "N-bit" items in json data.
  Talk about the new daemon greeting line.
  Require a newer protocol to specify the digest list.
  Mention the filename when unpack_smb_acl() returns an error.
  Fix bug with validing remote filter rules.
  Update NEWS.
  NEWS tweak.
  Improve var ref.
  Fix really silly bug with --relative rules.
  Add hashlittle2() and ensure the hash is never 0
  Use hashlittle2() for xattr hashing
  Use UNSUPPORTED instead of PROTOCOL for various validation checks.
  Tweak a define.
  Fix exclusion of /. with --relative.
  More NEWS updates.
  Make the implied-arg adding for --relative more efficient.
  We always add a slash now that path is cleaned.
  Pre-compute FILE_SUM_EXTRA_CNT.
  Stop importing "re".
  Some "use chroot" improvements.
  Fix a link.
  Avoid test -e.
  Fix compile w/o openssl; disable sha256 & sha512 for --checksum.
  More NEWS updates.
  Explicitly ignore snprintf() return value.
  A few more doc tweaks & comment tweaks.
  Preparing for release of 3.2.7pre1

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-09-30 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ed4b3448 Preparing for release of 3.2.7pre1
   via  4d44bf12 A few more doc tweaks & comment tweaks.
   via  6af27a53 Explicitly ignore snprintf() return value.
  from  f9e29dfb More NEWS updates.

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


- Log -
commit ed4b3448be243b1bdb30a5da811f1e217f5a0601
Author: Wayne Davison 
Date:   Fri Sep 30 12:36:21 2022 -0700

Preparing for release of 3.2.7pre1

commit 4d44bf122dc621a47c275063f01023e0ec422f72
Author: Wayne Davison 
Date:   Fri Sep 30 12:34:58 2022 -0700

A few more doc tweaks & comment tweaks.

commit 6af27a538ea65c2638a5dad01534dd29ee09fc4b
Author: Wayne Davison 
Date:   Fri Sep 30 11:50:09 2022 -0700

Explicitly ignore snprintf() return value.

---

Summary of changes:
 NEWS.md  | 49 +
 authenticate.c   |  2 +-
 checksum.c   | 12 ---
 clientserver.c   |  2 +-
 csprotocol.txt   | 12 ++-
 hashtable.c  |  2 +-
 match.c  |  2 +-
 packaging/lsb/rsync.spec | 12 +--
 rsync.1.md   |  6 ++
 rsyncd.conf.5.md | 52 ++--
 usage.c  |  2 +-
 version.h|  2 +-
 12 files changed, 80 insertions(+), 75 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 0db49925..3b49c2d4 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -18,32 +18,34 @@
 ### ENHANCEMENTS:
 
 - Added negotiated daemon-auth support that allows a stronger checksum digest
-  to be used.  Added SHA512, SHA256, and SHA1 digests to MD5 & MD4.  These new
-  digests are at the highest priority in the new daemon-auth negotiation list.
+  to be used to validate a user's login to the daemon.  Added SHA512, SHA256,
+  and SHA1 digests to MD5 & MD4.  These new digests are at the highest priority
+  in the new daemon-auth negotiation list.
 
-- Added support for SHA1, SHA256, and SHA512 digests in file checksums.  While
-  this tends to be overkill, it is available if someone really needs it.  These
-  overly-long checksums are at the lowest priority in the normal checksum
-  negotiation list.
+- Added support for the SHA1 digest in file checksums.  While this tends to be
+  overkill, it is available if someone really needs it.  This overly-long
+  checksum is at the lowest priority in the normal checksum negotiation list.
+  See `--checksum-choice` (`--cc`) and the `RSYNC_CHECKSUM_LIST` environment
+  var for how to customize this.
 
-- Improved the xattr hash table to use a 64-bit key (which should ensure fewer
-  collisions).
+- Improved the xattr hash table to use a 64-bit key without slowing down the
+  key's computation.  This should make extra sure that a collision doesn't
+  happen.
 
 - If the `--version` option is repeated (e.g. `-VV`) then the information is
-  output in a (still human-readable) JSON format (client side only).
+  output in a (still fairly readable) JSON format.  Client side only.
 
 - The script `support/json-rsync-version` is available to get the JSON style
   version output from any rsync.  The script accepts either text on stdin
   **or** an arg that specifies an rsync executable to run with a doubled
   `--version` option.  If the text we get isn't already in JSON format, it is
-  converted. Newer rsync versions will provide more complete info than older
-  versions.
+  converted. Newer rsync versions will provide more complete json info than
+  older rsync versions.
 
 - 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.
+  "unset" so that rsync can use chroot when it works and a sanitized copy when
+  chroot is not supported (e.g., for a non-root daemon).  Explicitly setting
+  the parameter 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
@@ -54,10 +56,10 @@
 - The checksum code now uses openssl's EVP methods, which gets rid of various
   deprecation warnings and makes it easy to support more digest methods.  On
   newer systems, the MD4 digest is marked as legacy in the openssl code, which
-  makes openssl refuse to support it via EVP.  You can just ignore this and
-  allow the included MD4 code to be used for older rsync connections (when
-  talking to an rsync prior to 3.0.0) or you can configure rsync to tell
-  openssl to enable legacy algorithms (see below).
+  

[SCM] The rsync repository. - branch master updated

2022-09-25 Thread Rsync CVS commit messages
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 
Date:   Sun Sep 25 12:49:45 2022 -0700

More NEWS updates.

commit 591de7ce5c80ed20ccf096772f11ddca082cdf41
Author: Wayne Davison 
Date:   Sun Sep 25 12:42:09 2022 -0700

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

commit c8c627756a607818fd92ac603ea63dcab6da33ef
Author: Wayne Davison 
Date:   Tue Sep 20 21:50:07 2022 -0700

Avoid test -e.

commit 46884e4ff665db1756ed20313c48f5ae4c2bf185
Author: Wayne Davison 
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 

[SCM] The rsync repository. - branch master updated

2022-09-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  97e02bf2 Some "use chroot" improvements.
   via  77d762ce Stop importing "re".
  from  5b27d2e6 Pre-compute FILE_SUM_EXTRA_CNT.

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


- Log -
commit 97e02bf21a119971e258550bdcd3e56096bdd7b2
Author: Wayne Davison 
Date:   Mon Sep 19 22:37:29 2022 -0700

Some "use chroot" improvements.

- The sanitize_paths variable was set too often. It only needs to be set
  when the "inner" path is not "/".  This change avoids sanitizing &
  munging things for a path=/ module just because chroot is off.
- The default for "use chroot" is now "unset" instead of "true".  When
  unset it checks if chrooting works, and if not, it proceeds with a
  sanitized copy instead of totally failing to work.  This makes it
  easier to setup a non-root rsync daemon, for instance.  It will have
  no effect on a typical Linux root-run daemon where the default will
  continue to use chroot (because chrooting works).  A config file can
  explicitly set "use chroot = true | false" to force the choice.
- Try to improve the "use chroot" manpage.

commit 77d762ced8bae1dac1de48b0a3814a49a1371c99
Author: Wayne Davison 
Date:   Mon Sep 19 22:36:49 2022 -0700

Stop importing "re".

---

Summary of changes:
 NEWS.md| 13 +
 clientserver.c | 40 +++---
 daemon-parm.txt|  2 +-
 rsyncd.conf.5.md   | 70 +++---
 support/json-rsync-version |  2 +-
 5 files changed, 85 insertions(+), 42 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index d40b7fa2..63191360 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -8,6 +8,9 @@
 
 - When rsync gets an unpack error on an ACL, mention the filename.
 
+- Avoid oversetting sanitize_paths when a daemon is serving "/" (even if
+  "use chroot" is false).
+
 ### ENHANCEMENTS:
 
 - Added negotiated daemon-auth support that allows a stronger checksum digest
@@ -32,6 +35,11 @@
   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.
+
 ### PACKAGING RELATED:
 
 - The checksum code now uses openssl's EVP methods, which gets rid of various
@@ -49,6 +57,11 @@
   configured path in the OPENSSL_CONF environment variable (when the variable
   is not already set).  This will enable openssl's MD4 code for rsync to use.
 
+- The packager may wish to include an explicit "use chroot = true" in the top
+  section of the /etc/rsyncd.conf file if the daemon is being installed to run
+  as the root user (though rsync should behave the same even with the value
+  unset, a little extra paranoia doesn't hurt).
+
 --
 
 # NEWS for rsync 3.2.6 (9 Sep 2022)
diff --git a/clientserver.c b/clientserver.c
index 9ad7eaf7..67983f77 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -701,7 +701,7 @@ static int rsync_module(int f_in, int f_out, int i, const 
char *addr, const char
int set_uid;
char *p, *err_msg = NULL;
char *name = lp_name(i);
-   int use_chroot = lp_use_chroot(i);
+   int use_chroot = lp_use_chroot(i); /* might be 1 (yes), 0 (no), or -1 
(unset) */
int ret, pre_exec_arg_fd = -1, pre_exec_error_fd = -1;
int save_munge_symlinks;
pid_t pre_exec_pid = 0;
@@ -826,6 +826,20 @@ static int rsync_module(int f_in, int f_out, int i, const 
char *addr, const char
io_printf(f_out, "@ERROR: no path setting.\n");
return -1;
}
+   if (use_chroot < 0) {
+   if (strstr(module_dir, "/./") != NULL)
+   use_chroot = 1; /* The module is expecting a chroot 
inner & outer path. */
+   else if (chroot("/") < 0) {
+   rprintf(FLOG, "chroot test failed: %s. "
+ "Switching 'use chroot' from unset to 
no.\n",
+ strerror(errno));
+   use_chroot = 0;
+   } else {
+   if (chdir("/") < 0)
+   rsyserr(FLOG, errno, "chdir(\"/\") failed");
+   use_chroot = 1;
+   }
+   }
if (use_chroot) {
if ((p = strstr(module_dir, "/./")) != NULL) {
*p = '\0'; /* Temporary... */
@@ -962,20 +976,8 @@ static int rsync_module(int f_in, int f_out, int i, 

[SCM] The rsync repository. - branch master updated

2022-09-15 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5b27d2e6 Pre-compute FILE_SUM_EXTRA_CNT.
   via  7e634f53 We always add a slash now that path is cleaned.
   via  8fe8cfd6 Use string length diff heuristic to skip Levenshtein Algo 
(#369)
  from  7a2dbf71 Make the implied-arg adding for --relative more efficient.

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


- Log -
commit 5b27d2e6f31dc0f7bd259771121e778486030577
Author: Wayne Davison 
Date:   Thu Sep 15 10:25:32 2022 -0700

Pre-compute FILE_SUM_EXTRA_CNT.

commit 7e634f5355d6dd96c5be7957837cba5a8154c70c
Author: Wayne Davison 
Date:   Thu Sep 15 10:13:07 2022 -0700

We always add a slash now that path is cleaned.

commit 8fe8cfd60af417f5467f7723075f5ad050b806c8
Author: Kenneth Finnegan 
Date:   Thu Sep 15 10:12:02 2022 -0700

Use string length diff heuristic to skip Levenshtein Algo (#369)

When using the --fuzzy option to try and find close matches locally,
the edit distance algorithm used is O(N^2), which can get painful on
CPU constrained systems when working in folders with tens of thousands
of files in it.

The lower bound on the calculated Levenshtein distance is the difference
of the two strings being compared, so if that difference is larger than
the current best match, the calculation of the exact edit distance between
the two strings can be skipped.

Testing on the OpenSUSE package repo has shown a 50% reduction in the CPU 
time
required to plan the rsync transaction.

---

Summary of changes:
 checksum.c  | 4 +++-
 exclude.c   | 7 ++-
 generator.c | 9 ++---
 rsync.h | 4 ++--
 util1.c | 9 -
 5 files changed, 21 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index 68ea0fa0..b5363bca 100644
--- a/checksum.c
+++ b/checksum.c
@@ -104,7 +104,7 @@ 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;
+int file_sum_len, file_sum_extra_cnt;
 
 #ifdef USE_OPENSSL
 EVP_MD_CTX *ctx_evp = NULL;
@@ -197,6 +197,8 @@ void parse_checksum_choice(int final_call)
xfer_sum_evp_md = csum_evp_md(xfer_sum_nni);
file_sum_evp_md = csum_evp_md(file_sum_nni);
 
+   file_sum_extra_cnt = (file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN;
+
if (xfer_sum_nni->num == CSUM_NONE)
whole_file = 1;
 
diff --git a/exclude.c b/exclude.c
index 5c0b0a69..ffe55b16 100644
--- a/exclude.c
+++ b/exclude.c
@@ -555,15 +555,12 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
p += arg_len;
}
}
-   if (p[-1] != '/') {
-   *p++ = '/';
-   slash_cnt++;
-   }
+   *p++ = '/';
*p++ = '*';
if (recurse)
*p++ = '*';
*p = '\0';
-   rule->u.slash_cnt = slash_cnt;
+   rule->u.slash_cnt = slash_cnt + 1;
rule->next = implied_filter_list.head;
implied_filter_list.head = rule;
if (DEBUG_GTE(FILTER, 3))
diff --git a/generator.c b/generator.c
index 935c84f9..21c4a595 100644
--- a/generator.c
+++ b/generator.c
@@ -875,9 +875,12 @@ static struct file_struct *find_fuzzy(struct file_struct 
*file, struct file_list
len = strlen(name);
suf = find_filename_suffix(name, len, _len);
 
-   dist = fuzzy_distance(name, len, fname, fname_len);
-   /* Add some extra weight to how well the suffixes 
match. */
-   dist += fuzzy_distance(suf, suf_len, fname_suf, 
fname_suf_len) * 10;
+   dist = fuzzy_distance(name, len, fname, fname_len, 
lowest_dist);
+   /* Add some extra weight to how well the suffixes match 
unless we've already disqualified
+* this file based on a heuristic. */
+   if (dist < 0xU) {
+   dist += fuzzy_distance(suf, suf_len, fname_suf, 
fname_suf_len, 0xU) * 10;
+   }
if (DEBUG_GTE(FUZZY, 2)) {
rprintf(FINFO, "fuzzy distance for %s = 
%d.%05d\n",
f_name(fp, NULL), (int)(dist>>16), 
(int)(dist&0x));
diff --git a/rsync.h b/rsync.h
index 0a5ff809..2c5e5376 100644
--- a/rsync.h
+++ b/rsync.h
@@ -826,7 +826,7 @@ extern int uid_ndx;
 extern int gid_ndx;
 extern int acls_ndx;
 extern int xattrs_ndx;
-extern int file_sum_len;
+extern int file_sum_extra_cnt;
 
 #ifdef USE_FLEXIBLE_ARRAY
 

[SCM] The rsync repository. - branch master updated

2022-09-14 Thread Rsync CVS commit messages
The branch, master has been updated
   via  7a2dbf71 Make the implied-arg adding for --relative more efficient.
   via  8449539a More NEWS updates.
  from  71c2b5d0 Fix exclusion of /. with --relative.

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


- Log -
commit 7a2dbf717794655a3fd82439fdb1e3d8b4730c74
Author: Wayne Davison 
Date:   Wed Sep 14 08:20:41 2022 -0700

Make the implied-arg adding for --relative more efficient.

commit 8449539a0f4501ffc7a1792e361925ee98b86783
Author: Wayne Davison 
Date:   Wed Sep 14 07:53:23 2022 -0700

More NEWS updates.

---

Summary of changes:
 NEWS.md   | 25 ++---
 exclude.c | 45 +
 2 files changed, 39 insertions(+), 31 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 49dbc544..d40b7fa2 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,9 +4,9 @@
 
 ### BUG FIXES:
 
-- Fix a bug with validating remote filter rules.
+- Fixed the validating of remote filter rules.
 
-- When rsync gets and unpack error on an ACL, mention the filename.
+- When rsync gets an unpack error on an ACL, mention the filename.
 
 ### ENHANCEMENTS:
 
@@ -17,7 +17,10 @@
 - Added support for SHA1, SHA256, and SHA512 digests in file checksums.  While
   this tends to be overkill, it is available if someone really needs it.  These
   overly-long checksums are at the lowest priority in the normal checksum
-  negotation list.
+  negotiation list.
+
+- Improved the xattr hash table to use a 64-bit key (which should ensure fewer
+  collisions).
 
 - If the `--version` option is repeated (e.g. `-VV`) then the information is
   output in a (still human-readable) JSON format (client side only).
@@ -26,8 +29,8 @@
   version output from any rsync.  The script accepts either text on stdin
   **or** an arg that specifies an rsync executable to run with a doubled
   `--version` option.  If the text we get isn't already in JSON format, it is
-  converted into equivalent JSON as rsync 3.2.7 would output it (though some
-  info may be missing from older versions).
+  converted. Newer rsync versions will provide more complete info than older
+  versions.
 
 ### PACKAGING RELATED:
 
@@ -39,12 +42,12 @@
   talking to an rsync prior to 3.0.0) or you can configure rsync to tell
   openssl to enable legacy algorithms (see below).
 
-- A simple openssl config file is supplied that can be optionally installed for
-  rsync to use.  If you install packaging/openssl-rsync.cnf to a public spot
-  (such as ` /etc/ssl/openssl-rsync.cnf` or similar) and then configure rsync
-  using `--with-openssl-conf=/path/name.cnf`, this will cause rsync to export
-  the configured path in the OPENSSL_CONF environment variable (when it is not
-  already set).  This will enable openssl's MD4 code for rsync to use.
+- A simple openssl config file is supplied that can be installed for rsync to
+  use.  If you install packaging/openssl-rsync.cnf to a public spot (such as
+  `/etc/ssl/openssl-rsync.cnf`) and then run configure with the option
+  `--with-openssl-conf=/path/name.cnf`, this will cause rsync to export the
+  configured path in the OPENSSL_CONF environment variable (when the variable
+  is not already set).  This will enable openssl's MD4 code for rsync to use.
 
 --
 
diff --git a/exclude.c b/exclude.c
index b21207ba..5c0b0a69 100644
--- a/exclude.c
+++ b/exclude.c
@@ -493,9 +493,10 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
if (saw_live_open_brkt)
maybe_add_literal_brackets_rule(rule, arg_len);
if (relative_paths && slash_cnt) {
-   filter_rule const *ent;
-   slash_cnt = 1;
-   for (p = new_pat + 1; (p = strchr(p, '/')) != 
NULL; p++) {
+   int sub_slash_cnt = slash_cnt;
+   while ((p = strrchr(new_pat, '/')) != NULL && p 
!= new_pat) {
+   filter_rule const *ent;
+   filter_rule *R_rule;
int found = 0;
*p = '\0';
for (ent = implied_filter_list.head; 
ent; ent = ent->next) {
@@ -504,25 +505,29 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
break;
}
}
-   if (!found) {
-   filter_rule *R_rule = 
new0(filter_rule);
-  

[SCM] The rsync repository. - branch master updated

2022-09-14 Thread Rsync CVS commit messages
The branch, master has been updated
   via  71c2b5d0 Fix exclusion of /. with --relative.
   via  f3f5d842 Tweak a define.
   via  8b1b81e0 Use UNSUPPORTED instead of PROTOCOL for various validation 
checks.
   via  e8161304 Use hashlittle2() for xattr hashing
   via  b012cde1 Add hashlittle2() and ensure the hash is never 0
   via  464555ea Fix really silly bug with --relative rules.
   via  df904f59 Improve var ref.
   via  208d6ad1 NEWS tweak.
  from  51dae12c Update NEWS.

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


- Log -
commit 71c2b5d0e386b845fb2f4d427568451f098008ff
Author: Wayne Davison 
Date:   Wed Sep 14 07:14:13 2022 -0700

Fix exclusion of /. with --relative.

commit f3f5d8420f97a6c0b27419cf1db24b93945b7395
Author: Wayne Davison 
Date:   Wed Sep 14 07:13:24 2022 -0700

Tweak a define.

commit 8b1b81e054bdcc927ff26f20f424e034bd273175
Author: Wayne Davison 
Date:   Tue Sep 13 23:38:01 2022 -0700

Use UNSUPPORTED instead of PROTOCOL for various validation checks.

commit e8161304f74a786101a708c60c39ff2a94b78764
Author: Wayne Davison 
Date:   Tue Sep 13 22:43:01 2022 -0700

Use hashlittle2() for xattr hashing

- The non-zero key code is now in hashtable.c
- The hashtable_create() code already checks for OOM

commit b012cde1ed34805ba6996933bee437a00d253c0c
Author: Wayne Davison 
Date:   Tue Sep 13 22:37:39 2022 -0700

Add hashlittle2() and ensure the hash is never 0

It's probably time for a faster hash algorithm, but this gives us
the free 64-bit hashing that things like the xattr code can use.

commit 464555ea923b32f3504678d05bc7de9205e5c8da
Author: Wayne Davison 
Date:   Tue Sep 13 20:56:32 2022 -0700

Fix really silly bug with --relative rules.

commit df904f590ecbcb7fe99a834beba961276b1616ce
Author: Wayne Davison 
Date:   Tue Sep 13 20:55:26 2022 -0700

Improve var ref.

commit 208d6ad1cd6f315959a2b2f1b7f032144716ec49
Author: Wayne Davison 
Date:   Tue Sep 13 20:54:35 2022 -0700

NEWS tweak.

---

Summary of changes:
 NEWS.md |   2 +-
 exclude.c   |   4 +-
 flist.c |  10 ++--
 hashtable.c | 172 ++--
 xattrs.c|  16 ++
 5 files changed, 180 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 44eddd9b..49dbc544 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -12,7 +12,7 @@
 
 - Added negotiated daemon-auth support that allows a stronger checksum digest
   to be used.  Added SHA512, SHA256, and SHA1 digests to MD5 & MD4.  These new
-  digests are at the highest priority in the new negotiation list.
+  digests are at the highest priority in the new daemon-auth negotiation list.
 
 - Added support for SHA1, SHA256, and SHA512 digests in file checksums.  While
   this tends to be overkill, it is available if someone really needs it.  These
diff --git a/exclude.c b/exclude.c
index 4022e824..b21207ba 100644
--- a/exclude.c
+++ b/exclude.c
@@ -494,9 +494,9 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
maybe_add_literal_brackets_rule(rule, arg_len);
if (relative_paths && slash_cnt) {
filter_rule const *ent;
-   int found = 0;
slash_cnt = 1;
for (p = new_pat + 1; (p = strchr(p, '/')) != 
NULL; p++) {
+   int found = 0;
*p = '\0';
for (ent = implied_filter_list.head; 
ent; ent = ent->next) {
if (ent != rule && 
strcmp(ent->pattern, new_pat) == 0) {
@@ -508,7 +508,7 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
filter_rule *R_rule = 
new0(filter_rule);
R_rule->rflags = 
FILTRULE_INCLUDE | FILTRULE_DIRECTORY;
/* Check if our sub-path has 
wildcards or escaped backslashes */
-   if (saw_wild && 
strpbrk(rule->pattern, "*[?\\"))
+   if (saw_wild && 
strpbrk(new_pat, "*[?\\"))
R_rule->rflags |= 
FILTRULE_WILD;
R_rule->pattern = 
strdup(new_pat);
R_rule->u.slash_cnt = slash_cnt;
diff --git a/flist.c b/flist.c
index db11b353..82d686a6 100644
--- a/flist.c
+++ b/flist.c
@@ -756,7 +756,7 @@ static struct file_struct *recv_file_entry(int f, struct 
file_list *flist, int x
if (*thisname
 && 

[SCM] The rsync repository. - branch master updated

2022-09-12 Thread Rsync CVS commit messages
The branch, master has been updated
   via  51dae12c Update NEWS.
   via  95073031 Fix bug with validing remote filter rules.
   via  81c5c813 Mention the filename when unpack_smb_acl() returns an 
error.
   via  a6a0d2f7 Require a newer protocol to specify the digest list.
   via  418e38a8 Talk about the new daemon greeting line.
   via  b2dcabdb Improve output of "N-bit" items in json data.
  from  ad53a9b5 Also change dashes in the dict var names to make jq use 
easier.

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


- Log -
commit 51dae12c929d55cf4d5eb95c088910342809bcc5
Author: Wayne Davison 
Date:   Mon Sep 12 22:04:33 2022 -0700

Update NEWS.

commit 950730313de994d191ba2d5be575e97690b355e8
Author: Wayne Davison 
Date:   Mon Sep 12 22:02:00 2022 -0700

Fix bug with validing remote filter rules.

commit 81c5c81381d86d84fca3a2681ad0c2027bc65d6e
Author: Wayne Davison 
Date:   Sun Sep 11 10:03:16 2022 -0700

Mention the filename when unpack_smb_acl() returns an error.

commit a6a0d2f77c7d1f06829c301914585a3d873fcd39
Author: Wayne Davison 
Date:   Sat Sep 10 21:52:54 2022 -0700

Require a newer protocol to specify the digest list.

commit 418e38a8789fd9b668961f945382c78806f2fb20
Author: Wayne Davison 
Date:   Sat Sep 10 21:30:46 2022 -0700

Talk about the new daemon greeting line.

commit b2dcabdbb9a50074655bd731425c13cea5874c76
Author: Wayne Davison 
Date:   Sat Sep 10 21:05:07 2022 -0700

Improve output of "N-bit" items in json data.

---

Summary of changes:
 NEWS.md|  4 +++-
 acls.c |  1 +
 clientserver.c | 12 ---
 csprotocol.txt | 52 --
 exclude.c  | 35 ++-
 flist.c|  2 +-
 rsync.h|  1 +
 support/json-rsync-version | 13 
 usage.c| 11 +++---
 9 files changed, 89 insertions(+), 42 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index fe962ad0..44eddd9b 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,7 +4,9 @@
 
 ### BUG FIXES:
 
-- ...
+- Fix a bug with validating remote filter rules.
+
+- When rsync gets and unpack error on an ACL, mention the filename.
 
 ### ENHANCEMENTS:
 
diff --git a/acls.c b/acls.c
index 12e662cf..3cf12eeb 100644
--- a/acls.c
+++ b/acls.c
@@ -519,6 +519,7 @@ static int get_rsync_acl(const char *fname, rsync_acl *racl,
 
sys_acl_free_acl(sacl);
if (!ok) {
+   rsyserr(FERROR_XFER, errno, "get_acl: 
unpack_smb_acl(%s)", fname);
return -1;
}
} else if (no_acl_syscall_error(errno)) {
diff --git a/clientserver.c b/clientserver.c
index 7436d01e..9ad7eaf7 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -184,11 +184,11 @@ static int exchange_protocols(int f_in, int f_out, char 
*buf, size_t bufsiz, int
}
 
if (remote_sub < 0) {
-   if (remote_protocol == 30) {
+   if (remote_protocol >= 30) {
if (am_client)
-   rprintf(FERROR, "rsync: server is speaking an 
incompatible beta of protocol 30\n");
+   rprintf(FERROR, "rsync: the server omitted the 
subprotocol value: %s\n", buf);
else
-   io_printf(f_out, "@ERROR: your client is 
speaking an incompatible beta of protocol 30\n");
+   io_printf(f_out, "@ERROR: your client omitted 
the subprotocol value: %s\n", buf);
return -1;
}
remote_sub = 0;
@@ -200,6 +200,12 @@ static int exchange_protocols(int f_in, int f_out, char 
*buf, size_t bufsiz, int
daemon_auth_choices = strdup(daemon_auth_choices + 1);
if ((cp = strchr(daemon_auth_choices, '\n')) != NULL)
*cp = '\0';
+   } else if (remote_protocol > 31) {
+   if (am_client)
+   rprintf(FERROR, "rsync: the server omitted the digest 
name list: %s\n", buf);
+   else
+   io_printf(f_out, "@ERROR: your client omitted the 
digest name list: %s\n", buf);
+   return -1;
}
 
if (protocol_version > remote_protocol) {
diff --git a/csprotocol.txt b/csprotocol.txt
index c8dadd41..4c7ec5b8 100644
--- a/csprotocol.txt
+++ b/csprotocol.txt
@@ -7,39 +7,54 @@ basically a summary of clientserver.c and authenticate.c.
 This is the protocol used for rsync --daemon; i.e. connections to port
 873 rather than invocations over a remote shell.
 
-When the server accepts a connection, it prints a greeting
+When the server accepts a connection, it prints a 

[SCM] The rsync repository. - branch master updated

2022-09-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ad53a9b5 Also change dashes in the dict var names to make jq use 
easier.
   via  17502886 A few more tweaks.
   via  087fffaa Unify older protect-args capability to secluded-args name.
   via  5c1fa2a2 Use dict for capabilities & optimizations in json output.
  from  0efa63f2 Use JSON output if --version (-V) is repeated (client side 
only).

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


- Log -
commit ad53a9b5a04829e84631ef633453b03d64684d1f
Author: Wayne Davison 
Date:   Sat Sep 10 17:30:54 2022 -0700

Also change dashes in the dict var names to make jq use easier.

commit 1750288660ab92ce6ea8c6aead4ca4a3a5107bde
Author: Wayne Davison 
Date:   Sat Sep 10 16:19:21 2022 -0700

A few more tweaks.

commit 087fffaa2be1029b7890b90a891fee6551aa4c1e
Author: Wayne Davison 
Date:   Sat Sep 10 16:17:32 2022 -0700

Unify older protect-args capability to secluded-args name.

commit 5c1fa2a21dbce9745483e2ae81afdf1dd9f1fea2
Author: Wayne Davison 
Date:   Sat Sep 10 15:39:25 2022 -0700

Use dict for capabilities & optimizations in json output.

---

Summary of changes:
 NEWS.md| 10 ++
 support/json-rsync-version | 20 
 usage.c| 34 +-
 3 files changed, 47 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 81d66b63..fe962ad0 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -13,7 +13,7 @@
   digests are at the highest priority in the new negotiation list.
 
 - Added support for SHA1, SHA256, and SHA512 digests in file checksums.  While
-  This tends to be overkill, if someone needs it, it is available.  These
+  this tends to be overkill, it is available if someone really needs it.  These
   overly-long checksums are at the lowest priority in the normal checksum
   negotation list.
 
@@ -21,9 +21,11 @@
   output in a (still human-readable) JSON format (client side only).
 
 - The script `support/json-rsync-version` is available to get the JSON style
-  version output from any rsync.  The script accepts the version output on
-  stdin **or** the name of an rsync to run as an arg.  If the text isn't
-  already in JSON format, the text is translated into equivalent JSON.
+  version output from any rsync.  The script accepts either text on stdin
+  **or** an arg that specifies an rsync executable to run with a doubled
+  `--version` option.  If the text we get isn't already in JSON format, it is
+  converted into equivalent JSON as rsync 3.2.7 would output it (though some
+  info may be missing from older versions).
 
 ### PACKAGING RELATED:
 
diff --git a/support/json-rsync-version b/support/json-rsync-version
index 79050e48..afaf7382 100755
--- a/support/json-rsync-version
+++ b/support/json-rsync-version
@@ -30,17 +30,29 @@ def main():
 elif line.startswith('  '):
 if not saw_comma and ',' in line:
 saw_comma = True
+info[sect_name] = { }
 if saw_comma:
-lst = line.strip(' ,').split(', ')
+for x in line.strip(' ,').split(', '):
+if ' ' in x:
+val, var = x.split(' ', 1)
+if var == 'protect-args':
+var = 'secluded-args'
+var = var.replace(' ', '_').replace('-', '_')
+info[sect_name][var] = False if val == 'no' else val
+else:
+x = x.replace('-', '_')
+info[sect_name][x] = True
 else:
-lst = [ x for x in line.split() if not x.startswith('(') ]
-info[sect_name] += lst
+info[sect_name] += [ x for x in line.split() if not 
x.startswith('(') ]
 elif line == '':
 break
 else:
-sect_name = line.strip(" \n:").replace(' ', '_').lower()
+sect_name = line.strip(' :').replace(' ', '_').lower()
 info[sect_name] = [ ]
 saw_comma = False
+for chk in 'capabilities optimizations'.split():
+if chk not in info:
+info[chk] = { }
 for chk in 'checksum_list compress_list daemon_auth_list'.split():
 if chk not in info:
 info[chk] = [ ]
diff --git a/usage.c b/usage.c
index dc66288f..a2c2a3f0 100644
--- a/usage.c
+++ b/usage.c
@@ -38,7 +38,7 @@ static void print_info_flags(enum logcode f)
 {
STRUCT_STAT *dumstat;
BOOL as_json = f == FNONE ? 1 : 0; /* We use 1 == first attribute, 2 == 
need closing array */
-   char line_buf[75], *quot = as_json ? "\"" : "";
+   char line_buf[75], item_buf[32];
int line_len, j;
char *info_flags[] = {
 
@@ -165,9 +165,25 @@ static void 

[SCM] The rsync repository. - branch master updated

2022-09-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  0efa63f2 Use JSON output if --version (-V) is repeated (client side 
only).
   via  ae16850d Add support for various SHA checksum digests
   via  7e2711bb Improve various things in the checksum code
   via  b8c2fde3 Try freebsd-13-1 to fix weird wget issue.
   via  1f12b196 When deleting a tag, del in the patches dir too.
   via  bafe73dd Start 3.2.7dev going.
  from  db5bfe67 Preparing for release of 3.2.6

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


- Log -
commit 0efa63f2e601808cae02313311a7331af66a2313
Author: Wayne Davison 
Date:   Sat Sep 10 11:07:01 2022 -0700

Use JSON output if --version (-V) is repeated (client side only).

commit ae16850dc58e884eb9f5cb7f772342b2db28f471
Author: Wayne Davison 
Date:   Sat Sep 10 10:23:36 2022 -0700

Add support for various SHA checksum digests

The main purpose of the SHA checksums are to allow the daemon auth code
to pick a stonger digest method when negotiating the auth digest to use.
However, the SHA digests are also available for use in file checksums,
should someon really want to use one of them.

The new digests are listed from strongest to weakest at the start of the
daemon auth list, giving them the highest priority.

The new digests are listed from weakest to strongest near the end of the
checksum list, giving them the lowest priority of use for file
checksums.

commit 7e2711bb2b4b30bc842dd8670c34a87e2ca0c2df
Author: Wayne Davison 
Date:   Sat Sep 10 09:43:47 2022 -0700

Improve various things in the checksum code

- Size flist checksum data to hold the active size, not the max.
- Add a negotiated hash method to the daemon auth code.
- Use EVP for all openssl digests. This makes it easy to add more
  openssl digest methods and avoids deprecation warnings.
- Support a way to re-enable deprecated digests via openssl conf
  file and allow a default file to be configured.
- Supply a simple openssl-rsync.cnf file to enable legacy digests.

commit b8c2fde3a54abc1ebef6d375b687395b798412f5
Author: Wayne Davison 
Date:   Fri Sep 9 13:16:27 2022 -0700

Try freebsd-13-1 to fix weird wget issue.

commit 1f12b196fd049058e1d12bdf8e9b01dd05f656f0
Author: Wayne Davison 
Date:   Fri Sep 9 12:59:22 2022 -0700

When deleting a tag, del in the patches dir too.

commit bafe73dd5ce57f56b7d67e1f1eec0cafd1db9a7b
Author: Wayne Davison 
Date:   Fri Sep 9 12:58:22 2022 -0700

Start 3.2.7dev going.

---

Summary of changes:
 .cirrus.yml |   2 +-
 NEWS.md |  47 +
 authenticate.c  |  11 +-
 checksum.c  | 431 +---
 clientserver.c  |  19 +-
 compat.c| 190 +--
 configure.ac|  10 +
 flist.c |   6 +-
 lib/md-defines.h|  20 ++
 lib/md5.c   |   2 -
 lib/mdigest.h   |  12 +-
 log.c   |  10 +-
 main.c  |  11 ++
 match.c |  18 +-
 options.c   |   2 +-
 packaging/openssl-rsync.cnf |  18 ++
 packaging/release-rsync |   2 +
 receiver.c  |  13 +-
 rsync.1.md  |  14 +-
 rsync.h |  11 +-
 support/json-rsync-version  |  59 ++
 usage.c | 118 +---
 version.h   |   2 +-
 xattrs.c|  29 +--
 24 files changed, 759 insertions(+), 298 deletions(-)
 create mode 100644 packaging/openssl-rsync.cnf
 create mode 100755 support/json-rsync-version


Changeset truncated at 500 lines:

diff --git a/.cirrus.yml b/.cirrus.yml
index 16489f8f..33e2685e 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,7 +1,7 @@
 freebsd_task:
   name: FreeBSD
   freebsd_instance:
-image_family: freebsd-13-0
+image_family: freebsd-13-1
   env:
 PATH: /usr/local/bin:$PATH
   prep_script:
diff --git a/NEWS.md b/NEWS.md
index 02cc2fc7..81d66b63 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,49 @@
+# NEWS for rsync 3.2.7 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+- ...
+
+### ENHANCEMENTS:
+
+- Added negotiated daemon-auth support that allows a stronger checksum digest
+  to be used.  Added SHA512, SHA256, and SHA1 digests to MD5 & MD4.  These new
+  digests are at the highest priority in the new negotiation list.
+
+- Added support for SHA1, SHA256, and SHA512 digests in file checksums.  While
+  This tends to be overkill, if someone needs it, it is available.  These
+  overly-long checksums are at the lowest priority in the normal checksum
+  negotation list.
+
+- If the `--version` option is repeated (e.g. `-VV`) then the information is
+  output in a (still 

[SCM] The rsync repository. - annotated tag v3.2.6 created

2022-09-09 Thread Rsync CVS commit messages
The annotated tag, v3.2.6 has been created
at  40695f1e31d29e5d715d986a53cdad1fe0ce0210 (tag)
   tagging  db5bfe67a5d022f9ad25340db6bc2cca2cbbdb65 (commit)
  replaces  v3.2.5
 tagged by  Wayne Davison
on  Fri Sep 9 12:23:44 2022 -0700

- Log -
Version 3.2.6.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYxuSwBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxXmBAKDSjMLErDVmmtQ0AfAkfSp8DiffGwCgzZan
4jwZD0b4TDe0hyba/X9OW4A=
=7G//
-END PGP SIGNATURE-

Samuel Henrique (1):
  Fix typos on manpage (#358)

Wayne Davison (27):
  We must use the CSUM_CHUNK size in the non-openssl MD4 code.
  Allow ~/remote/./path with -R if the path has /./ in it.
  Do more path cleaning in add_implied_include(); make u.slash_cnt more 
accurate.
  Start 3.2.6dev going.
  Only run git describe if .git exists in the $srcdir.
  Remove useless comment.
  Another mkgitver tweak & mention it in NEWS.
  Fix issue when the files-from list isn't nl terminated.
  Change name_num_obj struct to use a name_num_item pointer.
  Stop enabling -pedantic-errors.
  Remove unneeded var.
  Mention `copy-devices`.
  Make sure that the configure.sh script is up-to-date in a release.
  Mention the latest changes.
  Add safety check for local --remove-source-files.
  More NEWS tweaks.
  Rename `--protect-args` to `--secluded-args`.
  Fix split limits.
  Fix a link.
  Another spelling fix.
  Fix an unreleased bug handling a leading dot.
  Mention that copying to a case-ignoring filesystem can be problematical.
  Tweak a couple links.
  Improve the daemon info a bit.
  A few more minor tweaks.
  Mention a potential bash security issue with openssh forced commands.
  Preparing for release of 3.2.6

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-09-09 Thread Rsync CVS commit messages
The branch, master has been updated
   via  db5bfe67 Preparing for release of 3.2.6
  from  5447d038 Mention a potential bash security issue with openssh 
forced commands.

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


- Log -
commit db5bfe67a5d022f9ad25340db6bc2cca2cbbdb65
Author: Wayne Davison 
Date:   Fri Sep 9 12:23:37 2022 -0700

Preparing for release of 3.2.6

---

Summary of changes:
 NEWS.md  | 4 ++--
 hlink.c  | 2 +-
 packaging/lsb/rsync.spec | 6 +++---
 version.h| 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index b9346ec1..02cc2fc7 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# NEWS for rsync 3.2.6 (UNRELEASED)
+# NEWS for rsync 3.2.6 (9 Sep 2022)
 
 ## Changes in this version:
 
@@ -4592,7 +4592,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
-| ?? Dec 2022  | 3.2.6  |  | 31  |
+| 09 Sep 2022  | 3.2.6  |  | 31  |
 | 14 Aug 2022  | 3.2.5  |  | 31  |
 | 15 Apr 2022  | 3.2.4  |  | 31  |
 | 06 Aug 2020  | 3.2.3  |  | 31  |
diff --git a/hlink.c b/hlink.c
index 7602ec38..20291f26 100644
--- a/hlink.c
+++ b/hlink.c
@@ -4,7 +4,7 @@
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
  * Copyright (C) 2002 Martin Pool 
- * 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/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 0959c744..8221547f 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -1,6 +1,6 @@
 Summary: A fast, versatile, remote (and local) file-copying tool
 Name: rsync
-Version: 3.2.5
+Version: 3.2.6
 %define fullversion %{version}
 Release: 1
 %define srcdir src
@@ -79,8 +79,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/rsync-ssl/certs
 
 %changelog
-* Sun Aug 14 2022 Wayne Davison 
-Released 3.2.5.
+* Fri Sep 09 2022 Wayne Davison 
+Released 3.2.6.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/version.h b/version.h
index fac4fa4b..04e2db7a 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.6dev"
+#define RSYNC_VERSION "3.2.6"
 #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


[SCM] The rsync repository. - branch master updated

2022-09-09 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5447d038 Mention a potential bash security issue with openssh 
forced commands.
  from  71177363 A few more minor tweaks.

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


- Log -
commit 5447d038c66dbe8de0cd5db1bc1e60d111bc9880
Author: Wayne Davison 
Date:   Fri Sep 9 10:47:09 2022 -0700

Mention a potential bash security issue with openssh forced commands.

---

Summary of changes:
 support/rrsync.1.md | 24 
 1 file changed, 24 insertions(+)


Changeset truncated at 500 lines:

diff --git a/support/rrsync.1.md b/support/rrsync.1.md
index a7365323..98f2cab0 100644
--- a/support/rrsync.1.md
+++ b/support/rrsync.1.md
@@ -22,6 +22,10 @@ transfer in one of two easy ways:
 * forcing the running of the rrsync script
 * forcing the running of an rsync daemon-over-ssh command.
 
+Both of these setups use a feature of ssh that allows a command to be forced to
+run instead of an interactive shell.  However, if the user's home shell is 
bash,
+please see [BASH SECURITY ISSUE](#) for a potential issue.
+
 To use the rrsync script, edit the user's `~/.ssh/authorized_keys` file and add
 a prefix like one of the following (followed by a space) in front of each
 ssh-key line that should be restricted:
@@ -107,6 +111,26 @@ overrides.
 The script (or a copy of it) can be manually edited if you want it to customize
 the option handling.
 
+## BASH SECURITY ISSUE
+
+If your users have bash set as their home shell, bash may try to be overly
+helpful and ensure that the user's login bashrc files are run prior to
+executing the forced command.  This can be a problem if the user can somehow
+update their home bashrc files, perhaps via the restricted copy, a shared home
+directory, or something similar.
+
+One simple way to avoid the issue is to switch the user to a simpler shell,
+such as dash.  When choosing the new home shell, make sure that you're not
+choosing bash in disguise, as it is unclear if it avoids the security issue.
+
+Another potential fix is to ensure that the user's home directory is not a
+shared mount and that they have no means of copying files outside of their
+restricted directories.  This may require you to force the enabling of symlink
+munging on the server side.
+
+A future version of openssh may have a change to the handling of forced
+commands that allows it to avoid using the user's home shell.
+
 ## EXAMPLES
 
 The `~/.ssh/authorized_keys` file might have lines in it like this:


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-09-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  71177363 A few more minor tweaks.
  from  bf3e49b4 Improve the daemon info a bit.

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


- Log -
commit 711773631b406f0285859713ac2b33a6729909a3
Author: Wayne Davison 
Date:   Thu Sep 1 22:07:54 2022 -0700

A few more minor tweaks.

---

Summary of changes:
 rsync.1.md | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 4f235f5b..c62e82ea 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -224,7 +224,7 @@ the hostname omitted.  For instance, all these work:
 > rsync -aiv host::modname/first ::extra-file{1,2} /dest/
 
 Note that a daemon connection only supports accessing one module per copy
-command, so if the first argument in a follow-up path doesn't begin with the
+command, so if the start of a follow-up path doesn't begin with the
 modname of the first path, it is assumed to be a path in the module (such as
 the extra-file1 & extra-file2 that are grabbed above).
 
@@ -260,9 +260,9 @@ that:
 
 - Use either double-colon syntax or rsync:// URL syntax instead of the
   single-colon (remote shell) syntax.
-- The first word of (at least) the first "path" is actually a module name.
-- Additional remote source args use an abbreviated syntax as discussed in
-  [ADVANCED USAGE](#).
+- The first element of the "path" is actually a module name.
+- Additional remote source args can use an abbreviated syntax that omits the
+  hostname and/or the module name, as discussed in [ADVANCED USAGE](#).
 - The remote daemon may print a "message of the day" when you connect.
 - If you specify only the host (with no module or path) then a list of
   accessible modules on the daemon is output.


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-09-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  bf3e49b4 Improve the daemon info a bit.
  from  034d5e87 Tweak a couple links.

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


- Log -
commit bf3e49b4530c7a57f16bcf9a57cb41cc35f49852
Author: Wayne Davison 
Date:   Thu Sep 1 21:56:00 2022 -0700

Improve the daemon info a bit.

---

Summary of changes:
 rsync.1.md | 31 +++
 1 file changed, 19 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 4d0b8eca..4f235f5b 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -221,7 +221,12 @@ the hostname omitted.  For instance, all these work:
 
 > rsync -aiv host:file1 :file2 host:file{3,4} /dest/
 > rsync -aiv host::modname/file{1,2} host::modname/extra /dest/
-> rsync -aiv host::modname/first ::modname/extra{1,2} /dest/
+> rsync -aiv host::modname/first ::extra-file{1,2} /dest/
+
+Note that a daemon connection only supports accessing one module per copy
+command, so if the first argument in a follow-up path doesn't begin with the
+modname of the first path, it is assumed to be a path in the module (such as
+the extra-file1 & extra-file2 that are grabbed above).
 
 Really old versions of rsync (2.6.9 and before) only allowed specifying one
 remote-source arg, so some people have instead relied on the remote-shell
@@ -253,17 +258,19 @@ section below for information on that.)
 Using rsync in this way is the same as using it with a remote shell except
 that:
 
-- you either use a double colon :: instead of a single colon to separate the
-  hostname from the path, or you use an rsync:// URL.
-- the first word of the "path" is actually a module name.
-- the remote daemon may print a message of the day when you connect.
-- if you specify no path name on the remote daemon then the list of accessible
-  paths on the daemon will be shown.
-- if you specify no local destination then a listing of the specified files on
-  the remote daemon is provided.
-- you must not specify the [`--rsh`](#opt) (`-e`) option (since that overrides
-  the daemon connection to use ssh -- see [USING RSYNC-DAEMON FEATURES VIA A
-  REMOTE-SHELL CONNECTION](#) below).
+- Use either double-colon syntax or rsync:// URL syntax instead of the
+  single-colon (remote shell) syntax.
+- The first word of (at least) the first "path" is actually a module name.
+- Additional remote source args use an abbreviated syntax as discussed in
+  [ADVANCED USAGE](#).
+- The remote daemon may print a "message of the day" when you connect.
+- If you specify only the host (with no module or path) then a list of
+  accessible modules on the daemon is output.
+- If you specify a remote source path but no destination, a listing of the
+  matching files on the remote daemon is output.
+- The [`--rsh`](#opt) (`-e`) option must be omitted to avoid changing the
+  connection style from using a socket connection to [USING RSYNC-DAEMON
+  FEATURES VIA A REMOTE-SHELL CONNECTION](#).
 
 An example that copies all the files in a remote module named "src":
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  034d5e87 Tweak a couple links.
  from  ad891743 Mention that copying to a case-ignoring filesystem can be 
problematical.

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


- Log -
commit 034d5e877040358f5d341771a6cca5f5dc086300
Author: Wayne Davison 
Date:   Tue Aug 23 21:05:54 2022 -0700

Tweak a couple links.

---

Summary of changes:
 rsync.1.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index dfdd7df3..4d0b8eca 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -198,13 +198,13 @@ See the [`--trust-sender`](#opt) option for additional 
details.
 CAUTION: it is not particularly safe to use rsync to copy files from a
 case-preserving filesystem to a case-ignoring filesystem.  If you must perform
 such a copy, you should either disable symlinks via `--no-links` or enable the
-munging of symlinks via [`--munge-links`](#opt)) (and make sure you use the
+munging of symlinks via [`--munge-links`](#opt) (and make sure you use the
 right local or remote option).  This will prevent rsync from doing potentially
 dangerous things if a symlink name overlaps with a file or directory. It does
 not, however, ensure that you get a full copy of all the files (since that may
 not be possible when the names overlap). A potentially better solution is to
 list all the source files and create a safe list of filenames that you pass to
-the [`--files-from`)(#opt) option.  Any files that conflict in name would need
+the [`--files-from`](#opt) option.  Any files that conflict in name would need
 to be copied to different destination directories using more than one copy.
 
 While a copy of a case-ignoring filesystem to a case-ignoring filesystem can


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ad891743 Mention that copying to a case-ignoring filesystem can be 
problematical.
  from  1b664d30 Fix an unreleased bug handling a leading dot.

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


- Log -
commit ad8917437ac443a3f2e35294594a8b417618d4ca
Author: Wayne Davison 
Date:   Tue Aug 23 20:59:13 2022 -0700

Mention that copying to a case-ignoring filesystem can be problematical.

---

Summary of changes:
 rsync.1.md | 18 ++
 1 file changed, 18 insertions(+)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 2fbc6e11..dfdd7df3 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -195,6 +195,24 @@ Dedicate a "host1-files" dir to the remote content:
 
 See the [`--trust-sender`](#opt) option for additional details.
 
+CAUTION: it is not particularly safe to use rsync to copy files from a
+case-preserving filesystem to a case-ignoring filesystem.  If you must perform
+such a copy, you should either disable symlinks via `--no-links` or enable the
+munging of symlinks via [`--munge-links`](#opt)) (and make sure you use the
+right local or remote option).  This will prevent rsync from doing potentially
+dangerous things if a symlink name overlaps with a file or directory. It does
+not, however, ensure that you get a full copy of all the files (since that may
+not be possible when the names overlap). A potentially better solution is to
+list all the source files and create a safe list of filenames that you pass to
+the [`--files-from`)(#opt) option.  Any files that conflict in name would need
+to be copied to different destination directories using more than one copy.
+
+While a copy of a case-ignoring filesystem to a case-ignoring filesystem can
+work out fairly well, if no `--delete-during` or `--delete-before` option is
+active, rsync can potentially update an existing file on the receiveing side
+without noticing that the upper-/lower-case of the filename should be changed
+to match the sender.
+
 ## ADVANCED USAGE
 
 The syntax for requesting multiple files from a remote host is done by


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  1b664d30 Fix an unreleased bug handling a leading dot.
  from  ea38f34d Another spelling fix.

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


- Log -
commit 1b664d30e4966a1be4a19fd816847dc664ef3436
Author: Wayne Davison 
Date:   Tue Aug 23 19:38:41 2022 -0700

Fix an unreleased bug handling a leading dot.

---

Summary of changes:
 exclude.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index 777874aa..5458455b 100644
--- a/exclude.c
+++ b/exclude.c
@@ -454,8 +454,8 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
cp++;
slash_cnt--;
p--;
-   break;
-   }
+   } else
+   *p++ = *cp++;
} else
*p++ = *cp++;
break;
@@ -484,7 +484,7 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
implied_filter_list.head = rule;
}
if (DEBUG_GTE(FILTER, 3))
-   rprintf(FINFO, "[%s] 
add_IMPlied_include(%s)\n", who_am_i(), arg);
+   rprintf(FINFO, "[%s] 
add_implied_include(%s)\n", who_am_i(), arg);
if (saw_live_open_brkt)
maybe_add_literal_brackets_rule(rule, arg_len);
if (relative_paths && slash_cnt) {


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  ea38f34d Another spelling fix.
   via  44d47276 Fix a link.
   via  1f2f4131 Fix split limits.
   via  0a09df2c Rename `--protect-args` to `--secluded-args`.
   via  cc861cf8 More NEWS tweaks.
  from  5183c0d6 Add safety check for local --remove-source-files.

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


- Log -
commit ea38f34d02956b8586230d5c7f51f2d4740b6eab
Author: Wayne Davison 
Date:   Tue Aug 23 15:44:48 2022 -0700

Another spelling fix.

commit 44d4727664cf40ff6453e466321c487b79236d7e
Author: Wayne Davison 
Date:   Tue Aug 23 15:30:37 2022 -0700

Fix a link.

commit 1f2f4131674af790c2e98149c1673b5e9ad1d35d
Author: Wayne Davison 
Date:   Tue Aug 23 15:30:16 2022 -0700

Fix split limits.

commit 0a09df2c5e62fa4e694f76a35d6f4e786907ef75
Author: Wayne Davison 
Date:   Tue Aug 23 08:28:06 2022 -0700

Rename `--protect-args` to `--secluded-args`.

commit cc861cf8c01662057ccc5d9268602ed15c76adc7
Author: Wayne Davison 
Date:   Mon Aug 22 08:15:35 2022 -0700

More NEWS tweaks.

---

Summary of changes:
 NEWS.md  | 35 +++---
 clientserver.c   |  2 +-
 configure.ac |  8 +++
 md-convert   |  4 ++--
 options.c| 10 +
 rsync.1.md   | 66 ++--
 rsyncd.conf.5.md |  4 ++--
 usage.c  |  4 ++--
 8 files changed, 76 insertions(+), 57 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 80b458e2..b9346ec1 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,22 +4,36 @@
 
 ### BUG FIXES:
 
-- More path-cleaning in the file-list verification code to handle some rejected
-  args.
+- More path-cleaning improvements in the file-list validation code to avoid
+  rejecting of valid args.
 
-- Fixed a bug with the new file-list validation code when the last line of the
-  [`--files-from`](rsync.1#opt) list is not terminated by a newline.
+- A file-list validation fix for a [`--files-from`](rsync.1#opt) file that ends
+  without a line-terminating character.
 
 - Added a safety check that prevents the sender from removing destination files
-  when a local copy using [`--remove-source-files`](rsync.1#opt) has some
-  content that is shared between the sending & receiving hierarchies, including
-  the case where the source dir & destination dir are identical.
+  when a local copy using [`--remove-source-files`](rsync.1#opt) has some files
+  that are shared between the sending & receiving hierarchies, including the
+  case where the source dir & destination dir are identical.
 
 - Fixed a bug in the internal MD4 checksum code that could cause the digest
   to be sporadically incorrect (the openssl version was/is fine).
 
+- A minor tweak to rrsync added "copy-devices" to the list of known args, but
+  left it disabled by default.
+
+### ENHANCEMENTS:
+
+- Rename `--protect-args` to [`--secluded-args`](rsync.1#opt) to make it
+  clearer how it differs from the default backslash-escaped arg-protecting
+  behavior of rsync.  The old option names are still accepted.  The
+  environment-variable override did not change its name.
+
 ### PACKAGING RELATED:
 
+- The configure option `--with-protected-args` was renamed to
+  `--with-secluded-args`.  This option makes `--secluded-args` the default
+  rsync behavior instead of using backslash escaping for protecting args.
+
 - The mkgitver script now makes sure that a `.git` dir/file is in the top-level
   source dir before calling `git describe`. It also runs a basic check on the
   version value. This should avoid using an unrelated git description for
@@ -30,9 +44,6 @@
 - The configure script no longer sets the -pedantic-errors CFLAG (which it
   used to try to do only for gcc).
 
-- A minor tweak to rrsync added "copy-devices" to the list of known args, but
-  left it disabled by default.
-
 - The name_num_obj struct was modified to allow its dynamic name_num_item list
   to be initialized in a better way.
 
@@ -104,7 +115,7 @@
 ### BEHAVIOR CHANGES:
 
  - A new form of arg protection was added that works similarly to the older
-   [`--protect-args`](rsync.1#opt) (`-s`) option but in a way that avoids
+   `--protect-args` ([`-s`](rsync.1#opt)) option but in a way that avoids
breaking things like rrsync (the restricted rsync script): rsync now uses
backslash escaping for sending "shell-active" characters to the remote
shell. This includes spaces, so fetching a remote file via a simple quoted
@@ -208,7 +219,7 @@
 
  - Fixed a potential issue in git-set-file-times when handling commits with
high-bit characters in the description & when handling a description that
-   might mimick the git raw-commit deliniators.  (See the support dir.)
+   might mimic the git raw-commit deliniators.  (See the support dir.)
 

[SCM] The rsync repository. - branch master updated

2022-08-21 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5183c0d6 Add safety check for local --remove-source-files.
  from  706bff91 Mention the latest changes.

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


- Log -
commit 5183c0d6f0bf6786d5e9fa149d0d00f664533441
Author: Wayne Davison 
Date:   Sun Aug 21 09:56:33 2022 -0700

Add safety check for local --remove-source-files.

A local_server copy now includes the dev+ino info from the destination
file so that the sender can make sure that it is not going to delete
the destination file.  Fixes mistakes such as:

  rsync -aiv --remove-source-files dir .

---

Summary of changes:
 NEWS.md |  5 +
 generator.c |  2 +-
 hlink.c |  4 ++--
 io.c| 34 ++
 receiver.c  | 12 +---
 rsync.1.md  |  4 
 sender.c|  9 +
 7 files changed, 56 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index b5883ecf..80b458e2 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -10,6 +10,11 @@
 - Fixed a bug with the new file-list validation code when the last line of the
   [`--files-from`](rsync.1#opt) list is not terminated by a newline.
 
+- Added a safety check that prevents the sender from removing destination files
+  when a local copy using [`--remove-source-files`](rsync.1#opt) has some
+  content that is shared between the sending & receiving hierarchies, including
+  the case where the source dir & destination dir are identical.
+
 - Fixed a bug in the internal MD4 checksum code that could cause the digest
   to be sporadically incorrect (the openssl version was/is fine).
 
diff --git a/generator.c b/generator.c
index 278e2a6f..935c84f9 100644
--- a/generator.c
+++ b/generator.c
@@ -1819,7 +1819,7 @@ static void recv_generator(char *fname, struct 
file_struct *file, int ndx,
goto cleanup;
  return_with_success:
if (!dry_run)
-   send_msg_int(MSG_SUCCESS, ndx);
+   send_msg_success(fname, ndx);
goto cleanup;
}
 
diff --git a/hlink.c b/hlink.c
index 66810a3e..7602ec38 100644
--- a/hlink.c
+++ b/hlink.c
@@ -446,7 +446,7 @@ int hard_link_check(struct file_struct *file, int ndx, char 
*fname,
return -1;
 
if (remove_source_files == 1 && do_xfers)
-   send_msg_int(MSG_SUCCESS, ndx);
+   send_msg_success(fname, ndx);
 
return 1;
 }
@@ -519,7 +519,7 @@ void finish_hard_link(struct file_struct *file, const char 
*fname, int fin_ndx,
if (val < 0)
continue;
if (remove_source_files == 1 && do_xfers)
-   send_msg_int(MSG_SUCCESS, ndx);
+   send_msg_success(fname, ndx);
}
 
if (inc_recurse) {
diff --git a/io.c b/io.c
index 3f605d74..f3d802ec 100644
--- a/io.c
+++ b/io.c
@@ -41,6 +41,7 @@ extern int am_server;
 extern int am_sender;
 extern int am_receiver;
 extern int am_generator;
+extern int local_server;
 extern int msgs2stderr;
 extern int inc_recurse;
 extern int io_error;
@@ -84,6 +85,8 @@ int sock_f_out = -1;
 int64 total_data_read = 0;
 int64 total_data_written = 0;
 
+char num_dev_ino_buf[4 + 8 + 8];
+
 static struct {
xbuf in, out, msg;
int in_fd;
@@ -1064,6 +1067,24 @@ void send_msg_int(enum msgcode code, int num)
send_msg(code, numbuf, 4, -1);
 }
 
+void send_msg_success(const char *fname, int num)
+{
+   if (local_server) {
+   STRUCT_STAT st;
+
+   if (DEBUG_GTE(IO, 1))
+   rprintf(FINFO, "[%s] send_msg_success(%d)\n", 
who_am_i(), num);
+
+   if (stat(fname, ) < 0)
+   memset(, 0, sizeof (STRUCT_STAT));
+   SIVAL(num_dev_ino_buf, 0, num);
+   SIVAL64(num_dev_ino_buf, 4, st.st_dev);
+   SIVAL64(num_dev_ino_buf, 4+8, st.st_ino);
+   send_msg(MSG_SUCCESS, num_dev_ino_buf, sizeof num_dev_ino_buf, 
-1);
+   } else
+   send_msg_int(MSG_SUCCESS, num);
+}
+
 static void got_flist_entry_status(enum festatus status, int ndx)
 {
struct file_list *flist = flist_for_ndx(ndx, "got_flist_entry_status");
@@ -1078,8 +1099,12 @@ static void got_flist_entry_status(enum festatus status, 
int ndx)
 
switch (status) {
case FES_SUCCESS:
-   if (remove_source_files)
-   send_msg_int(MSG_SUCCESS, ndx);
+   if (remove_source_files) {
+   if (local_server)
+   send_msg(MSG_SUCCESS, num_dev_ino_buf, sizeof 
num_dev_ino_buf, -1);
+   else
+   send_msg_int(MSG_SUCCESS, ndx);
+   }
/* FALL THROUGH */

[SCM] The rsync repository. - branch master updated

2022-08-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  706bff91 Mention the latest changes.
  from  2c120403 Make sure that the configure.sh script is up-to-date in a 
release.

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


- Log -
commit 706bff9176ccf6976e27040eb5729ce34c0058eb
Author: Wayne Davison 
Date:   Sat Aug 20 08:28:48 2022 -0700

Mention the latest changes.

---

Summary of changes:
 NEWS.md| 14 ++
 packaging/cull-options |  1 +
 2 files changed, 15 insertions(+)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 2196c33c..b5883ecf 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -7,6 +7,9 @@
 - More path-cleaning in the file-list verification code to handle some rejected
   args.
 
+- Fixed a bug with the new file-list validation code when the last line of the
+  [`--files-from`](rsync.1#opt) list is not terminated by a newline.
+
 - Fixed a bug in the internal MD4 checksum code that could cause the digest
   to be sporadically incorrect (the openssl version was/is fine).
 
@@ -17,6 +20,17 @@
   version value. This should avoid using an unrelated git description for
   rsync's version.
 
+### DEVELOPER RELATED:
+
+- The configure script no longer sets the -pedantic-errors CFLAG (which it
+  used to try to do only for gcc).
+
+- A minor tweak to rrsync added "copy-devices" to the list of known args, but
+  left it disabled by default.
+
+- The name_num_obj struct was modified to allow its dynamic name_num_item list
+  to be initialized in a better way.
+
 --
 
 # NEWS for rsync 3.2.5 (14 Aug 2022)
diff --git a/packaging/cull-options b/packaging/cull-options
index 955c21f1..e71818cd 100755
--- a/packaging/cull-options
+++ b/packaging/cull-options
@@ -27,6 +27,7 @@ long_opts = { # These include some extra long-args that 
BackupPC uses:
 'recursive': 0,
 'stderr': 1,
 'times': 0,
+'copy-devices': -1,
 'write-devices': -1,
 }
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-19 Thread Rsync CVS commit messages
The branch, master has been updated
   via  2c120403 Make sure that the configure.sh script is up-to-date in a 
release.
   via  8adc2240 Mention `copy-devices`.
   via  84ad8352 Remove unneeded var.
  from  9a3449a3 Stop enabling -pedantic-errors.

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


- Log -
commit 2c1204032b15bd0c4c7ce54b65090867492557e2
Author: Wayne Davison 
Date:   Fri Aug 19 08:57:47 2022 -0700

Make sure that the configure.sh script is up-to-date in a release.

commit 8adc2240e0badaf8b66ea1d77314fe1bf162209a
Author: Wayne Davison 
Date:   Fri Aug 19 08:56:42 2022 -0700

Mention `copy-devices`.

commit 84ad83525b3336eeca76c34f078869e17feddabd
Author: Wayne Davison 
Date:   Fri Aug 19 08:55:51 2022 -0700

Remove unneeded var.

---

Summary of changes:
 packaging/pkglib.py | 2 +-
 packaging/release-rsync | 8 
 support/rrsync  | 1 +
 t_stub.c| 1 -
 util1.c | 1 -
 5 files changed, 6 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/pkglib.py b/packaging/pkglib.py
index 52f3d892..6f5557aa 100644
--- a/packaging/pkglib.py
+++ b/packaging/pkglib.py
@@ -32,7 +32,7 @@ def _tweak_opts(cmd, opts, **maybe_set_args):
 opts = opts.copy()
 _maybe_set(opts, **maybe_set_args)
 
-if type(cmd) == str:
+if isinstance(cmd, str):
 _maybe_set(opts, shell=True)
 
 want_raw = opts.pop('raw', False)
diff --git a/packaging/release-rsync b/packaging/release-rsync
index 5e54d06e..f37bd184 100755
--- a/packaging/release-rsync
+++ b/packaging/release-rsync
@@ -232,7 +232,7 @@ About to:
 cmd_chk(['packaging/year-tweak'])
 
 print(dash_line)
-cmd_run("git diff")
+cmd_run("git diff".split())
 
 srctar_name = f"{rsync_ver}.tar.gz"
 pattar_name = f"rsync-patches-{version}.tar.gz"
@@ -247,7 +247,7 @@ About to:
 
 About to:
 - git commit all changes
-- generate the manpages
+- run a full build, ensuring that the manpages & configure.sh are 
up-to-date
 - merge the {args.master_branch} branch into the 
patch/{args.master_branch}/* branches
 - update the files in the "patches" dir and OPTIONALLY (if you type 'y') to
   run patch-update with the --make option (which opens a shell on error)
@@ -258,9 +258,9 @@ About to:
 if s.returncode:
 die('Aborting')
 
-cmd_chk('make gen')
+cmd_chk('touch configure.ac && packaging/smart-make && make gen')
 
-print(f'Creating any missing patch branches.')
+print('Creating any missing patch branches.')
 s = cmd_run(f'packaging/branch-from-patch --branch={args.master_branch} 
--add-missing')
 if s.returncode:
 die('Aborting')
diff --git a/support/rrsync b/support/rrsync
index 629aa182..94c85f59 100755
--- a/support/rrsync
+++ b/support/rrsync
@@ -47,6 +47,7 @@ long_opts = {
   'compress-choice': 1,
   'compress-level': 1,
   'copy-dest': 2,
+  'copy-devices': -1,
   'copy-unsafe-links': 0,
   'daemon': -1,
   'debug': 1,
diff --git a/t_stub.c b/t_stub.c
index a9ce5848..085378a8 100644
--- a/t_stub.c
+++ b/t_stub.c
@@ -29,7 +29,6 @@ int protect_args = 0;
 int module_id = -1;
 int relative_paths = 0;
 int module_dirlen = 0;
-int preserve_mtimes = 0;
 int preserve_xattrs = 0;
 int preserve_perms = 0;
 int preserve_executability = 0;
diff --git a/util1.c b/util1.c
index 5f14723e..671f3c75 100644
--- a/util1.c
+++ b/util1.c
@@ -31,7 +31,6 @@ extern int do_fsync;
 extern int protect_args;
 extern int modify_window;
 extern int relative_paths;
-extern int preserve_mtimes;
 extern int preserve_xattrs;
 extern int omit_link_times;
 extern int preallocate_files;


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-18 Thread Rsync CVS commit messages
The branch, master has been updated
   via  9a3449a3 Stop enabling -pedantic-errors.
   via  3258534e Change name_num_obj struct to use a name_num_item pointer.
   via  b94bba40 Fix typos on manpage (#358)
   via  a182507b Fix issue when the files-from list isn't nl terminated.
   via  2895b65f Another mkgitver tweak & mention it in NEWS.
  from  def595c5 Remove useless comment.

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


- Log -
commit 9a3449a3980421f84ac55498ba565bc112b20d6c
Author: Wayne Davison 
Date:   Thu Aug 18 17:33:54 2022 -0700

Stop enabling -pedantic-errors.

commit 3258534e994549e07bc65e2ddf11636078f4a8d2
Author: Wayne Davison 
Date:   Thu Aug 18 17:33:11 2022 -0700

Change name_num_obj struct to use a name_num_item pointer.

commit b94bba40361acf1b7b9da41b02aa3d6b6e47943d
Author: Samuel Henrique 
Date:   Thu Aug 18 05:50:43 2022 +0100

Fix typos on manpage (#358)

commit a182507bef2d0cd92052b3c5ebaf1d98278e0dad
Author: Wayne Davison 
Date:   Wed Aug 17 16:57:39 2022 -0700

Fix issue when the files-from list isn't nl terminated.

commit 2895b65f53f3a5b54026a1761d7bb4e779bebf3b
Author: Wayne Davison 
Date:   Tue Aug 16 08:38:58 2022 -0700

Another mkgitver tweak & mention it in NEWS.

---

Summary of changes:
 NEWS.md  |  9 -
 checksum.c   | 24 +---
 compat.c | 20 +++-
 configure.ac | 15 ---
 exclude.c|  2 ++
 mkgitver | 13 +
 rsync.1.md   |  4 ++--
 rsync.h  |  2 +-
 8 files changed, 42 insertions(+), 47 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 8b9624a2..2196c33c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -8,7 +8,14 @@
   args.
 
 - Fixed a bug in the internal MD4 checksum code that could cause the digest
-  to be incorrect part of the time (the openssl version was/is fine).
+  to be sporadically incorrect (the openssl version was/is fine).
+
+### PACKAGING RELATED:
+
+- The mkgitver script now makes sure that a `.git` dir/file is in the top-level
+  source dir before calling `git describe`. It also runs a basic check on the
+  version value. This should avoid using an unrelated git description for
+  rsync's version.
 
 --
 
diff --git a/checksum.c b/checksum.c
index 758b489d..7eb50f17 100644
--- a/checksum.c
+++ b/checksum.c
@@ -42,21 +42,23 @@ extern int protocol_version;
 extern int proper_seed_order;
 extern const char *checksum_choice;
 
-struct name_num_obj valid_checksums = {
-   "checksum", NULL, NULL, 0, 0, {
+struct name_num_item valid_checksums_items[] = {
 #ifdef SUPPORT_XXH3
-   { CSUM_XXH3_128, "xxh128", NULL },
-   { CSUM_XXH3_64, "xxh3", NULL },
+   { CSUM_XXH3_128, "xxh128", NULL },
+   { CSUM_XXH3_64, "xxh3", NULL },
 #endif
 #ifdef SUPPORT_XXHASH
-   { CSUM_XXH64, "xxh64", NULL },
-   { CSUM_XXH64, "xxhash", NULL },
+   { CSUM_XXH64, "xxh64", NULL },
+   { CSUM_XXH64, "xxhash", NULL },
 #endif
-   { CSUM_MD5, "md5", NULL },
-   { CSUM_MD4, "md4", NULL },
-   { CSUM_NONE, "none", NULL },
-   { 0, NULL, NULL }
-   }
+   { CSUM_MD5, "md5", NULL },
+   { CSUM_MD4, "md4", NULL },
+   { CSUM_NONE, "none", NULL },
+   { 0, NULL, NULL }
+};
+
+struct name_num_obj valid_checksums = {
+   "checksum", NULL, NULL, 0, 0, valid_checksums_items
 };
 
 int xfersum_type = 0; /* used for the file transfer checksums */
diff --git a/compat.c b/compat.c
index b46eb199..622910eb 100644
--- a/compat.c
+++ b/compat.c
@@ -91,19 +91,21 @@ int filesfrom_convert = 0;
 
 #define MAX_NSTR_STRLEN 256
 
-struct name_num_obj valid_compressions = {
-   "compress", NULL, NULL, 0, 0, {
+struct name_num_item valid_compressions_items[] = {
 #ifdef SUPPORT_ZSTD
-   { CPRES_ZSTD, "zstd", NULL },
+   { CPRES_ZSTD, "zstd", NULL },
 #endif
 #ifdef SUPPORT_LZ4
-   { CPRES_LZ4, "lz4", NULL },
+   { CPRES_LZ4, "lz4", NULL },
 #endif
-   { CPRES_ZLIBX, "zlibx", NULL },
-   { CPRES_ZLIB, "zlib", NULL },
-   { CPRES_NONE, "none", NULL },
-   { 0, NULL, NULL }
-   }
+   { CPRES_ZLIBX, "zlibx", NULL },
+   { CPRES_ZLIB, "zlib", NULL },
+   { CPRES_NONE, "none", NULL },
+   { 0, NULL, NULL }
+};
+
+struct name_num_obj valid_compressions = {
+   "compress", NULL, NULL, 0, 0, valid_compressions_items
 };
 
 #define CF_INC_RECURSE  (1<<0)
diff --git a/configure.ac b/configure.ac
index d185b2d3..cfc0117f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1071,21 +1071,6 @@ elif test x"$ac_cv_header_popt_h" != x"yes"; then
 with_included_popt=yes
 fi
 
-if test x"$GCC" = x"yes"; then
-if test 

[SCM] The rsync repository. - branch master updated

2022-08-15 Thread Rsync CVS commit messages
The branch, master has been updated
   via  def595c5 Remove useless comment.
   via  68b1ce1d Only run git describe if .git exists in the $srcdir.
   via  5a4116e5 Start 3.2.6dev going.
  from  024bf1d8 Do more path cleaning in add_implied_include(); make 
u.slash_cnt more accurate.

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


- Log -
commit def595c55960504328b5bfa45c08c42a90382076
Author: Wayne Davison 
Date:   Mon Aug 15 21:56:37 2022 -0700

Remove useless comment.

commit 68b1ce1dc3605a8b79594ba5e8e29577ea6dc42c
Author: Wayne Davison 
Date:   Mon Aug 15 21:52:13 2022 -0700

Only run git describe if .git exists in the $srcdir.

commit 5a4116e553551ed314eea4bc85db8f54fd5fd03b
Author: Wayne Davison 
Date:   Mon Aug 15 19:01:56 2022 -0700

Start 3.2.6dev going.

---

Summary of changes:
 NEWS.md   | 15 +++
 exclude.c |  2 +-
 mkgitver  |  5 -
 version.h |  2 +-
 4 files changed, 21 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index e32600c5..8b9624a2 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,17 @@
+# NEWS for rsync 3.2.6 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+- More path-cleaning in the file-list verification code to handle some rejected
+  args.
+
+- Fixed a bug in the internal MD4 checksum code that could cause the digest
+  to be incorrect part of the time (the openssl version was/is fine).
+
+--
+
 # NEWS for rsync 3.2.5 (14 Aug 2022)
 
 ## Changes in this version:
@@ -4541,6 +4555,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
+| ?? Dec 2022  | 3.2.6  |  | 31  |
 | 14 Aug 2022  | 3.2.5  |  | 31  |
 | 15 Apr 2022  | 3.2.4  |  | 31  |
 | 06 Aug 2020  | 3.2.3  |  | 31  |
diff --git a/exclude.c b/exclude.c
index 296d69df..730d04ef 100644
--- a/exclude.c
+++ b/exclude.c
@@ -372,7 +372,7 @@ void free_implied_include_partial_string()
 void add_implied_include(const char *arg, int skip_daemon_module)
 {
int arg_len, saw_wild = 0, saw_live_open_brkt = 0, backslash_cnt = 0;
-   int slash_cnt = 0; /* We know we're adding a leading slash. */
+   int slash_cnt = 0;
const char *cp;
char *p;
if (trust_sender_args)
diff --git a/mkgitver b/mkgitver
index 49aa150b..43156c65 100755
--- a/mkgitver
+++ b/mkgitver
@@ -1,7 +1,10 @@
 #!/bin/sh
 
 srcdir=`dirname $0`
-gitver=`git describe --abbrev=8 2>/dev/null`
+
+if [ -e "$srcdir/.git" ]; then
+gitver=`git describe --abbrev=8 2>/dev/null`
+fi
 
 if [ ! -f git-version.h ]; then
 touch git-version.h
diff --git a/version.h b/version.h
index 82aa78f2..fac4fa4b 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.5"
+#define RSYNC_VERSION "3.2.6dev"
 #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


[SCM] The rsync repository. - branch master updated

2022-08-15 Thread Rsync CVS commit messages
The branch, master has been updated
   via  024bf1d8 Do more path cleaning in add_implied_include(); make 
u.slash_cnt more accurate.
   via  db4f919e Allow ~/remote/./path with -R if the path has /./ in it.
   via  6ac2c7b6 We must use the CSUM_CHUNK size in the non-openssl MD4 
code.
   via  0e10163a Fix another dot-dir implied arg issue.
  from  5fcf20ee Preparing for release of 3.2.5

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


- Log -
commit 024bf1d83114d986b1644628f2bc907ccf4e0ef2
Author: Wayne Davison 
Date:   Mon Aug 15 18:54:07 2022 -0700

Do more path cleaning in add_implied_include(); make u.slash_cnt more 
accurate.

commit db4f919ebe3dd99a8986d0dc4892ddcda795facf
Author: Wayne Davison 
Date:   Mon Aug 15 18:18:11 2022 -0700

Allow ~/remote/./path with -R if the path has /./ in it.

commit 6ac2c7b682a427fc80d142e80e73858346a2d024
Author: Wayne Davison 
Date:   Sun Aug 14 14:03:02 2022 -0700

We must use the CSUM_CHUNK size in the non-openssl MD4 code.

commit 0e10163a9d984a8858f7d83b5c7b46889536aa96
Author: Wayne Davison 
Date:   Sun Aug 14 12:27:25 2022 -0700

Fix another dot-dir implied arg issue.

---

Summary of changes:
 checksum.c |   4 +--
 exclude.c  | 116 +++--
 options.c  |   4 ++-
 3 files changed, 80 insertions(+), 44 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index fb8c0a09..758b489d 100644
--- a/checksum.c
+++ b/checksum.c
@@ -418,8 +418,8 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 
mdfour_begin();
 
-   for (i = 0; i + CHUNK_SIZE <= len; i += CHUNK_SIZE)
-   mdfour_update(, (uchar *)map_ptr(buf, i, CHUNK_SIZE), 
CHUNK_SIZE);
+   for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
+   mdfour_update(, (uchar *)map_ptr(buf, i, CSUM_CHUNK), 
CSUM_CHUNK);
 
/* Prior to version 27 an incorrect MD4 checksum was computed
 * by failing to call mdfour_tail() for block sizes that
diff --git a/exclude.c b/exclude.c
index e5774420..296d69df 100644
--- a/exclude.c
+++ b/exclude.c
@@ -371,9 +371,8 @@ void free_implied_include_partial_string()
  * that the receiver uses to validate the file list from the sender. */
 void add_implied_include(const char *arg, int skip_daemon_module)
 {
-   filter_rule *rule;
int arg_len, saw_wild = 0, saw_live_open_brkt = 0, backslash_cnt = 0;
-   int slash_cnt = 1; /* We know we're adding a leading slash. */
+   int slash_cnt = 0; /* We know we're adding a leading slash. */
const char *cp;
char *p;
if (trust_sender_args)
@@ -399,11 +398,12 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
arg = cp + 3;
} else if ((cp = strrchr(arg, '/')) != NULL) {
arg = cp + 1;
-   if (*arg == '.' && arg[1] == '\0')
-   arg++;
}
+   if (*arg == '.' && arg[1] == '\0')
+   arg++;
arg_len = strlen(arg);
if (arg_len) {
+   char *new_pat;
if (strpbrk(arg, "*[?")) {
/* We need to add room to escape backslashes if 
wildcard chars are present. */
for (cp = arg; (cp = strchr(cp, '\\')) != NULL; cp++)
@@ -411,16 +411,9 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
saw_wild = 1;
}
arg_len++; /* Leave room for the prefixed slash */
-   rule = new0(filter_rule);
-   if (!implied_filter_list.head)
-   implied_filter_list.head = implied_filter_list.tail = 
rule;
-   else {
-   rule->next = implied_filter_list.head;
-   implied_filter_list.head = rule;
-   }
-   rule->rflags = FILTRULE_INCLUDE + (saw_wild ? FILTRULE_WILD : 
0);
-   p = rule->pattern = new_array(char, arg_len + 1);
+   p = new_pat = new_array(char, arg_len + 1);
*p++ = '/';
+   slash_cnt++;
for (cp = arg; *cp; ) {
switch (*cp) {
  case '\\':
@@ -436,15 +429,70 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
break;
  case '/':
if (p[-1] == '/') { /* This is safe because of 
the initial slash. */
+   if (*++cp == '\0') {
+   slash_cnt--;
+   p--;
+   }
+   

[SCM] The rsync repository. - annotated tag v3.2.5 created

2022-08-14 Thread Rsync CVS commit messages
The annotated tag, v3.2.5 has been created
at  001cc050f46d05cb0487359ed5101018da14a5a3 (tag)
   tagging  0e10163a9d984a8858f7d83b5c7b46889536aa96 (commit)
  replaces  v3.2.5pre2
 tagged by  Wayne Davison
on  Sun Aug 14 12:39:48 2022 -0700

- Log -
Version v3.2.5.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYvlPhBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxSEgAJ4pWFtRwHxvdtR3dBZARKE110+3dgCguzzt
JaSOIDtQuy3a8YeWhJfWOpM=
=HZtD
-END PGP SIGNATURE-

Wayne Davison (14):
  Fix handling of daemon module names in file-list verification; convert 
some while loops to for loops.
  Escape leading tilde char when "~" or with -R.
  Add `--trust-sender` option.
  A couple manpage tweaks.
  Be a little paranoid.
  Fix handling of a character class with an escaped closing bracket.
  Add packaging note.
  One more doc tweak.
  Make a `--trust-sender` a bit clearer.
  Remove some trailing whitespace.
  Ensure a dynamically linked xxhash lib is >= 0.8 for XX3.
  Update the NEWS.
  Preparing for release of 3.2.5
  Fix another dot-dir implied arg issue.

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - annotated tag v3.2.5 deleted

2022-08-14 Thread Rsync CVS commit messages
The annotated tag, v3.2.5 has been deleted
   was  72c414a5558485b3619f7690ca85dd86a5605185

---
tag v3.2.5

Version 3.2.5.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYvkwSBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxfmCAJ9eGXfo7julAh5QrtcXn/VRJd1EqwCfQRmD
kRkY3fbznveEjFEi8hAwxRw=
=WtoK
-END PGP SIGNATURE-
5fcf20ee9d8abf7aae8578354f82c6f500822e06 Preparing for release of 3.2.5
---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - annotated tag v3.2.5 created

2022-08-14 Thread Rsync CVS commit messages
The annotated tag, v3.2.5 has been created
at  72c414a5558485b3619f7690ca85dd86a5605185 (tag)
   tagging  5fcf20ee9d8abf7aae8578354f82c6f500822e06 (commit)
  replaces  v3.2.5pre2
 tagged by  Wayne Davison
on  Sun Aug 14 10:26:32 2022 -0700

- Log -
Version 3.2.5.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYvkwSBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxfmCAJ9eGXfo7julAh5QrtcXn/VRJd1EqwCfQRmD
kRkY3fbznveEjFEi8hAwxRw=
=WtoK
-END PGP SIGNATURE-

Wayne Davison (13):
  Fix handling of daemon module names in file-list verification; convert 
some while loops to for loops.
  Escape leading tilde char when "~" or with -R.
  Add `--trust-sender` option.
  A couple manpage tweaks.
  Be a little paranoid.
  Fix handling of a character class with an escaped closing bracket.
  Add packaging note.
  One more doc tweak.
  Make a `--trust-sender` a bit clearer.
  Remove some trailing whitespace.
  Ensure a dynamically linked xxhash lib is >= 0.8 for XX3.
  Update the NEWS.
  Preparing for release of 3.2.5

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-14 Thread Rsync CVS commit messages
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 
Date:   Sun Aug 14 10:15:08 2022 -0700

Preparing for release of 3.2.5

commit fc72d2b7716ef6f42b3cdb1d7b7d89d096e13140
Author: Wayne Davison 
Date:   Sun Aug 14 10:12:06 2022 -0700

Update the NEWS.

commit b7ea3fcd1999bb74a0210362e4b7f3ba80fe0069
Author: Wayne Davison 
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(_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];
+   }
+

[SCM] The rsync repository. - branch master updated

2022-08-13 Thread Rsync CVS commit messages
The branch, master has been updated
   via  9cb7529b Remove some trailing whitespace.
  from  55ad8757 Make a `--trust-sender` a bit clearer.

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


- Log -
commit 9cb7529ba60cd59519489ad0fc7fbb69ced6411f
Author: Wayne Davison 
Date:   Sat Aug 13 10:53:02 2022 -0700

Remove some trailing whitespace.

---

Summary of changes:
 batch.c   |   2 +-
 byteorder.h   |   1 -
 compat.c  |   4 +-
 lib/sysacls.c | 176 +-
 lib/sysacls.h |   2 +-
 rsync.c   |   2 +-
 6 files changed, 93 insertions(+), 94 deletions(-)


Changeset truncated at 500 lines:

diff --git a/batch.c b/batch.c
index a9711c56..b95033f0 100644
--- a/batch.c
+++ b/batch.c
@@ -194,7 +194,7 @@ static int write_opt(const char *opt, const char *arg)
 {
int len = strlen(opt);
int err = write(batch_sh_fd, " ", 1) != 1;
-   err = write(batch_sh_fd, opt, len) != len ? 1 : 0; 
+   err = write(batch_sh_fd, opt, len) != len ? 1 : 0;
if (arg) {
err |= write(batch_sh_fd, "=", 1) != 1;
err |= write_arg(arg);
diff --git a/byteorder.h b/byteorder.h
index 525eaba0..7c5abe66 100644
--- a/byteorder.h
+++ b/byteorder.h
@@ -129,4 +129,3 @@ SIVAL(char *buf, int pos, uint32 val)
 {
SIVALu((uchar*)buf, pos, val);
 }
-
diff --git a/compat.c b/compat.c
index b8967969..dec363a6 100644
--- a/compat.c
+++ b/compat.c
@@ -400,7 +400,7 @@ static const char *getenv_nstr(int ntype)
const char *env_str = getenv(ntype == NSTR_COMPRESS ? 
"RSYNC_COMPRESS_LIST" : "RSYNC_CHECKSUM_LIST");
 
/* When writing a batch file, we always negotiate an old-style choice. 
*/
-   if (write_batch) 
+   if (write_batch)
env_str = ntype == NSTR_COMPRESS ? "zlib" : protocol_version >= 
30 ? "md5" : "md4";
 
if (am_server && env_str) {
@@ -433,7 +433,7 @@ void validate_choice_vs_env(int ntype, int num1, int num2)
nno->saw[CSUM_MD4_ARCHAIC] = nno->saw[CSUM_MD4_BUSTED] = 
nno->saw[CSUM_MD4_OLD] = nno->saw[CSUM_MD4];
 
if (!nno->saw[num1] || (num2 >= 0 && !nno->saw[num2])) {
-   rprintf(FERROR, "Your --%s-choice value (%s) was refused by the 
server.\n", 
+   rprintf(FERROR, "Your --%s-choice value (%s) was refused by the 
server.\n",
ntype == NSTR_COMPRESS ? "compress" : "checksum",
ntype == NSTR_COMPRESS ? compress_choice : 
checksum_choice);
exit_cleanup(RERR_UNSUPPORTED);
diff --git a/lib/sysacls.c b/lib/sysacls.c
index a9c3f1bd..74a99478 100644
--- a/lib/sysacls.c
+++ b/lib/sysacls.c
@@ -175,7 +175,7 @@ int sys_acl_delete_def_file(const char *name)
return acl_delete_def_file(name);
 }
 
-int sys_acl_free_acl(SMB_ACL_T the_acl) 
+int sys_acl_free_acl(SMB_ACL_T the_acl)
 {
return acl_free(the_acl);
 }
@@ -185,7 +185,7 @@ int sys_acl_free_acl(SMB_ACL_T the_acl)
  * The interface to DEC/Compaq Tru64 UNIX ACLs
  * is based on Draft 13 of the POSIX spec which is
  * slightly different from the Draft 16 interface.
- * 
+ *
  * Also, some of the permset manipulation functions
  * such as acl_clear_perm() and acl_add_perm() appear
  * to be broken on Tru64 so we have to manipulate
@@ -310,7 +310,7 @@ int sys_acl_delete_def_file(const char *name)
return acl_delete_def_file((char *)name);
 }
 
-int sys_acl_free_acl(SMB_ACL_T the_acl) 
+int sys_acl_free_acl(SMB_ACL_T the_acl)
 {
return acl_free(the_acl);
 }
@@ -457,7 +457,7 @@ SMB_ACL_T sys_acl_get_file(const char *path_p, 
SMB_ACL_TYPE_T type)
break;
}
ndefault = count - naccess;
-   
+
/*
 * if the caller wants the default ACL we have to copy
 * the entries down to the start of the acl[] buffer
@@ -517,7 +517,7 @@ SMB_ACL_T sys_acl_get_fd(int fd)
if (acl_d->acl[naccess].a_type & ACL_DEFAULT)
break;
}
-   
+
acl_d->count = naccess;
 
return acl_d;
@@ -532,7 +532,7 @@ int sys_acl_get_info(SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T 
*tag_type_p, uint32 *b
 
if (*tag_type_p == SMB_ACL_USER || *tag_type_p == SMB_ACL_GROUP)
*u_g_id_p = entry->a_id;
-   
+
return 0;
 }
 
@@ -633,7 +633,7 @@ static int acl_sort(SMB_ACL_T acl_d)
}
return 0;
 }
- 
+
 int sys_acl_valid(SMB_ACL_T acl_d)
 {
return acl_sort(acl_d);
@@ -755,11 +755,11 @@ int sys_acl_delete_def_file(const char *path)
ret = acl(path, SETACL, acl_d->count, acl_d->acl);
 
sys_acl_free_acl(acl_d);
-   
+
return ret;
 }
 
-int sys_acl_free_acl(SMB_ACL_T acl_d) 
+int sys_acl_free_acl(SMB_ACL_T acl_d)
 {
SAFE_FREE(acl_d);
return 0;
@@ -895,10 +895,10 @@ SMB_ACL_T 

[SCM] The rsync repository. - branch master updated

2022-08-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  55ad8757 Make a `--trust-sender` a bit clearer.
   via  3e4b0117 One more doc tweak.
  from  2f1d1d5c Add packaging note.

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


- Log -
commit 55ad8757ec32f9aa202305ea6e0d72bd55d66efd
Author: Wayne Davison 
Date:   Wed Aug 10 16:25:37 2022 -0700

Make a `--trust-sender` a bit clearer.

commit 3e4b01173ab2c6f8014a027bd69f1443b20b3a68
Author: Wayne Davison 
Date:   Wed Aug 10 08:47:11 2022 -0700

One more doc tweak.

---

Summary of changes:
 rsync.1.md | 25 +++--
 1 file changed, 15 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync.1.md b/rsync.1.md
index 627c4290..f29495f2 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -2414,17 +2414,19 @@ expand it.
 
 0.  `--trust-sender`
 
-Disable the extra validation of the file list from a remote sender (this
-safety feature was added in 3.2.5).  This should only be done if you trust
-the sender to not try to do something malicious, which should be the case
-if they're running a stock rsync.
+This option disables two extra validation checks that a local client
+performs on the file list generated by a remote sender.  This option should
+only be used if you trust the sender to not put something malicious in the
+file list (something that could possibly be done via a modified rsync, a
+modified shell, or some other similar manipulation).
 
-Normally when pulling files from a remote rsync, the client runs 2 extra
-validation checks:
+Normally, the rsync client (as of version 3.2.5) runs two extra validation
+checks when pulling files from a remote rsync:
 
-- Verify that additional arg items didn't get added at the top of the
+- It verifies that additional arg items didn't get added at the top of the
   transfer.
-- Verify that none of the items in the file list should have been excluded.
+- It verifies that none of the items in the file list are names that should
+  have been excluded (if filter rules were specified).
 
 Note that various options can turn off one or both of these checks if the
 option interferes with the validation.  For instance:
@@ -2440,8 +2442,11 @@ expand it.
 
 This option may help an under-powered client server if the extra pattern
 matching is slowing things down on a huge transfer.  It can also be used to
-work around a currently-unknown bug in the verification logic, possibly
-after using the [`--list-only`](#opt) option to approve the file list.
+work around a currently-unknown bug in the verification logic for a 
transfer
+from a trusted sender.
+
+When using this option it is a good idea to specify a dedicated destination
+directory, as discussed in the [MULTI-HOST SECURITY](#) section.
 
 0.  `--copy-as=USER[:GROUP]`
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-10 Thread Rsync CVS commit messages
The branch, master has been updated
   via  2f1d1d5c Add packaging note.
  from  4c0a4067 Fix handling of a character class with an escaped closing 
bracket.

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


- Log -
commit 2f1d1d5cac1d8225c855fb38bce7da7aa4652f3b
Author: Wayne Davison 
Date:   Wed Aug 10 08:42:22 2022 -0700

Add packaging note.

---

Summary of changes:
 NEWS.md | 4 
 1 file changed, 4 insertions(+)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 5394b1a9..0610dfba 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -36,6 +36,10 @@
 
 ### PACKAGING RELATED:
 
+- A note to those wanting to patch older rsync versions: the changes in this
+  release requires the quoted argument change from 3.2.4. Then, you'll want
+  every single code change from 3.2.5 since there is no fluff in this release.
+
 - The build date that goes into the manpages is now based on the developer's
   release date, not on the build's local-timezone interpretation of the date.
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-09 Thread Rsync CVS commit messages
The branch, master has been updated
   via  4c0a4067 Fix handling of a character class with an escaped closing 
bracket.
   via  85501428 Be a little paranoid.
   via  97f40754 A couple manpage tweaks.
  from  cff8f044 Add `--trust-sender` option.

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


- Log -
commit 4c0a4067df2516ce50e12a7d3ae572275fa9fc0b
Author: Wayne Davison 
Date:   Tue Aug 9 17:51:00 2022 -0700

Fix handling of a character class with an escaped closing bracket.

commit 8550142804430afcf46f84fcd0c6dfe0a9db1d76
Author: Wayne Davison 
Date:   Tue Aug 9 17:33:45 2022 -0700

Be a little paranoid.

commit 97f40754babb503140e1516b759c501ea8fb22b4
Author: Wayne Davison 
Date:   Tue Aug 9 17:26:23 2022 -0700

A couple manpage tweaks.

---

Summary of changes:
 exclude.c  | 12 
 rsync.1.md | 11 +--
 2 files changed, 13 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index da25661b..e5774420 100644
--- a/exclude.c
+++ b/exclude.c
@@ -364,6 +364,7 @@ void free_implied_include_partial_string()
free(partial_string_buf);
partial_string_buf = NULL;
}
+   partial_string_len = 0; /* paranoia */
 }
 
 /* Each arg the client sends to the remote sender turns into an implied include
@@ -379,8 +380,10 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
return;
if (partial_string_len) {
arg_len = strlen(arg);
-   if (partial_string_len + arg_len >= MAXPATHLEN)
+   if (partial_string_len + arg_len >= MAXPATHLEN) {
+   partial_string_len = 0;
return; /* Should be impossible... */
+   }
memcpy(partial_string_buf + partial_string_len, arg, arg_len + 
1);
partial_string_len = 0;
arg = partial_string_buf;
@@ -421,9 +424,10 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
for (cp = arg; *cp; ) {
switch (*cp) {
  case '\\':
-   if (cp[1] == ']')
-   cp++; /* A \] in a filter might cause a 
problem w/o wildcards. */
-   else if (!strchr("*[?", cp[1])) {
+   if (cp[1] == ']') {
+   if (!saw_wild)
+   cp++; /* A \] in a non-wild 
filter causes a problem, so drop the \ . */
+   } else if (!strchr("*[?", cp[1])) {
backslash_cnt++;
if (saw_wild)
*p++ = '\\';
diff --git a/rsync.1.md b/rsync.1.md
index 72675594..627c4290 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -2439,10 +2439,9 @@ expand it.
   contents will have been verified when it was created.
 
 This option may help an under-powered client server if the extra pattern
-matching is slowing things down on a huge transfer.  It can also be used
-to work around a bug in the verification logic, possibly after using the
-[`--list-only`](#opt) option combined with [`--trust-sender`](#opt) to look
-over the full file list.
+matching is slowing things down on a huge transfer.  It can also be used to
+work around a currently-unknown bug in the verification logic, possibly
+after using the [`--list-only`](#opt) option to approve the file list.
 
 0.  `--copy-as=USER[:GROUP]`
 
@@ -4047,8 +4046,8 @@ Here are some examples of exclude/include matching:
 - Option `-f'- foo/*/bar'` would exclude any file/dir named bar which is at two
   levels below a directory named foo (if foo is in the transfer)
 - Option `-f'- /foo/**/bar'` would exclude any file/dir named bar that was two
-  or more levels below the top-level directory named foo (exclude /foo/bar in a
-  separate rule, if desired)
+  or more levels below a top-level directory named foo (note that /foo/bar is
+  **not** excluded by this)
 - Options `-f'+ */' -f'+ *.c' -f'- *'` would include all directories and .c
   source files but nothing else
 - Options `-f'+ foo/' -f'+ foo/bar.c' -f'- *'` would include only the foo


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-09 Thread Rsync CVS commit messages
The branch, master has been updated
   via  cff8f044 Add `--trust-sender` option.
   via  db8034f1 Escape leading tilde char when "~" or with -R.
   via  c86763dc Fix handling of daemon module names in file-list 
verification; convert some while loops to for loops.
  from  5ce575b1 Preparing for release of 3.2.5pre2

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


- Log -
commit cff8f044776c5143a5b270969d4bb0f1fea8b017
Author: Wayne Davison 
Date:   Tue Aug 9 11:45:56 2022 -0700

Add `--trust-sender` option.

commit db8034f12ecda624ce9f2adf3aa47ef40a12626c
Author: Wayne Davison 
Date:   Tue Aug 9 11:42:14 2022 -0700

Escape leading tilde char when "~" or with -R.

commit c86763dc382fc6ed6c4c4c461243f51acfc3f226
Author: Wayne Davison 
Date:   Tue Aug 9 11:37:37 2022 -0700

Fix handling of daemon module names in file-list verification; convert some 
while loops to for loops.

---

Summary of changes:
 NEWS.md|  8 +++
 exclude.c  | 34 ---
 io.c   |  4 ++--
 main.c |  6 ++---
 options.c  | 16 +
 rsync.1.md | 78 --
 6 files changed, 99 insertions(+), 47 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 0c212da9..5394b1a9 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -17,6 +17,9 @@
 
 ### BUG FIXES:
 
+- Fixed the handling of filenames specified with backslash-quoted wildcards
+  when the default remote-arg-escaping is enabled.
+
 - Fixed the configure check for signed char that was causing a host that
   defaults to unsigned characters to generate bogus rolling checksums. This
   made rsync send mostly literal data for a copy instead of finding matching
@@ -26,6 +29,11 @@
 - Lots of manpage improvements, including an attempt to better describe how
   include/exclude filters work.
 
+### ENHANCEMENTS:
+
+- The [`--trust-sender`](rsync.1#opt) option was added as a way to bypass the
+  extra file-list safety checking (should that be required).
+
 ### PACKAGING RELATED:
 
 - The build date that goes into the manpages is now based on the developer's
diff --git a/exclude.c b/exclude.c
index ba5ca5a3..da25661b 100644
--- a/exclude.c
+++ b/exclude.c
@@ -33,18 +33,15 @@ extern int recurse;
 extern int local_server;
 extern int prune_empty_dirs;
 extern int ignore_perishable;
-extern int old_style_args;
 extern int relative_paths;
 extern int delete_mode;
 extern int delete_excluded;
 extern int cvs_exclude;
 extern int sanitize_paths;
 extern int protocol_version;
-extern int read_batch;
-extern int list_only;
+extern int trust_sender_args;
 extern int module_id;
 
-extern char *filesfrom_host;
 extern char curr_dir[MAXPATHLEN];
 extern unsigned int curr_dir_len;
 extern unsigned int module_dirlen;
@@ -55,6 +52,7 @@ filter_rule_list daemon_filter_list = { .debug_type = " 
[daemon]" };
 filter_rule_list implied_filter_list = { .debug_type = " [implied]" };
 
 int saw_xattr_filter = 0;
+int trust_sender_args = 0;
 int trust_sender_filter = 0;
 
 /* Need room enough for ":MODS " prefix plus some room to grow. */
@@ -316,13 +314,11 @@ static void maybe_add_literal_brackets_rule(filter_rule 
const *based_on, int arg
if (arg_len < 0)
arg_len = strlen(arg);
 
-   cp = arg;
-   while (*cp) {
+   for (cp = arg; *cp; cp++) {
if (*cp == '\\' && cp[1]) {
cp++;
} else if (*cp == '[')
cnt++;
-   cp++;
}
if (!cnt)
return;
@@ -331,8 +327,7 @@ static void maybe_add_literal_brackets_rule(filter_rule 
const *based_on, int arg
rule->rflags = based_on->rflags;
rule->u.slash_cnt = based_on->u.slash_cnt;
p = rule->pattern = new_array(char, arg_len + cnt + 1);
-   cp = arg;
-   while (*cp) {
+   for (cp = arg; *cp; ) {
if (*cp == '\\' && cp[1]) {
*p++ = *cp++;
} else if (*cp == '[')
@@ -373,14 +368,14 @@ void free_implied_include_partial_string()
 
 /* Each arg the client sends to the remote sender turns into an implied include
  * that the receiver uses to validate the file list from the sender. */
-void add_implied_include(const char *arg)
+void add_implied_include(const char *arg, int skip_daemon_module)
 {
filter_rule *rule;
int arg_len, saw_wild = 0, saw_live_open_brkt = 0, backslash_cnt = 0;
int slash_cnt = 1; /* We know we're adding a leading slash. */
const char *cp;
char *p;
-   if (am_server || old_style_args || list_only || read_batch || 
filesfrom_host != NULL)
+   if (trust_sender_args)
return;
if (partial_string_len) {
arg_len = strlen(arg);
@@ -390,6 +385,12 @@ void 

[SCM] The rsync repository. - branch master updated

2022-08-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  5ce575b1 Preparing for release of 3.2.5pre2
  from  fabef23b Fix --relative when copying an absolute path.

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


- Log -
commit 5ce575b15726c653312b473bd770c3e7d74d3449
Author: Wayne Davison 
Date:   Mon Aug 8 22:50:31 2022 -0700

Preparing for release of 3.2.5pre2

---

Summary of changes:
 packaging/lsb/rsync.spec | 8 
 version.h| 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 95adb8f0..31225a5c 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -1,8 +1,8 @@
 Summary: A fast, versatile, remote (and local) file-copying tool
 Name: rsync
 Version: 3.2.5
-%define fullversion %{version}pre1
-Release: 0.1.pre1
+%define fullversion %{version}pre2
+Release: 0.1.pre2
 %define srcdir src-previews
 Group: Applications/Internet
 License: GPL
@@ -79,8 +79,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/rsync-ssl/certs
 
 %changelog
-* Mon Aug 01 2022 Wayne Davison 
-Released 3.2.5pre1.
+* Mon Aug 08 2022 Wayne Davison 
+Released 3.2.5pre2.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/version.h b/version.h
index 61820bba..d793678d 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.5pre1"
+#define RSYNC_VERSION "3.2.5pre2"
 #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


[SCM] The rsync repository. - annotated tag v3.2.5pre2 created

2022-08-08 Thread Rsync CVS commit messages
The annotated tag, v3.2.5pre2 has been created
at  1bb1c21c8ffce4ea922972ce4060eb72c6a4481b (tag)
   tagging  5ce575b15726c653312b473bd770c3e7d74d3449 (commit)
  replaces  v3.2.5pre1
 tagged by  Wayne Davison
on  Mon Aug 8 22:50:51 2022 -0700

- Log -
Version 3.2.5pre2.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYvH1uxEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxRyHAKDtC5j+9Qj2r/GnsRvVxn4STvB1PACgnYK0
M6VOw75VVEJUc2WJqF6lwtU=
=tGYc
-END PGP SIGNATURE-

Jakub Wilk (1):
  Fix typos in NEWS (#339)

Wayne Davison (11):
  Some md-convert doc tweaks.
  Make sure that --read-batch doesn't try to check args.
  Fix zlib bug with a large gzip header extra field
  Update the NEWS.
  Handle a trailing "/." at the end of a source arg.
  Fix some issues with backslashed wildcards in args.
  Handle a "[foo]" arg matching the literal wildcards.
  A fix for the zlib fix.
  Handle files-from args that span 2 buffers.
  Fix --relative when copying an absolute path.
  Preparing for release of 3.2.5pre2

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  fabef23b Fix --relative when copying an absolute path.
   via  685bf580 Handle files-from args that span 2 buffers.
  from  9e2921fc A fix for the zlib fix.

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


- Log -
commit fabef23bea6e9963c06e218586fda1a823e3c6bf
Author: Wayne Davison 
Date:   Mon Aug 8 21:30:21 2022 -0700

Fix --relative when copying an absolute path.

commit 685bf5804691d4af779a4deac28c7fbcf52b5009
Author: Wayne Davison 
Date:   Mon Aug 8 21:18:10 2022 -0700

Handle files-from args that span 2 buffers.

---

Summary of changes:
 exclude.c | 34 +-
 io.c  |  3 +++
 2 files changed, 36 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index d811dd1f..ba5ca5a3 100644
--- a/exclude.c
+++ b/exclude.c
@@ -349,6 +349,28 @@ static void maybe_add_literal_brackets_rule(filter_rule 
const *based_on, int arg
}
 }
 
+static char *partial_string_buf = NULL;
+static int partial_string_len = 0;
+void implied_include_partial_string(const char *s_start, const char *s_end)
+{
+   partial_string_len = s_end - s_start;
+   if (partial_string_len <= 0 || partial_string_len >= MAXPATHLEN) { /* 
too-large should be impossible... */
+   partial_string_len = 0;
+   return;
+   }
+   if (!partial_string_buf)
+   partial_string_buf = new_array(char, MAXPATHLEN);
+   memcpy(partial_string_buf, s_start, partial_string_len);
+}
+
+void free_implied_include_partial_string()
+{
+   if (partial_string_buf) {
+   free(partial_string_buf);
+   partial_string_buf = NULL;
+   }
+}
+
 /* Each arg the client sends to the remote sender turns into an implied include
  * that the receiver uses to validate the file list from the sender. */
 void add_implied_include(const char *arg)
@@ -360,6 +382,14 @@ void add_implied_include(const char *arg)
char *p;
if (am_server || old_style_args || list_only || read_batch || 
filesfrom_host != NULL)
return;
+   if (partial_string_len) {
+   arg_len = strlen(arg);
+   if (partial_string_len + arg_len >= MAXPATHLEN)
+   return; /* Should be impossible... */
+   memcpy(partial_string_buf + partial_string_len, arg, arg_len + 
1);
+   partial_string_len = 0;
+   arg = partial_string_buf;
+   }
if (relative_paths) {
if ((cp = strstr(arg, "/./")) != NULL)
arg = cp + 3;
@@ -404,8 +434,10 @@ void add_implied_include(const char *arg)
*p++ = *cp++;
break;
  case '/':
-   if (p[-1] == '/') /* This is safe because of 
the initial slash. */
+   if (p[-1] == '/') { /* This is safe because of 
the initial slash. */
+   cp++;
break;
+   }
if (relative_paths) {
filter_rule const *ent;
int found = 0;
diff --git a/io.c b/io.c
index a6e3ed30..7111878a 100644
--- a/io.c
+++ b/io.c
@@ -376,6 +376,7 @@ static void forward_filesfrom_data(void)
free_xbuf(_xb);
if (ff_reenable_multiplex >= 0)
io_start_multiplex_out(ff_reenable_multiplex);
+   free_implied_include_partial_string();
}
return;
}
@@ -435,6 +436,7 @@ static void forward_filesfrom_data(void)
ff_lastchar = '\0';
else {
/* Handle a partial string specially, saving any 
incomplete chars. */
+   implied_include_partial_string(sob, s);
flags &= ~ICB_INCLUDE_INCOMPLETE;
if (iconvbufs(ic_send, _xb, , flags) < 0) {
if (errno == E2BIG)
@@ -461,6 +463,7 @@ static void forward_filesfrom_data(void)
f++;
}
}
+   implied_include_partial_string(cur, t);
ff_lastchar = f[-1];
if ((len = t - ff_xb.buf) != 0) {
/* This will not circle back to perform_io() because we 
only get


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  9e2921fc A fix for the zlib fix.
   via  80d8f7c7 Handle a "[foo]" arg matching the literal wildcards.
   via  38e1b075 Fix some issues with backslashed wildcards in args.
  from  d659610a Handle a trailing "/." at the end of a source arg.

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


- Log -
commit 9e2921fce8c518e370c324407d35bc83ba12f2d5
Author: Wayne Davison 
Date:   Mon Aug 8 20:05:10 2022 -0700

A fix for the zlib fix.

commit 80d8f7c7cbb062f4ddab47eecb0a2253bb908a82
Author: Wayne Davison 
Date:   Mon Aug 8 19:31:36 2022 -0700

Handle a "[foo]" arg matching the literal wildcards.

commit 38e1b075b49664181a6b1727219b404debec035e
Author: Wayne Davison 
Date:   Mon Aug 8 18:30:43 2022 -0700

Fix some issues with backslashed wildcards in args.

---

Summary of changes:
 exclude.c  | 76 --
 options.c  |  5 +++-
 zlib/inflate.c |  4 ++--
 3 files changed, 75 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index ca10b094..d811dd1f 100644
--- a/exclude.c
+++ b/exclude.c
@@ -302,12 +302,59 @@ static void add_rule(filter_rule_list *listp, const char 
*pat, unsigned int pat_
}
 }
 
+/* If the wildcards failed, the remote shell might give us a file matching the 
literal
+ * wildcards.  Since "*" & "?" already match themselves, this just needs to 
deal with
+ * failed "[foo]" idioms.
+ */
+static void maybe_add_literal_brackets_rule(filter_rule const *based_on, int 
arg_len)
+{
+   filter_rule *rule;
+   const char *arg = based_on->pattern, *cp;
+   char *p;
+   int cnt = 0;
+
+   if (arg_len < 0)
+   arg_len = strlen(arg);
+
+   cp = arg;
+   while (*cp) {
+   if (*cp == '\\' && cp[1]) {
+   cp++;
+   } else if (*cp == '[')
+   cnt++;
+   cp++;
+   }
+   if (!cnt)
+   return;
+
+   rule = new0(filter_rule);
+   rule->rflags = based_on->rflags;
+   rule->u.slash_cnt = based_on->u.slash_cnt;
+   p = rule->pattern = new_array(char, arg_len + cnt + 1);
+   cp = arg;
+   while (*cp) {
+   if (*cp == '\\' && cp[1]) {
+   *p++ = *cp++;
+   } else if (*cp == '[')
+   *p++ = '\\';
+   *p++ = *cp++;
+   }
+   *p++ = '\0';
+
+   rule->next = implied_filter_list.head;
+   implied_filter_list.head = rule;
+   if (DEBUG_GTE(FILTER, 3)) {
+   rprintf(FINFO, "[%s] add_implied_include(%s%s)\n", who_am_i(), 
rule->pattern,
+   rule->rflags & FILTRULE_DIRECTORY ? "/" : "");
+   }
+}
+
 /* Each arg the client sends to the remote sender turns into an implied include
  * that the receiver uses to validate the file list from the sender. */
 void add_implied_include(const char *arg)
 {
filter_rule *rule;
-   int arg_len, saw_wild = 0, backslash_cnt = 0;
+   int arg_len, saw_wild = 0, saw_live_open_brkt = 0, backslash_cnt = 0;
int slash_cnt = 1; /* We know we're adding a leading slash. */
const char *cp;
char *p;
@@ -319,7 +366,7 @@ void add_implied_include(const char *arg)
} else if ((cp = strrchr(arg, '/')) != NULL) {
arg = cp + 1;
if (*arg == '.' && arg[1] == '\0')
-   arg++;
+   arg++;
}
arg_len = strlen(arg);
if (arg_len) {
@@ -347,9 +394,13 @@ void add_implied_include(const char *arg)
while (*cp) {
switch (*cp) {
  case '\\':
-   backslash_cnt++;
-   if (saw_wild)
-   *p++ = '\\';
+   if (cp[1] == ']')
+   cp++; /* A \] in a filter might cause a 
problem w/o wildcards. */
+   else if (!strchr("*[?", cp[1])) {
+   backslash_cnt++;
+   if (saw_wild)
+   *p++ = '\\';
+   }
*p++ = *cp++;
break;
  case '/':
@@ -377,13 +428,19 @@ void add_implied_include(const char *arg)
implied_filter_list.head = 
R_rule;
if (DEBUG_GTE(FILTER, 3)) {
rprintf(FINFO, "[%s] 
add_implied_include(%s/)\n",
-   

[SCM] The rsync repository. - branch master updated

2022-08-08 Thread Rsync CVS commit messages
The branch, master has been updated
   via  d659610a Handle a trailing "/." at the end of a source arg.
   via  6cafc1f8 Update the NEWS.
  from  788f11ea Fix zlib bug with a large gzip header extra field

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


- Log -
commit d659610afc8a3ee53fe68a8a4bbd7fc768fcd6e9
Author: Wayne Davison 
Date:   Mon Aug 8 17:36:36 2022 -0700

Handle a trailing "/." at the end of a source arg.

commit 6cafc1f8bf879e3274c106decfdccbd5b5f39470
Author: Wayne Davison 
Date:   Sun Aug 7 09:59:43 2022 -0700

Update the NEWS.

---

Summary of changes:
 NEWS.md   | 5 -
 exclude.c | 5 -
 2 files changed, 8 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 70c0b00f..0c212da9 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -13,12 +13,15 @@
   directory that contains files that aren't from the remote host unless you
   trust the remote host). Fixes CVE-2022-29154.
 
+ - A fix for CVE-2022-37434 in the bundled zlib (buffer overflow issue).
+
 ### BUG FIXES:
 
 - Fixed the configure check for signed char that was causing a host that
   defaults to unsigned characters to generate bogus rolling checksums. This
   made rsync send mostly literal data for a copy instead of finding matching
-  data in the receiver's basis file.
+  data in the receiver's basis file (for a file that contains high-bit
+  characters).
 
 - Lots of manpage improvements, including an attempt to better describe how
   include/exclude filters work.
diff --git a/exclude.c b/exclude.c
index e5991009..ca10b094 100644
--- a/exclude.c
+++ b/exclude.c
@@ -316,8 +316,11 @@ void add_implied_include(const char *arg)
if (relative_paths) {
if ((cp = strstr(arg, "/./")) != NULL)
arg = cp + 3;
-   } else if ((cp = strrchr(arg, '/')) != NULL)
+   } else if ((cp = strrchr(arg, '/')) != NULL) {
arg = cp + 1;
+   if (*arg == '.' && arg[1] == '\0')
+   arg++;
+   }
arg_len = strlen(arg);
if (arg_len) {
if (strpbrk(arg, "*[?")) {


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-07 Thread Rsync CVS commit messages
The branch, master has been updated
   via  788f11ea Fix zlib bug with a large gzip header extra field
  from  b7fdc9ef Make sure that --read-batch doesn't try to check args.

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


- Log -
commit 788f11ea6afeb96f0d84f140192165a1ca12ade4
Author: Wayne Davison 
Date:   Sun Aug 7 09:27:57 2022 -0700

Fix zlib bug with a large gzip header extra field

From zlib commit eff308af425b67093bab25f80f1ae950166bece1.
Fixes CVE-2022-37434.

---

Summary of changes:
 zlib/inflate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/zlib/inflate.c b/zlib/inflate.c
index e43abd9e..d15132ea 100644
--- a/zlib/inflate.c
+++ b/zlib/inflate.c
@@ -739,9 +739,10 @@ int flush;
 copy = state->length;
 if (copy > have) copy = have;
 if (copy) {
+len = state->head->extra_len - state->length;
 if (state->head != Z_NULL &&
-state->head->extra != Z_NULL) {
-len = state->head->extra_len - state->length;
+state->head->extra != Z_NULL &&
+len < state->head->extra_max) {
 zmemcpy(state->head->extra + len, next,
 len + copy > state->head->extra_max ?
 state->head->extra_max - len : copy);


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-07 Thread Rsync CVS commit messages
The branch, master has been updated
   via  b7fdc9ef Make sure that --read-batch doesn't try to check args.
   via  0d8cc260 Some md-convert doc tweaks.
  from  29558884 Fix typos in NEWS (#339)

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


- Log -
commit b7fdc9ef0e5fe2d179058c0ce326c9075f64443c
Author: Wayne Davison 
Date:   Sun Aug 7 08:56:39 2022 -0700

Make sure that --read-batch doesn't try to check args.

commit 0d8cc26044fe5c543f69206642666bfa7ee053f7
Author: Wayne Davison 
Date:   Wed Aug 3 08:55:26 2022 -0700

Some md-convert doc tweaks.

---

Summary of changes:
 INSTALL.md | 2 +-
 exclude.c  | 3 ++-
 md-convert | 6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/INSTALL.md b/INSTALL.md
index 5b23ed0e..1605ab43 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -26,7 +26,7 @@ build user (after installing python3's pip package):
 
 You can test if you've got it fixed by running (from the rsync checkout):
 
-> ./md2man --test rsync-ssl.1.md
+> ./md-convert --test rsync-ssl.1.md
 
 Alternately, you can avoid generating the manpages by fetching the very latest
 versions (that match the latest git source) from the [generated-files][6] dir.
diff --git a/exclude.c b/exclude.c
index cd77c543..e5991009 100644
--- a/exclude.c
+++ b/exclude.c
@@ -40,6 +40,7 @@ extern int delete_excluded;
 extern int cvs_exclude;
 extern int sanitize_paths;
 extern int protocol_version;
+extern int read_batch;
 extern int list_only;
 extern int module_id;
 
@@ -310,7 +311,7 @@ void add_implied_include(const char *arg)
int slash_cnt = 1; /* We know we're adding a leading slash. */
const char *cp;
char *p;
-   if (am_server || old_style_args || list_only || filesfrom_host != NULL)
+   if (am_server || old_style_args || list_only || read_batch || 
filesfrom_host != NULL)
return;
if (relative_paths) {
if ((cp = strstr(arg, "/./")) != NULL)
diff --git a/md-convert b/md-convert
index fb60b093..19709c8d 100755
--- a/md-convert
+++ b/md-convert
@@ -609,12 +609,12 @@ def die(*msg):
 
 
 if __name__ == '__main__':
-parser = argparse.ArgumentParser(description="Output html and (optionally) 
nroff for markdown pages.", add_help=False)
+parser = argparse.ArgumentParser(description="Convert markdown into html 
and (optionally) nroff. Each input filename must have a .md suffix, which is 
changed to .html for the output filename. If the input filename ends with 
.num.md (e.g. foo.1.md) then a nroff file is also output with the input 
filename's .md suffix removed (e.g. foo.1).", add_help=False)
 parser.add_argument('--test', action='store_true', help="Just test the 
parsing without outputting any files.")
-parser.add_argument('--dest', metavar='DIR', help="Put files into DIR 
instead of the current directory.")
+parser.add_argument('--dest', metavar='DIR', help="Create files in DIR 
instead of the current directory.")
 parser.add_argument('--debug', '-D', action='count', default=0, 
help='Output copious info on the html parsing. Repeat for even more.')
 parser.add_argument("--help", "-h", action="help", help="Output this help 
message and exit.")
-parser.add_argument("mdfiles", nargs='+', help="The source .md files to 
convert.")
+parser.add_argument("mdfiles", metavar='FILE.md', nargs='+', help="One or 
more .md files to convert.")
 args = parser.parse_args()
 
 try:


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-02 Thread Rsync CVS commit messages
The branch, master has been updated
   via  29558884 Fix typos in NEWS (#339)
  from  0773cecc Preparing for release of 3.2.5pre1

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


- Log -
commit 29558884687279ecdeda1b1b398e8ec6aa784b73
Author: Jakub Wilk 
Date:   Tue Aug 2 20:31:04 2022 +0200

Fix typos in NEWS (#339)

---

Summary of changes:
 NEWS.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index bf7d400a..70c0b00f 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -7,7 +7,7 @@
 - Added some file-list safety checking that helps to ensure that a rogue
   sending rsync can't add unrequested top-level names and/or include recursive
   names that should have been excluded by the sender.  These extra safety
-  checks only require the receiver rsync to be udateed.  When dealing with an
+  checks only require the receiver rsync to be updated.  When dealing with an
   untrusted sending host, it is safest to copy into a dedicated destination
   directory for the remote content (i.e. don't copy into a destination
   directory that contains files that aren't from the remote host unless you
@@ -20,7 +20,7 @@
   made rsync send mostly literal data for a copy instead of finding matching
   data in the receiver's basis file.
 
-- Lots of manpage improvements, including an attempt to better desdribe how
+- Lots of manpage improvements, including an attempt to better describe how
   include/exclude filters work.
 
 ### PACKAGING RELATED:


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - annotated tag v3.2.5pre1 created

2022-08-01 Thread Rsync CVS commit messages
The annotated tag, v3.2.5pre1 has been created
at  1e76ea5ff30dfb1611215260a23694ec4dbd65c2 (tag)
   tagging  0773cecc1fc6462b321f96dc8cae6e11983c357d (commit)
  replaces  v3.2.4
 tagged by  Wayne Davison
on  Mon Aug 1 19:00:36 2022 -0700

- Log -
Version 3.2.5pre1.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYuiFRBEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxf2QAJ4gfPvjhGguiw8/GEveghItK0jgsQCfRETN
6j7frxpAjYOv6y+s3Ntb00Q=
=tFmW
-END PGP SIGNATURE-

Wayne Davison (26):
  Setup for 3.2.5dev.
  Use the maintainer's timezone for translating the manpage date.
  Manpage improvements.
  Make md-convert --test work again.
  Improve discussion of old-args in advanced usage.
  Fix grabbing version value in configure.
  Avoid -pedantic-errors on non-x86 for the moment.
  Fix configure's "signed char" check
  Include bsd/strings.h if it exists
  Some clarifications about transfer rules.
  Some proxy improvements (mainly).
  Improve filter discussion.
  Improve the filter intro.
  Link to rsyncd.conf page server-setup details.
  A few minor fixes.
  A few more minor doc tweaks.
  Some extra file-list safety checks.
  The latest NEWS.
  More improvements to file-list checking
  A few more minor changes.
  Make sure sign is consistend in 2 gid comparisons.
  Avoid the getgroups program when cross-compiliing.
  A few more minor tweaks.
  More NEWS.
  Tweaks to allow for a release.
  Preparing for release of 3.2.5pre1

Yuri Chornoivan (1):
  Fix minor typos (#327)

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  0773cecc Preparing for release of 3.2.5pre1
   via  8e335863 Tweaks to allow for a release.
   via  da5c72da More NEWS.
   via  2f7c5831 A few more minor tweaks.
  from  51fd4993 Avoid the getgroups program when cross-compiliing.

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


- Log -
commit 0773cecc1fc6462b321f96dc8cae6e11983c357d
Author: Wayne Davison 
Date:   Mon Aug 1 18:51:07 2022 -0700

Preparing for release of 3.2.5pre1

commit 8e33586359a1e1cce943651e9c60adfe9e65ba54
Author: Wayne Davison 
Date:   Mon Aug 1 18:43:11 2022 -0700

Tweaks to allow for a release.

commit da5c72da4b604dbf2a9fdbfccb7b0ac787cf04e7
Author: Wayne Davison 
Date:   Mon Aug 1 18:34:39 2022 -0700

More NEWS.

commit 2f7c583143bc6e80902139c23d9d7283f88fbc6a
Author: Wayne Davison 
Date:   Mon Aug 1 18:21:28 2022 -0700

A few more minor tweaks.

---

Summary of changes:
 NEWS.md  | 19 ---
 exclude.c|  7 +++
 packaging/lsb/rsync.spec | 12 ++--
 packaging/release-rsync  |  4 +++-
 rsync.1.md   | 13 ++---
 uidlist.c|  2 +-
 version.h|  2 +-
 7 files changed, 32 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 4cb98a63..bf7d400a 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -6,12 +6,12 @@
 
 - Added some file-list safety checking that helps to ensure that a rogue
   sending rsync can't add unrequested top-level names and/or include recursive
-  names that should have been excluded by the sender.  This extra safety check
-  only requires the client side rsync to be udateed.  When dealing with an
-  untrusted sending host using an older rsync, it is safest to copy into a
-  dedicated destination directory for the remote content (i.e. don't copy into
-  a destination directory that contains files that aren't from the remote
-  host unless you trust the remote host). Fixes CVE-2022-29154.
+  names that should have been excluded by the sender.  These extra safety
+  checks only require the receiver rsync to be udateed.  When dealing with an
+  untrusted sending host, it is safest to copy into a dedicated destination
+  directory for the remote content (i.e. don't copy into a destination
+  directory that contains files that aren't from the remote host unless you
+  trust the remote host). Fixes CVE-2022-29154.
 
 ### BUG FIXES:
 
@@ -20,6 +20,9 @@
   made rsync send mostly literal data for a copy instead of finding matching
   data in the receiver's basis file.
 
+- Lots of manpage improvements, including an attempt to better desdribe how
+  include/exclude filters work.
+
 ### PACKAGING RELATED:
 
 - The build date that goes into the manpages is now based on the developer's
@@ -27,6 +30,8 @@
 
 ### DEVELOPER RELATED:
 
+- Configure now defaults GETGROUPS_T to gid_t when cross compiling.
+
 - Configure now looks for the bsd/string.h include file in order to fix the
   build on a host that has strlcpy() in the main libc but not defined in the
   main string.h file.
@@ -4517,7 +4522,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
-| ?? ???   | 3.2.5  |  | 31  |
+| ?? 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/exclude.c b/exclude.c
index 0100efc7..cd77c543 100644
--- a/exclude.c
+++ b/exclude.c
@@ -395,11 +395,10 @@ void add_implied_include(const char *arg)
if (recurse || xfer_dirs) {
/* Now create a rule with an added "/" & "**" or "*" at the end 
*/
rule = new0(filter_rule);
+   rule->rflags = FILTRULE_INCLUDE | FILTRULE_WILD;
if (recurse)
-   rule->rflags = FILTRULE_INCLUDE | FILTRULE_WILD | 
FILTRULE_WILD2;
-   else
-   rule->rflags = FILTRULE_INCLUDE | FILTRULE_WILD;
-   /* A +4 in the len leaves enough room for / * * \0 or / * \0 \0 
*/
+   rule->rflags |= FILTRULE_WILD2;
+   /* We must leave enough room for / * * \0. */
if (!saw_wild && backslash_cnt) {
/* We are appending a wildcard, so now the backslashes 
need to be escaped. */
p = rule->pattern = new_array(char, arg_len + 
backslash_cnt + 3 + 1);
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 0bdcd833..95adb8f0 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -1,9 +1,9 @@
 Summary: A fast, versatile, remote (and local) file-copying 

[SCM] The rsync repository. - branch master updated

2022-08-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  51fd4993 Avoid the getgroups program when cross-compiliing.
   via  e37bfdb4 Make sure sign is consistend in 2 gid comparisons.
  from  3d7015af A few more minor changes.

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


- Log -
commit 51fd4993baa21f4df4b3b188899bd71fc062a5a7
Author: Wayne Davison 
Date:   Mon Aug 1 09:00:34 2022 -0700

Avoid the getgroups program when cross-compiliing.

commit e37bfdb445fc3ec500699fcee7c4ef8608938171
Author: Wayne Davison 
Date:   Mon Aug 1 08:29:15 2022 -0700

Make sure sign is consistend in 2 gid comparisons.

---

Summary of changes:
 configure.ac | 6 +-
 uidlist.c| 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index 37241637..d185b2d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -625,7 +625,11 @@ fi
 
 AC_TYPE_UID_T
 AC_CHECK_TYPES([mode_t,off_t,size_t,pid_t,id_t])
-AC_TYPE_GETGROUPS
+if test "$cross_compiling" = no; then
+AC_TYPE_GETGROUPS
+else
+AC_DEFINE([GETGROUPS_T],[gid_t],[Define to the type of elements in the 
array set by `getgroups'. Usually this is either `int' or `gid_t'.])
+fi
 AC_CHECK_MEMBERS([struct stat.st_rdev,
  struct stat.st_mtimensec,
  struct stat.st_mtimespec.tv_nsec,
diff --git a/uidlist.c b/uidlist.c
index 6100b503..2b81ae87 100644
--- a/uidlist.c
+++ b/uidlist.c
@@ -210,7 +210,7 @@ static int is_in_group(gid_t gid)
ngroups = getgroups(ngroups, gidset);
/* The default gid might not be in the list on some systems. */
for (n = 0; n < ngroups; n++) {
-   if (gidset[n] == our_gid)
+   if ((gid_t)gidset[n] == our_gid)
break;
}
if (n == ngroups)
@@ -229,7 +229,7 @@ static int is_in_group(gid_t gid)
 
last_in = gid;
for (n = 0; n < ngroups; n++) {
-   if (gidset[n] == gid)
+   if ((gid_t)gidset[n] == gid)
return last_out = 1;
}
return last_out = 0;


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  3d7015af A few more minor changes.
  from  7e5424b8 More improvements to file-list checking

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


- Log -
commit 3d7015afa223494e3318495c2f5de9cb49229da9
Author: Wayne Davison 
Date:   Mon Aug 1 07:29:44 2022 -0700

A few more minor changes.

---

Summary of changes:
 exclude.c | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index 2d740a83..0100efc7 100644
--- a/exclude.c
+++ b/exclude.c
@@ -313,13 +313,10 @@ void add_implied_include(const char *arg)
if (am_server || old_style_args || list_only || filesfrom_host != NULL)
return;
if (relative_paths) {
-   cp = strstr(arg, "/./");
-   if (cp)
-   arg = cp+3;
-   } else {
-   if ((cp = strrchr(arg, '/')) != NULL)
-   arg = cp + 1;
-   }
+   if ((cp = strstr(arg, "/./")) != NULL)
+   arg = cp + 3;
+   } else if ((cp = strrchr(arg, '/')) != NULL)
+   arg = cp + 1;
arg_len = strlen(arg);
if (arg_len) {
if (strpbrk(arg, "*[?")) {
@@ -359,13 +356,17 @@ void add_implied_include(const char *arg)
int found = 0;
*p = '\0';
for (ent = implied_filter_list.head; 
ent; ent = ent->next) {
-   if (ent != rule && 
strcmp(ent->pattern, rule->pattern) == 0)
+   if (ent != rule && 
strcmp(ent->pattern, rule->pattern) == 0) {
found = 1;
+   break;
+   }
}
if (!found) {
filter_rule *R_rule = 
new0(filter_rule);
-   R_rule->rflags = 
FILTRULE_INCLUDE | FILTRULE_DIRECTORY
-  | (saw_wild ? 
FILTRULE_WILD : 0);
+   R_rule->rflags = 
FILTRULE_INCLUDE | FILTRULE_DIRECTORY;
+   /* Check if our sub-path has 
wildcards or escaped backslashes */
+   if (saw_wild && 
strpbrk(rule->pattern, "*[?\\"))
+   R_rule->rflags |= 
FILTRULE_WILD;
R_rule->pattern = 
strdup(rule->pattern);
R_rule->u.slash_cnt = slash_cnt;
R_rule->next = 
implied_filter_list.head;


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-08-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  7e5424b8 More improvements to file-list checking
  from  43f70b96 The latest NEWS.

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


- Log -
commit 7e5424b806e8eea053016268ad186276e9083b77
Author: Wayne Davison 
Date:   Mon Aug 1 07:00:51 2022 -0700

More improvements to file-list checking

- Avoid implied rules on generator and (with extra certainty) on server
- Add -R implied-directory path elements as directory includes
- Log about extra file-list checking using a new --debug=FILTER3 level

---

Summary of changes:
 exclude.c | 21 -
 main.c|  1 +
 options.c |  2 +-
 3 files changed, 18 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index b670c8ba..2d740a83 100644
--- a/exclude.c
+++ b/exclude.c
@@ -25,6 +25,7 @@
 
 extern int am_server;
 extern int am_sender;
+extern int am_generator;
 extern int eol_nulls;
 extern int io_error;
 extern int xfer_dirs;
@@ -309,7 +310,7 @@ void add_implied_include(const char *arg)
int slash_cnt = 1; /* We know we're adding a leading slash. */
const char *cp;
char *p;
-   if (old_style_args || list_only || filesfrom_host != NULL)
+   if (am_server || old_style_args || list_only || filesfrom_host != NULL)
return;
if (relative_paths) {
cp = strstr(arg, "/./");
@@ -363,11 +364,16 @@ void add_implied_include(const char *arg)
}
if (!found) {
filter_rule *R_rule = 
new0(filter_rule);
-   R_rule->rflags = 
FILTRULE_INCLUDE + (saw_wild ? FILTRULE_WILD : 0);
+   R_rule->rflags = 
FILTRULE_INCLUDE | FILTRULE_DIRECTORY
+  | (saw_wild ? 
FILTRULE_WILD : 0);
R_rule->pattern = 
strdup(rule->pattern);
R_rule->u.slash_cnt = slash_cnt;
R_rule->next = 
implied_filter_list.head;
implied_filter_list.head = 
R_rule;
+   if (DEBUG_GTE(FILTER, 3)) {
+   rprintf(FINFO, "[%s] 
add_implied_include(%s/)\n",
+   who_am_i(), 
rule->pattern);
+   }
}
}
slash_cnt++;
@@ -381,6 +387,8 @@ void add_implied_include(const char *arg)
*p = '\0';
rule->u.slash_cnt = slash_cnt;
arg = (const char *)rule->pattern;
+   if (DEBUG_GTE(FILTER, 3))
+   rprintf(FINFO, "[%s] add_implied_include(%s)\n", 
who_am_i(), rule->pattern);
}
 
if (recurse || xfer_dirs) {
@@ -416,6 +424,8 @@ void add_implied_include(const char *arg)
rule->u.slash_cnt = slash_cnt + 1;
rule->next = implied_filter_list.head;
implied_filter_list.head = rule;
+   if (DEBUG_GTE(FILTER, 3))
+   rprintf(FINFO, "[%s] add_implied_include(%s)\n", 
who_am_i(), rule->pattern);
}
 }
 
@@ -833,11 +843,12 @@ static void report_filter_result(enum logcode code, char 
const *name,
 filter_rule const *ent,
 int name_flags, const char *type)
 {
+   int log_level = am_sender || am_generator ? 1 : 3;
+
/* If a trailing slash is present to match only directories,
 * then it is stripped out by add_rule().  So as a special
-* case we add it back in here. */
-
-   if (DEBUG_GTE(FILTER, 1)) {
+* case we add it back in the log output. */
+   if (DEBUG_GTE(FILTER, log_level)) {
static char *actions[2][2]
= { {"show", "hid"}, {"risk", "protect"} };
const char *w = who_am_i();
diff --git a/main.c b/main.c
index 5a7fbdd7..fa263d27 100644
--- a/main.c
+++ b/main.c
@@ -1078,6 +1078,7 @@ static int do_recv(int f_in, int f_out, char *local_name)
}
 
am_generator = 1;
+   implied_filter_list.head = implied_filter_list.tail = NULL;
flist_receiving_enabled = True;
 
io_end_multiplex_in(MPLX_SWITCHING);
diff --git a/options.c b/options.c
index 93bdb237..9731a144 100644
--- a/options.c
+++ b/options.c
@@ -293,7 +293,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {

[SCM] The rsync repository. - branch master updated

2022-07-31 Thread Rsync CVS commit messages
The branch, master has been updated
   via  43f70b96 The latest NEWS.
   via  b7231c7d Some extra file-list safety checks.
   via  15c34f0a A few more minor doc tweaks.
  from  d1e42ffa A few minor fixes.

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


- Log -
commit 43f70b961e92d88387fecd3c7f6dbefc044ce4a3
Author: Wayne Davison 
Date:   Sun Jul 31 16:59:52 2022 -0700

The latest NEWS.

commit b7231c7d02cfb65d291af74ff66e7d8c507ee871
Author: Wayne Davison 
Date:   Sun Jul 31 16:55:34 2022 -0700

Some extra file-list safety checks.

commit 15c34f0a8c76e250f5487997849ab31e40e556e9
Author: Wayne Davison 
Date:   Mon Jul 11 13:31:30 2022 -0700

A few more minor doc tweaks.

---

Summary of changes:
 NEWS.md|  27 -
 exclude.c  | 130 -
 flist.c|  17 +++-
 io.c   |   4 ++
 main.c |   7 +++-
 receiver.c |  11 --
 rsync.1.md |  57 ++-
 7 files changed, 235 insertions(+), 18 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index ecaac28c..4cb98a63 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,9 +2,34 @@
 
 ## Changes in this version:
 
+### SECURITY FIXES:
+
+- Added some file-list safety checking that helps to ensure that a rogue
+  sending rsync can't add unrequested top-level names and/or include recursive
+  names that should have been excluded by the sender.  This extra safety check
+  only requires the client side rsync to be udateed.  When dealing with an
+  untrusted sending host using an older rsync, it is safest to copy into a
+  dedicated destination directory for the remote content (i.e. don't copy into
+  a destination directory that contains files that aren't from the remote
+  host unless you trust the remote host). Fixes CVE-2022-29154.
+
 ### BUG FIXES:
 
-- ...
+- Fixed the configure check for signed char that was causing a host that
+  defaults to unsigned characters to generate bogus rolling checksums. This
+  made rsync send mostly literal data for a copy instead of finding matching
+  data in the receiver's basis file.
+
+### PACKAGING RELATED:
+
+- The build date that goes into the manpages is now based on the developer's
+  release date, not on the build's local-timezone interpretation of the date.
+
+### DEVELOPER RELATED:
+
+- Configure now looks for the bsd/string.h include file in order to fix the
+  build on a host that has strlcpy() in the main libc but not defined in the
+  main string.h file.
 
 --
 
diff --git a/exclude.c b/exclude.c
index 39073a0c..b670c8ba 100644
--- a/exclude.c
+++ b/exclude.c
@@ -27,16 +27,22 @@ extern int am_server;
 extern int am_sender;
 extern int eol_nulls;
 extern int io_error;
+extern int xfer_dirs;
+extern int recurse;
 extern int local_server;
 extern int prune_empty_dirs;
 extern int ignore_perishable;
+extern int old_style_args;
+extern int relative_paths;
 extern int delete_mode;
 extern int delete_excluded;
 extern int cvs_exclude;
 extern int sanitize_paths;
 extern int protocol_version;
+extern int list_only;
 extern int module_id;
 
+extern char *filesfrom_host;
 extern char curr_dir[MAXPATHLEN];
 extern unsigned int curr_dir_len;
 extern unsigned int module_dirlen;
@@ -44,8 +50,10 @@ extern unsigned int module_dirlen;
 filter_rule_list filter_list = { .debug_type = "" };
 filter_rule_list cvs_filter_list = { .debug_type = " [global CVS]" };
 filter_rule_list daemon_filter_list = { .debug_type = " [daemon]" };
+filter_rule_list implied_filter_list = { .debug_type = " [implied]" };
 
 int saw_xattr_filter = 0;
+int trust_sender_filter = 0;
 
 /* Need room enough for ":MODS " prefix plus some room to grow. */
 #define MAX_RULE_PREFIX (16)
@@ -292,6 +300,125 @@ static void add_rule(filter_rule_list *listp, const char 
*pat, unsigned int pat_
}
 }
 
+/* Each arg the client sends to the remote sender turns into an implied include
+ * that the receiver uses to validate the file list from the sender. */
+void add_implied_include(const char *arg)
+{
+   filter_rule *rule;
+   int arg_len, saw_wild = 0, backslash_cnt = 0;
+   int slash_cnt = 1; /* We know we're adding a leading slash. */
+   const char *cp;
+   char *p;
+   if (old_style_args || list_only || filesfrom_host != NULL)
+   return;
+   if (relative_paths) {
+   cp = strstr(arg, "/./");
+   if (cp)
+   arg = cp+3;
+   } else {
+   if ((cp = strrchr(arg, '/')) != NULL)
+   arg = cp + 1;
+   }
+   arg_len = strlen(arg);
+   if (arg_len) {
+   if (strpbrk(arg, "*[?")) {
+   /* We need to add room to escape backslashes if 
wildcard chars are 

[SCM] The rsync repository. - branch master updated

2022-06-19 Thread Rsync CVS commit messages
The branch, master has been updated
   via  d1e42ffa A few minor fixes.
   via  36f489c2 Link to rsyncd.conf page server-setup details.
  from  defe2287 Improve the filter intro.

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


- Log -
commit d1e42ffa1680b65bc878ab5a6cbfd12bf6345b9b
Author: Wayne Davison 
Date:   Sun Jun 19 17:21:03 2022 -0700

A few minor fixes.

commit 36f489c2117217a277e3307565699289929b9121
Author: Wayne Davison 
Date:   Sun Jun 19 16:55:18 2022 -0700

Link to rsyncd.conf page server-setup details.

---

Summary of changes:
 rsync-ssl.1.md |  5 +
 rsync.1.md | 10 +-
 2 files changed, 10 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/rsync-ssl.1.md b/rsync-ssl.1.md
index f3f93718..a6f1e3d3 100644
--- a/rsync-ssl.1.md
+++ b/rsync-ssl.1.md
@@ -94,6 +94,11 @@ The ssl helper scripts are affected by the following 
environment variables:
 
 > rsync-ssl -aiv rsync://example.com:9874/mod/ dest
 
+## THE SERVER SIDE
+
+For help setting up an SSL/TLS supporting rsync, see the [instructions in
+rsyncd.conf](rsyncd.conf.5#SSL_TLS_Daemon_Setup).
+
 ## SEE ALSO
 
 [**rsync**(1)](rsync.1), [**rsyncd.conf**(5)](rsyncd.conf.5)
diff --git a/rsync.1.md b/rsync.1.md
index 9c149b31..1ab014f1 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -3822,7 +3822,7 @@ existing on the remote host:
 Aside: this copy could also have been accomplished using the [`-R`](#opt)
 option (though the 2 commands behave differently if deletions are enabled):
 
-> rsync -aR x/y/file.txt host:/tmp/
+> rsync -aiR x/y/file.txt host:/tmp/
 
 The following command does not need an include of the "x" directory because it
 is not a part of the transfer (note the traililng slash).  Running this command
@@ -3833,7 +3833,7 @@ would copy just "`/tmp/x/file.txt`" because the "y" and 
"z" dirs get excluded:
 This command would omit the zzz.txt file while copying "x" and everything else
 it contains:
 
-> rsync -aiv -f'- zzz.txt' x host:/tmp/
+> rsync -ai -f'- zzz.txt' x host:/tmp/
 
 ### FILTER RULES WHEN DELETING
 
@@ -3872,8 +3872,8 @@ Rsync supports old-style include/exclude rules and 
new-style filter rules.  The
 older rules are specified using [`--include`](#opt) and [`--exclude`](#opt) as
 well as the [`--include-from`](#opt) and [`--exclude-from`](#opt). These are
 limited in behavior but they don't require a "-" or "+" prefix.  An old-style
-exclude rule is turned into a `+ name` filter rule (with no modifiers) and an
-old-style include rule is turned into a `- name` filter rule (with no
+exclude rule is turned into a "`- name`" filter rule (with no modifiers) and an
+old-style include rule is turned into a "`+ name`" filter rule (with no
 modifiers).
 
 Rsync builds an ordered list of filter rules as specified on the command-line
@@ -3905,7 +3905,7 @@ Here are the available rule prefixes:
 Equivalent to a receiver-only exclude, so `-f'P foo'` could also be
 specified as `-f'-r foo'`.
 0.  `risk, 'R'` files that match the pattern are not protected. Equivalent to a
-receiver-only include, so `-f'P foo'` could also be specified as `-f'+r
+receiver-only include, so `-f'R foo'` could also be specified as `-f'+r
 foo'`.
 0.  `clear, '!'` clears the current include/exclude list (takes no arg)
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-06-19 Thread Rsync CVS commit messages
The branch, master has been updated
   via  defe2287 Improve the filter intro.
   via  112bef11 Improve filter discussion.
   via  b38780f3 Some proxy improvements (mainly).
   via  5f33238f Some clarifications about transfer rules.
   via  3592ac3c Include bsd/strings.h if it exists
   via  c897b16f Fix minor typos (#327)
  from  4f741add Fix configure's "signed char" check

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


- Log -
commit defe2287aa7e4fedc3c5589d142cfad7b740dacd
Author: Wayne Davison 
Date:   Sun Jun 19 16:43:38 2022 -0700

Improve the filter intro.

commit 112bef11ad0af255326132d69ee8f1378dfad9ee
Author: Wayne Davison 
Date:   Sun Jun 19 13:53:28 2022 -0700

Improve filter discussion.

commit b38780f3fdcccd9280452536440e32dec32bade0
Author: Wayne Davison 
Date:   Sun Jun 19 11:15:36 2022 -0700

Some proxy improvements (mainly).

commit 5f33238f0667af79608b80f5befec973c3fc5135
Author: Wayne Davison 
Date:   Sun Jun 19 11:14:43 2022 -0700

Some clarifications about transfer rules.

commit 3592ac3c025da23b2dd291561ec6113940b9c11b
Author: Wayne Davison 
Date:   Sun Jun 19 10:02:51 2022 -0700

Include bsd/strings.h if it exists

Some systems apparently put strlcpy() into a separate bsd/strings.h file
without putting the function into a separate library. Thus, configure
finds that the function exists for linking but the build does not have
the declaration (which rsync only supplies if it is also supplying its
own version of the function).

commit c897b16f3231b2c22110b3792ec63c4b269d57d6
Author: Yuri Chornoivan 
Date:   Sun Jun 19 19:14:36 2022 +0300

Fix minor typos (#327)

---

Summary of changes:
 checksum.c   |   2 +-
 configure.ac |   3 +-
 rsync.1.md   | 502 +++
 rsync.h  |   3 +
 rsyncd.conf.5.md |  19 ++-
 5 files changed, 337 insertions(+), 192 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index b723109c..178b0f50 100644
--- a/checksum.c
+++ b/checksum.c
@@ -574,7 +574,7 @@ void sum_update(const char *p, int32 len)
 }
 
 /* NOTE: all the callers of sum_end() pass in a pointer to a buffer that is
- * MAX_DIGEST_LEN in size, so even if the csum-len is shorter that that (i.e.
+ * MAX_DIGEST_LEN in size, so even if the csum-len is shorter than that (i.e.
  * CSUM_MD4_ARCHAIC), we don't have to worry about limiting the data we write
  * into the "sum" buffer. */
 int sum_end(char *sum)
diff --git a/configure.ac b/configure.ac
index 37dbb18a..37241637 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,7 +13,8 @@ AC_CHECK_HEADERS(sys/fcntl.h sys/select.h fcntl.h sys/time.h 
sys/unistd.h \
 netdb.h malloc.h float.h limits.h iconv.h libcharset.h langinfo.h mcheck.h 
\
 sys/acl.h acl/libacl.h attr/xattr.h sys/xattr.h sys/extattr.h dl.h \
 popt.h popt/popt.h linux/falloc.h netinet/in_systm.h netgroup.h \
-zlib.h xxhash.h openssl/md4.h openssl/md5.h zstd.h lz4.h sys/file.h)
+zlib.h xxhash.h openssl/md4.h openssl/md5.h zstd.h lz4.h sys/file.h \
+bsd/string.h)
 AC_CHECK_HEADERS([netinet/ip.h], [], [], [[#include ]])
 AC_HEADER_MAJOR_FIXED
 
diff --git a/rsync.1.md b/rsync.1.md
index 1e665982..9c149b31 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -512,6 +512,9 @@ shell's command-line parsing.  Also keep in mind that a 
leading tilde (`~`) in
 a pathname is substituted by your shell, so make sure that you separate the
 option name from the pathname using a space if you want the shell to expand it.
 
+[comment]: # (Some markup below uses a literal non-breakable space when a 
backtick string)
+[comment]: # (needs to contain a space since markdown strips spaces from the 
start/end)
+
 [comment]: # (An OL starting at 0 is converted into a DL by the parser.)
 
 0.  `--help`
@@ -788,7 +791,7 @@ option name from the pathname using a space if you want the 
shell to expand it.
 
 In order to make [`--delete`](#opt) compatible with incremental recursion,
 rsync 3.0.0 made [`--delete-during`](#opt) the default delete mode (which
-was first first added in 2.6.4).
+was first added in 2.6.4).
 
 One side-effect of incremental recursion is that any missing
 sub-directories inside a recursively-scanned directory are (by default)
@@ -943,9 +946,8 @@ option name from the pathname using a space if you want the 
shell to expand it.
 directory where the destination has a file, the transfer would occur
 regardless of the timestamps.
 
-This option is a transfer rule, not an exclude, so it doesn't affect the
-data that goes into the file-lists, and thus it doesn't affect deletions.
-It just limits the files that the receiver requests to be transferred.
+This option is a [TRANSFER RULE](#TRANSFER_RULES), so don't expect any
+

[SCM] The rsync repository. - branch master updated

2022-06-18 Thread Rsync CVS commit messages
The branch, master has been updated
   via  4f741add Fix configure's "signed char" check
   via  355b81d8 Avoid -pedantic-errors on non-x86 for the moment.
  from  6f355533 Fix grabbing version value in configure.

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


- Log -
commit 4f741addbd5fd59de2c2655e5a044d6c2fe44aa5
Author: Wayne Davison 
Date:   Sat Jun 18 10:19:57 2022 -0700

Fix configure's "signed char" check

When pedantic errors are enabled, SIGNED_CHAR_OK was no longer
being set correctly. This would cause the checksum code to use
"char" instead of "signed char", and if the default for a "char"
was unsigned, the checksum code would fail to compute the right
hash values.  Fixes bug #317.

commit 355b81d8bce3d91c4bc5e86e67d3fdb225eef99e
Author: Wayne Davison 
Date:   Sat Jun 18 09:42:16 2022 -0700

Avoid -pedantic-errors on non-x86 for the moment.

---

Summary of changes:
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index 29698bc0..37dbb18a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1117,7 +1117,7 @@ else
 fi
 
 AC_CACHE_CHECK([for unsigned char],rsync_cv_SIGNED_CHAR_OK,[
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[signed char *s = 
""]])],[rsync_cv_SIGNED_CHAR_OK=yes],[rsync_cv_SIGNED_CHAR_OK=no])])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[signed char *s = (signed char 
*)""]])],[rsync_cv_SIGNED_CHAR_OK=yes],[rsync_cv_SIGNED_CHAR_OK=no])])
 if test x"$rsync_cv_SIGNED_CHAR_OK" = x"yes"; then
 AC_DEFINE(SIGNED_CHAR_OK, 1, [Define to 1 if "signed char" is a valid 
type])
 fi


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-06-01 Thread Rsync CVS commit messages
The branch, master has been updated
   via  6f355533 Fix grabbing version value in configure.
   via  71090b7e Improve discussion of old-args in advanced usage.
  from  2ab2ee16 Make md-convert --test work again.

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


- Log -
commit 6f35553372f262b8024918677645cafd649162e0
Author: Wayne Davison 
Date:   Wed Jun 1 17:41:28 2022 -0700

Fix grabbing version value in configure.

commit 71090b7e2caefb5894c10b02d34e2c57e4de848b
Author: Wayne Davison 
Date:   Sat May 14 16:31:50 2022 -0700

Improve discussion of old-args in advanced usage.

---

Summary of changes:
 configure.ac |  2 +-
 rsync.1.md   | 32 ++--
 2 files changed, 19 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index 24e383a9..29698bc0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ AC_CONFIG_SRCDIR([byteorder.h])
 AC_CONFIG_HEADER(config.h)
 AC_PREREQ([2.69])
 
-PACKAGE_VERSION=`sed 's/.*"\(.*\)".*/\1/' <$srcdir/version.h`
+PACKAGE_VERSION=`sed -n 's/.*RSYNC_VERSION.*"\(.*\)".*/\1/p' 
<$srcdir/version.h`
 
 AC_MSG_NOTICE([Configuring rsync $PACKAGE_VERSION])
 
diff --git a/rsync.1.md b/rsync.1.md
index 92030b3b..1e665982 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -177,20 +177,24 @@ the hostname omitted.  For instance, all these work:
 > rsync -aiv host::modname/file{1,2} host::modname/extra /dest/
 > rsync -aiv host::modname/first ::modname/extra{1,2} /dest/
 
-In a modern rsync, you only need to quote or backslash-escape things like
-spaces from the local shell but not also from the remote shell:
-
-> rsync -aiv host:'a simple file.pdf' /dest/
-
-Really old versions of rsync only allowed specifying one remote-source arg, so
-it required the remote side to split the args at a space.  You can still get
-this old-style arg splitting by using the [`--old-args`](#opt) option:
-
-> rsync -ai --old-args host:'dir1/file1 dir2/file2' /dest
-> rsync -ai --old-args host::'modname/dir1/file1 modname/dir2/file2' /dest
-
-See that option's section for an [environment variable](#RSYNC_OLD_ARGS) that
-can be exported to help old scripts.
+Really old versions of rsync (2.6.9 and before) only allowed specifying one
+remote-source arg, so some people have instead relied on the remote-shell
+performing space splitting to break up an arg into multiple paths. Such
+unintuitive behavior is no longer supported by default (though you can request
+it, as described below).
+
+Starting in 3.2.4, filenames are passed to a remote shell in such a way as to
+preserve the characters you give it. Thus, if you ask for a file with spaces
+in the name, that's what the remote rsync looks for:
+
+> rsync -aiv host:'a simple file.pdf' /dest/   
 
+
+If you use scripts that have been written to manually apply extra quoting to
+the remote rsync args (or to require remote arg splitting), you can ask rsync
+to let your script handle the extra escaping.  This is done by either adding
+the [`--old-args`](#opt) option to the rsync runs in the script (which requires
+a new rsync) or exporting [RSYNC_OLD_ARGS](#)=1 and [RSYNC_PROTECT_ARGS](#)=0
+(which works with old or new rsync versions).
 
 ## CONNECTING TO AN RSYNC DAEMON
 


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-05-06 Thread Rsync CVS commit messages
The branch, master has been updated
   via  2ab2ee16 Make md-convert --test work again.
  from  1e858e39 Manpage improvements.

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


- Log -
commit 2ab2ee166e673ca815e51d3058e66f4e8c26cc16
Author: Wayne Davison 
Date:   Fri May 6 19:37:40 2022 -0700

Make md-convert --test work again.

---

Summary of changes:
 md-convert | 1 +
 1 file changed, 1 insertion(+)


Changeset truncated at 500 lines:

diff --git a/md-convert b/md-convert
index ac3e658d..fb60b093 100755
--- a/md-convert
+++ b/md-convert
@@ -214,6 +214,7 @@ def find_man_substitutions():
 env_subs['VERSION'] = '1.0.0'
 env_subs['bindir'] = '/usr/bin'
 env_subs['libdir'] = '/usr/lib/rsync'
+tz_offset = 0
 else:
 for fn in (srcdir + 'version.h', 'Makefile'):
 try:


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-05-06 Thread Rsync CVS commit messages
The branch, master has been updated
   via  1e858e39 Manpage improvements.
   via  664639e3 Use the maintainer's timezone for translating the manpage 
date.
   via  517b9d91 Setup for 3.2.5dev.
  from  0ac7ebce Preparing for release of 3.2.4

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


- Log -
commit 1e858e39e6f787ee2eac665d290c8891bf4d5725
Author: Wayne Davison 
Date:   Fri May 6 17:32:48 2022 -0700

Manpage improvements.

commit 664639e34959ccdbbb10972ec3b2a24394fbabcb
Author: Wayne Davison 
Date:   Fri May 6 17:24:07 2022 -0700

Use the maintainer's timezone for translating the manpage date.

commit 517b9d91fc8eb73680a7b961c6e64ae7a68be23c
Author: Wayne Davison 
Date:   Fri May 6 17:20:24 2022 -0700

Setup for 3.2.5dev.

---

Summary of changes:
 NEWS.md | 11 +++
 md-convert  |  9 --
 rsync.1.md  | 83 -
 support/rrsync.1.md | 17 ++-
 version.h   |  3 +-
 5 files changed, 66 insertions(+), 57 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 187f2fdb..ecaac28c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,13 @@
+# NEWS for rsync 3.2.5 (UNRELEASED)
+
+## Changes in this version:
+
+### BUG FIXES:
+
+- ...
+
+--
+
 # NEWS for rsync 3.2.4 (15 Apr 2022)
 
 ## Changes in this version:
@@ -4482,6 +4492,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
+| ?? ???   | 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/md-convert b/md-convert
index 41a1930a..ac3e658d 100755
--- a/md-convert
+++ b/md-convert
@@ -115,7 +115,8 @@ NBR_SPACE = ('\xa0', r"\ ")
 
 FILENAME_RE = 
re.compile(r'^(?P(?P.+/)?(?P(?P[^/]+?)(\.(?P\d+))?)\.md)$')
 ASSIGNMENT_RE = re.compile(r'^(\w+)=(.+)')
-QUOTED_RE = re.compile(r'"(.+?)"')
+VER_RE = re.compile(r'^#define\s+RSYNC_VERSION\s+"(\d.+?)"', re.M)
+TZ_RE = re.compile(r'^#define\s+MAINTAINER_TZ_OFFSET\s+(-?\d+(\.\d+)?)', re.M)
 VAR_REF_RE = re.compile(r'\$\{(\w+)\}')
 VERSION_RE = re.compile(r' (\d[.\d]+)[, ]')
 BIN_CHARS_RE = re.compile(r'[\1-\7]+')
@@ -224,8 +225,10 @@ def find_man_substitutions():
 
 with open(srcdir + 'version.h', 'r', encoding='utf-8') as fh:
 txt = fh.read()
-m = QUOTED_RE.search(txt)
+m = VER_RE.search(txt)
 env_subs['VERSION'] = m.group(1)
+m = TZ_RE.search(txt) # the tzdata lib may not be installed, so we use 
a simple hour offset
+tz_offset = float(m.group(1)) * 60 * 60
 
 with open('Makefile', 'r', encoding='utf-8') as fh:
 for line in fh:
@@ -241,7 +244,7 @@ def find_man_substitutions():
 if var == 'srcdir':
 break
 
-env_subs['date'] = time.strftime('%d %b %Y', time.localtime(mtime))
+env_subs['date'] = time.strftime('%d %b %Y', time.gmtime(mtime + 
tz_offset)).lstrip('0')
 
 
 def html_via_commonmark(txt):
diff --git a/rsync.1.md b/rsync.1.md
index 313025df..92030b3b 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -154,6 +154,19 @@ rsync daemon by leaving off the module name:
 
 See the following section for more details.
 
+## SORTED TRANSFER ORDER
+
+Rsync always sorts the specified filenames into its internal transfer list.
+This handles the merging together of the contents of identically named
+directories, makes it easy to remove duplicate filenames. It can, however,
+confuse someone when the files are transferred in a different order than what
+was given on the command-line.
+
+If you need a particular file to be transferred prior to another, either
+separate the files into different rsync calls, or consider using
+[`--delay-updates`](#opt) (which doesn't affect the sorted transfer order, but
+does make the final file-updating phase happen much more rapidly).
+
 ## ADVANCED USAGE
 
 The syntax for requesting multiple files from a remote host is done by
@@ -270,6 +283,10 @@ example that uses the short version of the [`--rsh`](#opt) 
option:
 The "ssh-user" will be used at the ssh level; the "rsync-user" will be used to
 log-in to the "module".
 
+In this setup, the daemon is started by the ssh command that is accessing the
+system (which can be forced via the `~/.ssh/authorized_keys` file, if desired).
+However, when accessing a daemon directly, it needs to be started beforehand.
+
 ## STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS
 
 In order to connect to an rsync daemon, the remote system needs to have a
@@ -283,48 +300,18 @@ the daemon (including stand-alone and inetd 
configurations).
 

[SCM] The rsync repository. - annotated tag v3.2.4 created

2022-04-15 Thread Rsync CVS commit messages
The annotated tag, v3.2.4 has been created
at  db2a0aed76cfedeb87179017167c29cc2ab7a1e8 (tag)
   tagging  0ac7ebceef70417355f25daf9e2fd94e84c49749 (commit)
  replaces  v3.2.4pre4
 tagged by  Wayne Davison
on  Fri Apr 15 13:35:46 2022 -0700

- Log -
Version 3.2.4.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYlnXIhEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxVUjAKCYbWD6vCGTTr2gfD7jT+vi2/w4JACfbSzT
v37HrgyP134caQ7DbRNGFuw=
=EeWQ
-END PGP SIGNATURE-

Michal Ruprich (1):
  Fix for CVE-2018-25032 in zlib (#306)

Simon Deziel (1):
  systemd: restart daemon on-failure (#302)

Wayne Davison (4):
  Handle linking with a zlib with external read_buf.
  Add debugging comment about read_buf_().
  The latest news.
  Preparing for release of 3.2.4

Yoichi NAKAYAMA (1):
  Specify log format to avoid malfunctions and unexpected errors. (#305)

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-04-15 Thread Rsync CVS commit messages
The branch, master has been updated
   via  0ac7ebce Preparing for release of 3.2.4
  from  85c56b26 The latest news.

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


- Log -
commit 0ac7ebceef70417355f25daf9e2fd94e84c49749
Author: Wayne Davison 
Date:   Fri Apr 15 13:31:16 2022 -0700

Preparing for release of 3.2.4

---

Summary of changes:
 NEWS.md  |  4 ++--
 packaging/lsb/rsync.spec | 10 +-
 version.h|  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 72a62780..187f2fdb 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# NEWS for rsync 3.2.4 (UNRELEASED)
+# NEWS for rsync 3.2.4 (15 Apr 2022)
 
 ## Changes in this version:
 
@@ -4482,7 +4482,7 @@
 
 | RELEASE DATE | VER.   | DATE OF COMMIT\* | PROTOCOL|
 |--||--|-|
-| ?? Apr 2022  | 3.2.4  |  | 31  |
+| 15 Apr 2022  | 3.2.4  |  | 31  |
 | 06 Aug 2020  | 3.2.3  |  | 31  |
 | 04 Jul 2020  | 3.2.2  |  | 31  |
 | 22 Jun 2020  | 3.2.1  |  | 31  |
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 6c8f3f5c..0bdcd833 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.4
-%define fullversion %{version}pre4
-Release: 0.1.pre4
-%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
-* Sun Mar 27 2022 Wayne Davison 
-Released 3.2.4pre4.
+* Fri Apr 15 2022 Wayne Davison 
+Released 3.2.4.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/version.h b/version.h
index 4ce61d8f..f97bb16d 100644
--- a/version.h
+++ b/version.h
@@ -1 +1 @@
-#define RSYNC_VERSION "3.2.4pre4"
+#define RSYNC_VERSION "3.2.4"


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - annotated tag v3.2.4pre4 created

2022-04-15 Thread Rsync CVS commit messages
The annotated tag, v3.2.4pre4 has been created
at  5f6f11d2bb4da2ea787d9a428613e01b04bb6033 (tag)
   tagging  d821e4cbfbc66848cdf91a336af26fdb89dd9a8f (commit)
  replaces  v3.2.4pre3
 tagged by  Wayne Davison
on  Sun Mar 27 15:00:06 2022 -0700

- Log -
Version 3.2.4pre4.
-BEGIN PGP SIGNATURE-

iG8EABECAC8WIQQASMiwJtTJbw5YnC9shZ+xS5aoxQUCYkDeZhEcd2F5bmVkQHNh
bWJhLm9yZwAKCRBshZ+xS5aoxdb7AKC9YoSYJ8WwR4Fg8b+FRWNkR/qQJACfZq5d
TuX3Em5/vgelM9LsLmliKp4=
=/RuP
-END PGP SIGNATURE-

Sam Mikes (2):
  Fix wording in RSYNC_PORT section (#293)
  Extract unlink_and_reopen from copy_file (#294)

Wayne Davison (16):
  Specify the rsync that lsh.sh should run. [buildall]
  Add a couple more `--rsync-path` opts to the test. [buildall]
  Add a CAUTION message to --debug=FILTER for trailing whitespace.
  Build Cygwin on windows-2022 with newer python. [buildall]
  Change usage (--version) output to note when ASM isn't really being used.
  Make asm use more selectable
  Test newer FreeBSD.
  Use ac_includes_default in largefile support test.
  Add FALLTHROUGH comment.
  Also ignore a root-level rrsync file.
  Some word fixes.
  Rename compare-dest test.
  Combine some alt-dest tests.
  Some `--write-device` fixes.
  Add new & improved `--copy-devices` option.
  Preparing for release of 3.2.4pre4

---


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-04-13 Thread Rsync CVS commit messages
The branch, master has been updated
   via  85c56b26 The latest news.
   via  10aeb75c Add debugging comment about read_buf_().
   via  d41bb98c systemd: restart daemon on-failure (#302)
   via  2fda5169 Specify log format to avoid malfunctions and unexpected 
errors. (#305)
   via  1de71e8a Fix for CVE-2018-25032 in zlib (#306)
   via  60dd42be Handle linking with a zlib with external read_buf.
  from  d821e4cb Preparing for release of 3.2.4pre4

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


- Log -
commit 85c56b2603d97c2258891757976745a4d305
Author: Wayne Davison 
Date:   Mon Apr 11 09:46:38 2022 -0700

The latest news.

commit 10aeb75cea7be5cd01145919c38f85c199b8c32a
Author: Wayne Davison 
Date:   Mon Apr 11 09:46:32 2022 -0700

Add debugging comment about read_buf_().

commit d41bb98c09bf0b999c4eee4e2125c7e5d0747ec4
Author: Simon Deziel 
Date:   Mon Apr 11 12:08:11 2022 -0400

systemd: restart daemon on-failure (#302)

man 5 systemd.service:
> Setting this to on-failure is the recommended choice for long-running 
services

Partial fix for https://bugzilla.samba.org/show_bug.cgi?id=13463

Signed-off-by: Simon Deziel 

commit 2fda51692be7a6268e97237f7cf43f7ac16023f7
Author: Yoichi NAKAYAMA 
Date:   Tue Apr 12 00:57:19 2022 +0900

Specify log format to avoid malfunctions and unexpected errors. (#305)

Solve the following problems:
* mishandling of commit message lines similar to committer lines
* UnicodeDecodeError with commit messages that cannot be interpreted
  as utf-8

commit 1de71e8a7870fa1be29f562df61f4c5c4685818f
Author: Michal Ruprich 
Date:   Mon Apr 11 17:50:50 2022 +0200

Fix for CVE-2018-25032 in zlib (#306)

commit 60dd42be603a79cd57cec076fe1680e9037be774
Author: Wayne Davison 
Date:   Mon Apr 11 08:29:54 2022 -0700

Handle linking with a zlib with external read_buf.

---

Summary of changes:
 NEWS.md | 24 ++---
 io.c|  1 +
 packaging/systemd/rsync.service |  1 +
 rsync.h |  4 +++
 support/git-set-file-times  |  4 +--
 zlib/deflate.c  | 74 ++---
 zlib/deflate.h  | 25 ++
 zlib/trees.c| 50 
 8 files changed, 106 insertions(+), 77 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index e66b3895..72a62780 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -20,13 +20,13 @@
If your rsync script depends on the old arg-splitting behavior, either run
it with the [`--old-args`](rsync.1#opt) option or `export RSYNC_OLD_ARGS=1`
in the script's environment.  See also the [ADVANCED USAGE](rsync.1#)
-   section of rsync's manpage.
+   section of rsync's manpage for how to use a more modern arg style.
 
  - A long-standing bug was preventing rsync from figuring out the current
locale's decimal point character, which made rsync always output numbers
using the "C" locale.  Since this is now fixed in 3.2.4, a script that
-   parses rsync's decimal numbers (e.g. from the verbose footer) should be sure
-   to setup the environment in a way that the output continues to be in the C
+   parses rsync's decimal numbers (e.g. from the verbose footer) may want to
+   setup the environment in a way that the output continues to be in the C
locale.  For instance, one of the following should work fine:
 
```shell
@@ -44,6 +44,10 @@
export LC_NUMERIC=C.UTF-8
```
 
+### SECURITY FIXES:
+
+ - A fix for CVE-2018-25032 in the bundled zlib (memory corruption issue).
+
 ### BUG FIXES:
 
  - Fixed a bug with [`--inplace`](rsync.1#opt) + [`--sparse`](rsync.1#opt) (and
@@ -103,6 +107,12 @@
  - Silence some chmod warnings about symlinks when it looks like we have a
function to set their permissions but they can't really be set.
 
+ - Fixed a potential issue in git-set-file-times when handling commits with
+   high-bit characters in the description & when handling a description that
+   might mimick the git raw-commit deliniators.  (See the support dir.)
+
+ - The bundled systemd/rsync.service file now includes `Restart=on-failure`.
+
 ### ENHANCEMENTS:
 
  - Use openssl's `-verify_hostname` option in the rsync-ssl script.
@@ -139,7 +149,7 @@
that is being refused due to the Linux fs.protected_regular sysctl setting.
 
  - When [`--chown`](rsync.1#opt), [`--usermap`](rsync.1#opt), or
-   [`--groupmap`](rsync.1#opt), is specified, rsync now makes sure that the
+   [`--groupmap`](rsync.1#opt) is specified, rsync now makes sure that the
appropriate [`--owner`](rsync.1#opt) and/or [`--group`](rsync.1#opt) options
are enabled.
 
@@ -212,7 +222,8 @@
  - Renamed configure's `--enable-asm` option to 

[SCM] The rsync repository. - branch master updated

2022-03-27 Thread Rsync CVS commit messages
The branch, master has been updated
   via  d821e4cb Preparing for release of 3.2.4pre4
   via  8aa46511 Add new & improved `--copy-devices` option.
   via  8977815f Some `--write-device` fixes.
   via  a48c20c9 Combine some alt-dest tests.
   via  601f4743 Rename compare-dest test.
   via  ef76d6cf Extract unlink_and_reopen from copy_file (#294)
   via  96ed4b47 Some word fixes.
  from  13c4019e Also ignore a root-level rrsync file.

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


- Log -
commit d821e4cbfbc66848cdf91a336af26fdb89dd9a8f
Author: Wayne Davison 
Date:   Sun Mar 27 14:59:57 2022 -0700

Preparing for release of 3.2.4pre4

commit 8aa465117f42cd52119b56f873854a590434ea54
Author: Wayne Davison 
Date:   Sun Mar 27 13:36:31 2022 -0700

Add new & improved `--copy-devices` option.

commit 8977815f5d70d1b6747837b41e7e0b5bd672ef01
Author: Wayne Davison 
Date:   Sun Mar 27 12:26:39 2022 -0700

Some `--write-device` fixes.

commit a48c20c97c151e297d79327912e5c294450c342b
Author: Wayne Davison 
Date:   Sat Mar 26 10:00:24 2022 -0700

Combine some alt-dest tests.

commit 601f47436f6be21ac80c1320bf6c321eeb372dd1
Author: Wayne Davison 
Date:   Sat Mar 26 10:01:10 2022 -0700

Rename compare-dest test.

commit ef76d6cfa5ff6b33974083756d3ff0921e5304be
Author: Sam Mikes 
Date:   Sat Mar 26 10:14:10 2022 -0600

Extract unlink_and_reopen from copy_file (#294)

* add tests to exercise copy_file

* Extract new function unlink_and_reopen from copy_file

The argument `ofd` to copy_file is always set to -1 unless
`open_tmpfile()` is called at generator.c:909

This change
 * removes assignment to a function argument
 * renames argument `ofd` to `tmpfilefd` in line with existing uses
 * extracts a new function `unlink_and_reopen` which is static to util1.c
 * rewrites header comments for copy_file

commit 96ed4b47b9a9d5c30b7da942d3c73ad0c2e93491
Author: Wayne Davison 
Date:   Sat Mar 26 08:28:16 2022 -0700

Some word fixes.

---

Summary of changes:
 INSTALL.md  |  6 ++--
 NEWS.md | 56 ++---
 README.md   |  4 +--
 checksum.c  |  2 +-
 compat.c|  2 +-
 configure.ac| 10 +++
 exclude.c   |  2 +-
 flist.c | 31 +++--
 generator.c | 18 ++--
 lib/md5.c   |  2 +-
 md-convert  |  6 ++--
 options.c   |  7 +
 packaging/lsb/rsync.spec|  8 +++---
 prepare-source  |  2 +-
 receiver.c  | 10 ---
 rsync-ssl.1.md  |  4 +--
 rsync.1.md  | 39 --
 rsyncd.conf.5.md| 21 +++---
 sender.c| 10 +++
 testsuite/alt-dest.test | 68 +
 testsuite/compare-dest.test | 37 
 usage.c |  6 ++--
 util1.c | 61 +++-
 version.h   |  2 +-
 24 files changed, 267 insertions(+), 147 deletions(-)
 create mode 100644 testsuite/alt-dest.test
 delete mode 100644 testsuite/compare-dest.test


Changeset truncated at 500 lines:

diff --git a/INSTALL.md b/INSTALL.md
index 6a95c451..5b23ed0e 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -13,11 +13,11 @@ You need to have a C compiler installed and optionally a 
C++ compiler in order
 to try to build some hardware-accelerated checksum routines.  Rsync also needs
 a modern awk, which might be provided via gawk or nawk on some OSes.
 
-## Autoconf & man pages
+## Autoconf & manpages
 
 If you're installing from the git repo (instead of a release tar file) you'll
 also need the GNU autotools (autoconf & automake) and your choice of 2 python3
-markdown libraries: cmarkgfm or commonmark (needed to generate the man pages).
+markdown libraries: cmarkgfm or commonmark (needed to generate the manpages).
 If your OS doesn't provide a python3-cmarkgfm or python3-commonmark package,
 you can run the following to install the commonmark python library for your
 build user (after installing python3's pip package):
@@ -28,7 +28,7 @@ You can test if you've got it fixed by running (from the 
rsync checkout):
 
 > ./md2man --test rsync-ssl.1.md
 
-Alternately, you can avoid generating the man pages by fetching the very latest
+Alternately, you can avoid generating the manpages by fetching the very latest
 versions (that match the latest git source) from the [generated-files][6] dir.
 One way to do that is to run:
 
diff --git a/NEWS.md b/NEWS.md
index 8e47ca37..e66b3895 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -20,7 +20,7 @@
If your rsync 

[SCM] The rsync repository. - branch master updated

2022-03-13 Thread Rsync CVS commit messages
The branch, master has been updated
   via  13c4019e Also ignore a root-level rrsync file.
   via  b7b387b1 Add FALLTHROUGH comment.
   via  7569edfa Use ac_includes_default in largefile support test.
   via  55b2a068 Test newer FreeBSD.
   via  b81a5095 Make asm use more selectable
  from  26f4dbe1 Change usage (--version) output to note when ASM isn't 
really being used.

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


- Log -
commit 13c4019e94015b234697c75d9d3624862e962d3c
Author: Wayne Davison 
Date:   Sun Mar 13 10:45:09 2022 -0700

Also ignore a root-level rrsync file.

commit b7b387b1f798f675109986eaf3e62fdf41037c79
Author: Wayne Davison 
Date:   Sun Mar 13 09:31:44 2022 -0700

Add FALLTHROUGH comment.

commit 7569edfaef46e1b631849c884c7c4937ba425a0f
Author: Wayne Davison 
Date:   Wed Mar 9 18:38:03 2022 -0800

Use ac_includes_default in largefile support test.

commit 55b2a06812e39f15f52e92b979600cb82be210cb
Author: Wayne Davison 
Date:   Thu Mar 3 17:26:47 2022 -0800

Test newer FreeBSD.

commit b81a5095563776397a4239132d2b737a1083e02f
Author: Wayne Davison 
Date:   Thu Mar 3 17:00:57 2022 -0800

Make asm use more selectable

- Make the SIMD ASM code off by default. Use configure --enable-simd-asm
  to enable.
- Allow MD5 ASM code to be requested even when OpenSSL is handling MD4
  checksums. Use configure --enable-md5-asm to enable.

---

Summary of changes:
 .cirrus.yml  |   2 +-
 .gitignore   |   1 +
 Makefile.in  |  15 ++---
 NEWS.md  |  21 +--
 checksum.c   |  34 +--
 configure.ac | 111 +++---
 lib/md5-asm-x86_64.S |   4 +-
 lib/md5.c|  19 +++---
 lib/mdigest.h|  13 ++--
 rsync.h  |   9 +--
 simd-checksum-avx2.S |  14 -
 simd-checksum-x86_64.cpp | 151 +++
 syscall.c|   2 +-
 usage.c  |  13 ++--
 14 files changed, 292 insertions(+), 117 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.cirrus.yml b/.cirrus.yml
index 5112ef88..16489f8f 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,7 +1,7 @@
 freebsd_task:
   name: FreeBSD
   freebsd_instance:
-image_family: freebsd-12-2
+image_family: freebsd-13-0
   env:
 PATH: /usr/local/bin:$PATH
   prep_script:
diff --git a/.gitignore b/.gitignore
index 85290116..9e59c9c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@ aclocal.m4
 /proto.h
 /proto.h-tstamp
 /rsync*.[15]
+/rrsync
 /rrsync*.1
 /rsync*.html
 /rrsync*.html
diff --git a/Makefile.in b/Makefile.in
index 8817edab..3cde9557 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -30,8 +30,9 @@ SHELL=/bin/sh
 .SUFFIXES:
 .SUFFIXES: .c .o
 
-SIMD_x86_64=simd-checksum-x86_64.o simd-checksum-avx2.o
-ASM_x86_64=lib/md5-asm-x86_64.o
+ROLL_SIMD_x86_64=simd-checksum-x86_64.o
+ROLL_ASM_x86_64=simd-checksum-avx2.o
+MD5_ASM_x86_64=lib/md5-asm-x86_64.o
 
 GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \
 rsync-ssl.1 rsync-ssl.1.html rsyncd.conf.5 rsyncd.conf.5.html \
@@ -46,7 +47,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o 
sender.o exclude.o \
util1.o util2.o main.o checksum.o match.o syscall.o log.o backup.o 
delete.o
 OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
-OBJS3=progress.o pipe.o @ASM@ @SIMD@
+OBJS3=progress.o pipe.o @MD5_ASM@ @ROLL_SIMD@ @ROLL_ASM@
 DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o 
authenticate.o
 popt_OBJS=popt/findme.o  popt/popt.o  popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o
@@ -147,13 +148,13 @@ git-version.h: ALWAYS_RUN
 ALWAYS_RUN:
 
 simd-checksum-x86_64.o: simd-checksum-x86_64.cpp
-   @$(srcdir)/cmd-or-msg disable-simd $(CXX) -I. $(CXXFLAGS) $(CPPFLAGS) 
-c -o $@ $(srcdir)/simd-checksum-x86_64.cpp
+   @$(srcdir)/cmd-or-msg disable-roll-simd $(CXX) -I. $(CXXFLAGS) 
$(CPPFLAGS) -c -o $@ $(srcdir)/simd-checksum-x86_64.cpp
 
 simd-checksum-avx2.o: simd-checksum-avx2.S
-   @$(srcdir)/cmd-or-msg disable-asm $(CC) $(CFLAGS) 
--include=$(srcdir)/rsync.h -DAVX2_ASM -I. @NOEXECSTACK@ -c -o $@ 
$(srcdir)/simd-checksum-avx2.S
+   @$(srcdir)/cmd-or-msg disable-roll-asm $(CC) $(CFLAGS) -I. 
@NOEXECSTACK@ -c -o $@ $(srcdir)/simd-checksum-avx2.S
 
-lib/md5-asm-x86_64.o: lib/md5-asm-x86_64.S config.h lib/md-defines.h
-   @$(srcdir)/cmd-or-msg disable-asm $(CC) -I. @NOEXECSTACK@ -c -o $@ 
$(srcdir)/lib/md5-asm-x86_64.S
+lib/md5-asm-x86_64.o: lib/md5-asm-x86_64.S lib/md-defines.h
+   @$(srcdir)/cmd-or-msg disable-md5-asm $(CC) -I. @NOEXECSTACK@ -c -o $@ 
$(srcdir)/lib/md5-asm-x86_64.S
 
 tls$(EXEEXT): 

[SCM] The rsync repository. - branch master updated

2022-02-21 Thread Rsync CVS commit messages
The branch, master has been updated
   via  26f4dbe1 Change usage (--version) output to note when ASM isn't 
really being used.
   via  b3f1970f Fix wording in RSYNC_PORT section (#293)
   via  c51da917 Build Cygwin on windows-2022 with newer python. [buildall]
   via  81f71f6f Add a CAUTION message to --debug=FILTER for trailing 
whitespace.
  from  48e70055 Add a couple more `--rsync-path` opts to the test. 
[buildall]

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


- Log -
commit 26f4dbe12c63d77ce8dcb7623b53bcf76be5c277
Author: Wayne Davison 
Date:   Mon Feb 21 16:39:16 2022 -0800

Change usage (--version) output to note when ASM isn't really being used.

commit b3f1970f18578fc4bbbc965f31d32a3ba677ef32
Author: Sam Mikes 
Date:   Mon Feb 21 15:00:45 2022 -0700

Fix wording in RSYNC_PORT section (#293)

Fix wording from 'does is not read' -> 'is not read'

commit c51da9174f626f6da2b3bf46a045099aeef72175
Author: Wayne Davison 
Date:   Wed Feb 9 13:59:08 2022 -0800

Build Cygwin on windows-2022 with newer python. [buildall]

commit 81f71f6f29656325863d5da78f4fece991d1574d
Author: Wayne Davison 
Date:   Thu Jan 27 08:31:24 2022 -0800

Add a CAUTION message to --debug=FILTER for trailing whitespace.

---

Summary of changes:
 .github/workflows/build.yml |  9 +++---
 NEWS.md |  3 ++
 configure.ac| 76 +
 exclude.c   | 14 ++---
 rsync.1.md  | 10 +-
 usage.c |  2 +-
 6 files changed, 68 insertions(+), 46 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a44cd2ab..75987fa3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -86,16 +86,15 @@ jobs:
   rrsync
 
   cygwin-build:
-runs-on: windows-latest
+runs-on: windows-2022
 if: (github.event_name == 'schedule' || 
contains(github.event.head_commit.message, '[buildall]'))
 steps:
 - uses: actions/checkout@v2
-- uses: crazy-max/ghaction-chocolatey@v1.2.2
-  with:
-args: install -y --no-progress cygwin cyg-get
+- name: cygwin
+  run: choco install -y --no-progress cygwin cyg-get
 - name: prep
   run: |
-cyg-get make autoconf automake gcc-core attr libattr-devel python38 
python38-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
+cyg-get make autoconf automake gcc-core attr libattr-devel python39 
python39-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
 curl.exe -o git-version.h 
https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
 echo "C:/tools/cygwin/bin" >>$Env:GITHUB_PATH
 - name: commonmark
diff --git a/NEWS.md b/NEWS.md
index 3083ca3a..87abba21 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -138,6 +138,9 @@
 
  - More ASM optimizations from Shark64.
 
+ - Using `--debug=FILTER` now outputs a caution message if a filter rule
+   has trailing whitespace.
+
  - Transformed rrsync into a python script with improvements:
- Security has been beefed up.
- The known rsync options were updated to include recent additions.
diff --git a/configure.ac b/configure.ac
index 7031283a..9960fafc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -322,39 +322,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[return 0;]])],
 CFLAGS="$OLD_CFLAGS"
 AC_SUBST(NOEXECSTACK)
 
-ASM=
-
-AC_MSG_CHECKING([whether to enable ASM optimizations])
-AC_ARG_ENABLE(asm,
-AS_HELP_STRING([--enable-asm],[enable/disable to control ASM 
optimizations]))
-
-if test x"$enable_asm" = x""; then
-case "$host_os" in
-   *linux*) ;;
-   *) enable_asm=no ;;
-esac
-fi
-
-if test x"$enable_asm" != x"no"; then
-if test x"$host_cpu" = x"x86_64" || test x"$host_cpu" = x"amd64"; then
-   ASM="$host_cpu"
-elif test x"$enable_asm" = x"yes"; then
-AC_MSG_RESULT(unavailable)
-AC_MSG_ERROR(The ASM optimizations are currently x86_64|amd64 only.
-Omit --enable-asm to continue without it.)
-fi
-fi
-
-if test x"$ASM" != x""; then
-AC_MSG_RESULT([yes ($ASM)])
-AC_DEFINE(HAVE_ASM, 1, [Define to 1 to enable ASM optimizations])
-ASM='$(ASM_'"$ASM)"
-else
-AC_MSG_RESULT(no)
-fi
-
-AC_SUBST(ASM)
-
 # arrgh. libc in some old debian version screwed up the largefile
 # stuff, getting byte range locking wrong
 AC_CACHE_CHECK([for broken largefile support],rsync_cv_HAVE_BROKEN_LARGEFILE,[
@@ -457,7 +424,8 @@ if test x"$enable_openssl" != x"no"; then
 if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test 
x"$ac_cv_header_openssl_md5_h" = x"yes"; then
   AC_MSG_RESULT(yes)
   AC_SEARCH_LIBS(MD5_Init, crypto,
-  [AC_DEFINE(USE_OPENSSL)],
+  

[SCM] The rsync repository. - branch master updated

2022-01-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  48e70055 Add a couple more `--rsync-path` opts to the test. 
[buildall]
  from  2b3e6881 Specify the rsync that lsh.sh should run. [buildall]

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


- Log -
commit 48e700555424d535da30f6118b3c753502f66a87
Author: Wayne Davison 
Date:   Thu Jan 20 10:51:13 2022 -0800

Add a couple more `--rsync-path` opts to the test. [buildall]

---

Summary of changes:
 testsuite/00-hello.test | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/testsuite/00-hello.test b/testsuite/00-hello.test
index 97feca95..ebd06836 100644
--- a/testsuite/00-hello.test
+++ b/testsuite/00-hello.test
@@ -47,7 +47,7 @@ copy_weird '-ais' '' 'lh:'
 echo test6
 
 touch "$fromdir/one" "$fromdir/two"
-(cd "$fromdir" && $RSYNC -ai --old-args lh:'one two' "$todir/")
+(cd "$fromdir" && $RSYNC -ai --old-args --rsync-path="$RSYNC" lh:'one two' 
"$todir/")
 if [ ! -f "$todir/one" ] || [ ! -f "$todir/two" ]; then
 test_fail "old-args copy of 'one two' failed"
 fi
@@ -55,7 +55,7 @@ fi
 echo test7
 
 rm "$todir/one" "$todir/two"
-(cd "$fromdir" && RSYNC_OLD_ARGS=1 $RSYNC -ai lh:'one two' "$todir/")
+(cd "$fromdir" && RSYNC_OLD_ARGS=1 $RSYNC -ai --rsync-path="$RSYNC" lh:'one 
two' "$todir/")
 
 # The script would have aborted on error, so getting here means we've won.
 exit 0


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[SCM] The rsync repository. - branch master updated

2022-01-20 Thread Rsync CVS commit messages
The branch, master has been updated
   via  2b3e6881 Specify the rsync that lsh.sh should run. [buildall]
  from  cc832943 Preparing for release of 3.2.4pre3

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


- Log -
commit 2b3e68814b5a8f650b4813057ed891c846134d0a
Author: Wayne Davison 
Date:   Thu Jan 20 09:00:01 2022 -0800

Specify the rsync that lsh.sh should run. [buildall]

---

Summary of changes:
 testsuite/00-hello.test | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/testsuite/00-hello.test b/testsuite/00-hello.test
index e9477182..97feca95 100644
--- a/testsuite/00-hello.test
+++ b/testsuite/00-hello.test
@@ -29,7 +29,7 @@ append_line test1
 checkit "$RSYNC -ai '$fromdir/' '$todir/'" "$fromdir" "$todir"
 
 copy_weird() {
-checkit "$RSYNC $1 \"$2$fromdir/$weird_name/\" \"$3$todir/$weird_name\"" 
"$fromdir" "$todir"
+checkit "$RSYNC $1 --rsync-path='$RSYNC' '$2$fromdir/$weird_name/' 
'$3$todir/$weird_name'" "$fromdir" "$todir"
 }
 
 append_line test2


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


  1   2   3   4   5   6   7   8   9   10   >