[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
d.yml 
b/.github/workflows/solaris-build.yml
index 7de3d35e..557a5781 100644
--- a/.github/workflows/solaris-build.yml
+++ b/.github/workflows/solaris-build.yml
@@ -5,16 +5,18 @@ on:
 branches: [ master ]
   pull_request:
 branches: [ master ]
+  schedule:
+- cron: '42 8 * * *'
 
 jobs:
-  solaris-test:
+  test:
 runs-on: ubuntu-latest
 name: Test rsync on Solaris
 steps:
 - uses: actions/checkout@v4
   with:
 fetch-depth: 0
-- name: Test in Solaris
+- name: Test in Solaris VM
   id: test
   uses: vmactions/solaris-vm@v1
   with:
@@ -27,3 +29,15 @@ jobs:
   make
   ./rsync --version
   ./rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+- name: save artifact
+  uses: actions/upload-artifact@v3
+  with:
+name: solaris-bin
+path: |
+  rsync
+  rsync-ssl
+  rsync.1
+  rsync-ssl.1
+  rsyncd.conf.5
+  rrsync.1
+  rrsync
diff --git a/.github/workflows/ubuntu-build.yml 
b/.github/workflows/ubuntu-build.yml
new file mode 100644
index ..60dc8d5f
--- /dev/null
+++ b/.github/workflows/ubuntu-build.yml
@@ -0,0 +1,50 @@
+name: Test rsync on Ubuntu
+
+on:
+  push:
+branches: [ master ]
+  pull_request:
+branches: [ master ]
+  schedule:
+- cron: '42 8 * * *'
+
+jobs:
+  test:
+runs-on: ubuntu-20.04
+name: Test rsync on Ubuntu
+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


-- 
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  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
a/packaging/pre-push
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash -e
-
-cat >/dev/null # Just discard stdin data
-
-if [[ -f /proc/$PPID/cmdline ]]; then
-while read -d $'\0' arg ; do
-   if [[ "$arg" == '--tags' ]] ; then
-   exit 0
-   fi
-done 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  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
 <https://lists.samba.org/>.
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
 <https://lists.samba.org/>.
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
b+=k[1]; a+=k[0]; break;
+   case  8:b += k[1]; a+=k[0]; break;
+   case  7:b += k[1]&0xff; a+=k[0]; break;
+   case  6:b += k[1]&0x; a+=k[0]; break;
+   case  5:b += k[1]&0xff; a+=k[0]; break;
+   case  4:a += k[0]; break;
+   case  3:a += k[0]&0xff; break;
+   case  2:a += k[0]&0x; break;
+   case  1:a += k[0]&0xff; break;
+   case  0:goto exit;
+   }
+
+#else /* make valgrind happy */
+
+   k8 = (const uint8_t *)k;
+   switch (size) {
+   case 12:c += k[2]; b+=k[1]; a+=k[0] break;
+   case 11:c += ((uint32_t)k8[10])<<16;/* fallthrough */
+   case 10:c += ((uint32_t)k8[9])<<8;  /* fallthrough */
+   case  9:c += k8[8]; /* fallthrough */
+   case  8:b += k[1]; a+=k[0]; break;
+   case  7:b += ((uint32_t)k8[6])<<16; /* fallthrough */
+   case  6:b += ((uint32_t)k8[5])<<8;  /* fallthrough */
+   case  5:b += k8[4]; /* fallthrough */
+   case  4:a += k[0];  break;
+   case  3:a += ((uint32_t)k8[2])<<16; /* fallthrough */
+   case  2:a += ((uint32_t)k8[1])<<8;  /* fallthrough */
+   case  1:a += k8[0]; break;
+   case  0:goto exit;
+   }
+
+#endif /* !valgrind */
+
+} else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) {
+   const uint16_t *k = (const uint16_t *)key;  /* read 16-bit chunks */
+   const uint8_t  *k8;
+
+   /*--- all but last block: aligned reads and different mixing */
+   while (size > 12) {
+   a += k[0] + (((uint32_t)k[1])<<16);
+   b += k[2] + (((uint32_t)k[3])<<16);
+   c += k[4] + (((uint32_t)k[5])<<16);
+   _JLU3_MIX(a,b,c);
+   size -= 12;
+   k += 6;
+   }
+
+   /*- handle the last (probably partial) block */
+   k8 = (const uint8_t *)k;
+   switch (size) {
+   case 12:
+   c += k[4]+(((uint32_t)k[5])<<16);
+   b += k[2]+(((uint32_t)k[3])<<16);
+   a += k[0]+(((uint32_t)k[1])<<16);
+   break;
+   case 11:
+   c += ((uint32_t)k8[10])<<16;
+   /* fallthrough */
+   case 10:
+   c += (uint32_t)k[4];
+   b += k[2]+(((uint32_t)k[3])<<16);
+   a += k[0]+(((uint32_t)k[1])<<16);
+   break;
+   case  9:
+   c += (uint32_t)k8[8];
+   /* fallthrough */
+   case  8:
+   b += k[2]+(((uint32_t)k[3])<<16);


-- 
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  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 
<https://rsync.samba.org/>.  The site
 includes an FAQ-O-Matic which may cover questions unanswered by this manual
 page.
 
-The rsync github project is <https://github.com/WayneD/rsync>.
+The rsync github project is <https://github.com/RsyncProject/rsync>.
 
 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 <https://rsync.samba.org/> and its github
-project is <https://github.com/WayneD/rsync>.
+project is <https://github.com/RsyncProject/rsync>.
 
 ## 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 <https://rsync.samba.org/> and its github
-project is <https://github.com/WayneD/rsync>.
+project is <https://github.com/RsyncProject/rsync>.
 
 ## 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
set of excludes
 # that will exclude all mount points from the list.  This is
@@ -27,23 +27,33 @@
 # awk '{print $2}' /proc/mounts | grep -v '^/$' | \
 #   rsync -avf 'merge,/- -' /dir host:/dest/
 
-use strict;
-use warnings;
-use Cwd 'abs_path';
+import os, argparse
 
-my $file = '/proc/mounts';
-my $dir = shift || '/';
-my $trailing_slash = $dir =~ m{./$} ? '/' : '';
-$dir = abs_path($dir) . $trailing_slash;
-$dir =~ s{([^/]*)$}{};
-my $trailing = $1;
-$trailing = '' if $trailing eq '.' || !-d "$dir$trailing";
-$trailing .= '/' if $trailing ne '';
+MNT_FILE = '/proc/mounts';
 
-open(IN, $file) or die "Unable to open $file: $!\n";
-while () {
-$_ = (split)[1];
-next unless s{^\Q$dir$trailing\E}{}o && $_ ne '';
-print "- /$trailing$_\n";
-}
-close IN;
+def main():
+trailing_slash = '/' if args.path.endswith(('/', '/.')) and args.path != 
'/' else ''
+args.path = os.path.realpath(args.path) + trailing_slash
+parent_dir = os.path.dirname(args.path)
+trailing = os.path.basename(args.path)
+if not os.path.isdir(args.path):
+trailing = ''
+elif trailing != '':
+trailing += '/'
+want_path = os.path.join(parent_dir, trailing)
+wp_len = len(want_path)
+
+with open(MNT_FILE) as fh:
+for line in fh:
+mnt_path = line.split()[1]
+if mnt_path.startswith(want_path) and mnt_path != want_path:
+print(f"- /{trailing}{mnt_path[wp_len:]}")
+
+if __name__ == '__main__':
+parser = argparse.ArgumentParser(description="Output mount points as rsync 
excludes.", add_help=False)
+parser.add_argument("--help", "-h", action="help", help="Output this help 
message and exit.")
+parser.add_argument('path', metavar='PATH', nargs='?', default='/', 
help="Limit output to those within the PATH hierarchy.")
+args = parser.parse_args()
+main()
+
+# vim: sw=4 et
diff --git a/util2.c b/util2.c
index a8609a5d..3b5a8f41 100644
--- a/util2.c
+++ b/util2.c
@@ -72,7 +72,7 @@ int msleep(int t)
 
 void *my_alloc(void *ptr, size_t num, size_t size, const char *file, int line)
 {
-   if (max_alloc && num >= max_alloc/size) {
+   if (num >= max_alloc/size) {
if (!file)
return NULL;
        rprintf(FERROR, "[%s] exceeded --max-alloc=%s setting (file=%s, 
line=%d)\n",


-- 
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-05-04 Thread Rsync CVS commit messages
s"$UNAME_RELEASE"
-   exit ;;
+   GUESS=m68k-sun-sunos$UNAME_RELEASE
+   ;;
 sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 
2>/dev/null`
test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
-   case "`/bin/arch`" in
+   case `/bin/arch` in
        sun3)
-   echo m68k-sun-sunos"$UNAME_RELEASE"
+   GUESS=m68k-sun-sunos$UNAME_RELEASE
;;
sun4)
-   echo sparc-sun-sunos"$UNAME_RELEASE"
+   GUESS=sparc-sun-sunos$UNAME_RELEASE
;;
esac
-   exit ;;
+   ;;
 aushp:SunOS:*:*)
-   echo sparc-auspex-sunos"$UNAME_RELEASE"
-   exit ;;
+   GUESS=sparc-auspex-sunos$UNAME_RELEASE
+   ;;
 # The situation for MiNT is a little confusing.  The machine name
 # can be virtually everything (everything which is not
 # "atarist" or "atariste" at least should have a processor
@@ -456,41 +490,41 @@ case 
"$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
 # MiNT.  But MiNT is downward compatible to TOS, so this should
 # be no problem.
 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-   echo m68k-atari-mint"$UNAME_RELEASE"
-   exit ;;
+   GUESS=m68k-atari-mint$UNAME_RELEASE
+   ;;
 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-   echo m68k-atari-mint"$UNAME_RELEASE"
-   exit ;;


-- 
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-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
ight (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
@@ -372,7 +372,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, 
OFF_T size_r,
 
if (fd != -1 && offset > 0) {
if (sparse_files > 0) {
-   if (sparse_end(fd, offset) != 0)
+   if (sparse_end(fd, offset, updating_basis_or_equiv) != 
0)
goto report_write_error;
} else if (flush_write_file(fd) < 0) {
report_write_error:
diff --git a/rsync.1.md b/rsync.1.md
index ee0a4f39..16dbf20c 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -1636,7 +1636,9 @@ expand it.
 0.  `--crtimes`, `-N,`
 
 This tells rsync to set the create times (newness) of the destination
-files to the same value as the source files.
+files to the same value as the source files. Your OS & filesystem must
+support the setting of arbitrary creation (birth) times for this option
+to be supported.
 
 0.  `--omit-dir-times`, `-O`
 
diff --git a/support/rrsync b/support/rrsync
index 94c85f59..4b4b87c5 100755
--- a/support/rrsync
+++ b/support/rrsync
@@ -258,6 +258,9 @@ def main():
 
 if args.munge:
 rsync_opts.append('--munge-links')
+
+if args.no_overwrite:
+  rsync_opts.append('--ignore-existing')
 
 if not rsync_args:
 rsync_args = [ '.' ]
@@ -364,6 +367,7 @@ if __name__ == '__main__':
 arg_parser.add_argument('-munge', action='store_true', help="Enable 
rsync's --munge-links on the server side.")
 arg_parser.add_argument('-no-del', action='store_true', help="Disable 
rsync's --delete* and --remove* options.")
 arg_parser.add_argument('-no-lock', action='store_true', help="Avoid the 
single-run (per-user) lock check.")
+arg_parser.add_argument('-no-overwrite', action='store_true', 
help="Prevent overwriting existing files by enforcing --ignore-existing")
 arg_parser.add_argument('-help', '-h', action='help', help="Output this 
help message and exit.")
 arg_parser.add_argument('dir', metavar='DIR', help="The restricted 
directory to use.")
 args = arg_parser.parse_args()
diff --git a/support/rrsync.1.md b/support/rrsync.1.md
index 98f2cab0..24892900 100644
--- a/support/rrsync.1.md
+++ b/support/rrsync.1.md
@@ -5,7 +5,7 @@ rrsync - a script to setup restricted rsync users via ssh logins
 ## SYNOPSIS
 
 ```
-rrsync [-ro|-rw] [-munge] [-no-del] [-no-lock] DIR
+rrsync [-ro|-rw] [-munge] [-no-del] [-no-lock] [-no-overwrite]  DIR
 ```
 
 The single non-option argument specifies the restricted _DIR_ to use. It can be
@@ -85,6 +85,11 @@ The remainder of this manpage is dedicated to using the 
rrsync script.
 
 Avoid the single-run (per-user) lock check.  Useful with [`-munge`](#opt).
 
+0.  `-no-overwrite`
+
+    Enforce `--ignore-existing` on the server. Prevents overwriting existing
+files when the server is the receiver.
+
 0.  `-help`, `-h`
 
 Output this help message and exit.
diff --git a/version.h b/version.h
index fdfce4c4..da4bb368 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.7"
+#define RSYNC_VERSION "3.3.0pre1"
 #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.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
 "You may not combine multiple --delete-WHEN 
options.\n");
-   return 0;
+   goto cleanup;
}
if (delete_before || delete_during || delete_after)
delete_mode = 1;
@@ -2184,7 +2201,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
    delete_during = 1;
    else {
create_refuse_error(refused_delete_before);
-   return 0;
+   goto cleanup;
}
} else if (refused_delete_during)
delete_before = 1;
@@ -2193,14 +2210,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
if (!xfer_dirs && delete_mode) {
snprintf(err_buf, sizeof err_buf,
"--delete does not work without --recursive (-r) or 
--dirs (-d).\n");
-   return 0;
+   goto cleanup;
}
 


-- 
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-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
ite/xattrs.test
index 455abef1..d94d5f95 100644
--- a/testsuite/xattrs.test
+++ b/testsuite/xattrs.test
@@ -8,7 +8,7 @@
 . $suitedir/rsync.fns
 lnkdir="$tmpdir/lnk"
 
-$RSYNC --version | grep "[, ] xattrs" >/dev/null || test_skipped "Rsync is 
configured without xattr support"
+$RSYNC -VV | grep '"xattrs": true' >/dev/null || test_skipped "Rsync is 
configured without xattr support"
 
 case "$HOST_OS" in
 darwin*)
diff --git a/usage.c b/usage.c
index 2db64767..a5b59ad8 100644
--- a/usage.c
+++ b/usage.c
@@ -290,7 +290,7 @@ void print_rsync_version(enum logcode f)
output_nno_list(f, "Daemon auth list", _auth_checksums);
 
if (f == FNONE) {
-   json_line("license", "GPL3");
+   json_line("license", "GPLv3");
json_line("caveat", "rsync comes with ABSOLUTELY NO WARRANTY");
printf("\n}\n");
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-19 Thread Rsync CVS commit messages
 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/" "$chkdir/"
+$RSYNC -av --rsync-path="$RSYNC" --existing --filter='-! */' "$host$fromdir/" 
"$chkdir/"
 
 # Now, test if rsync excludes the same files, this time with a merge-exclude
 # file.
 
 checkit "sed '/!/d' '$excl' |
-$RSYNC -avv -f dir-merge_.filt -f merge_- \
---delete-during '$fromdir/' '$todir/'" "$chkdir" "$todir"
+$RSYNC -avv$rpath -f dir-merge_.filt -f merge_- \
+--delete-during '$host$fromdir/' '$todir/'" "$chkdir" "$todir"
 
 # Remove the files that will be deleted.
 
@@ -188,14 +203,14 @@ rm "$chkdir"/bar/down/to/foo/.filt2
 rm "$chkdir"/bar/down/to/bar/.filt2
 rm "$chkdir"/mid/.filt
 
-$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
+$RSYNC -av --rsync-path="$RSYNC" --existing --include='*/' --exclude='*' 
"$host$fromdir/" "$chkdir/"
 
 # Now, try the prior command with --delete-before and some side-specific
 # rules.
 
 checkit "sed '/!/d' '$excl' |
-$RSYNC -avv -f :s_.filt -f .s_- -f P_nodel.deep \
---delete-before '$fromdir/' '$todir/'" "$chkdir" "$todir"
+$RSYNC -avv$rpath -f :s_.filt -f .s_- -f P_nodel.deep \
+--delete-before '$host$fromdir/' '$todir/'" "$chkdir" "$todir"
 
 # Next, we'll test some rule-restricted filter files.
 
@@ -206,26 +221,26 @@ cat >"$fromdir/bar/down/to/foo/.excl" <f$all_plus extra-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-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
single .c file to the name "dir" in "dest".  To prevent this, it is
-safest to specify a destination path with a trailing slash when you want it to
-be treated as a directory:
+To prevent accidental renaming, either make sure the destination dir already
+exists or specify a destination path with a trailing slash:
 
 > rsync -ai src/*.c dest/dir/
 
-If you want to copy a **non-empty** directory to a different name, specify the
-source path with a trailing slash:
-
-> rsync -ai foo/ bar
-
 ## SORTED TRANSFER ORDER
 
 Rsync always sorts the specified filenames into its internal transfer list.
@@ -1155,9 +1158,9 @@ expand it.
 
 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 A SINGLE
-FILE](#) section for full details on how rsync decides if a final
-destination path element is a directory or not.
+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.
 
 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
diff --git a/rsync.h b/rsync.h
index 2c5e5376..d3709fe0 100644
--- a/rsync.h
+++ b/rsync.h
@@ -366,16 +366,10 @@ enum delret {
 #include 
 #endif
 
-#ifdef TIME_WITH_SYS_TIME
-#include 
-#include 
-#else
 #ifdef HAVE_SYS_TIME_H
 #include 
-#else
-#include 
-#endif
 #endif
+#include 
 
 #ifdef HAVE_FCNTL_H
 #include 


-- 
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-15 Thread Rsync CVS commit messages
 then rsync
+copies the single .c file to the name "dir" in "dest".  To prevent this, it is
+safest to specify a destination path with a trailing slash when you want it to
+be treated as a directory:
+
+> rsync -ai src/*.c dest/dir/
+
+If you want to copy a **non-empty** directory to a different name, specify the
+source path with a trailing slash:
+
+> rsync -ai foo/ bar
 
 ## SORTED TRANSFER ORDER
 
@@ -1113,23 +1147,26 @@ expand it.
 
 0.  `--mkpath`
 
-Create a missing path component of the destination arg.  This allows rsync
-to create multiple levels of missing destination dirs and to create a path
-in which to put a single renamed file.  Keep in mind that you'll need to
-supply a trailing slash if you want the entire destination path to be
-treated as a directory when copying a single arg (making rsync behave the
-same way that it would if the path component of the destination had already
-existed).
-
-For example, the following creates a copy of file foo as bar in the sub/dir
-directory, creating dirs "sub" and "sub/dir" if either do not yet exist:
-
-> rsync -ai --mkpath foo sub/dir/bar
-
-If you instead ran the following, it would have created file foo in the
-sub/dir/bar directory:
-
-> rsync -ai --mkpath foo sub/dir/bar/
+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
+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.
+
+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 A SINGLE
+FILE](#) section for full details on how rsync decides if a final
+destination path element is 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:
+
+> rsync -ai --mkpath host:some/extra/path/*.c some/extra/path/
+> rsync -aiR host:some/extra/path/*.c ./
 
 0.  `--links`, `-l`
 


-- 
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  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
.c
index 82d686a6..65b459b1 100644
--- a/flist.c
+++ b/flist.c
@@ -836,7 +836,7 @@ static struct file_struct *recv_file_entry(int f, struct 
file_list *flist, int x
}
 #endif
} else
-   modtime = read_int(f);
+   modtime = read_uint(f);
}
if (xflags & XMIT_MOD_NSEC)
 #ifndef CAN_SET_NSEC
diff --git a/io.c b/io.c
index f3d802ec..a99ac0ec 100644
--- a/io.c
+++ b/io.c
@@ -1784,6 +1784,13 @@ int32 read_int(int f)
return num;
 }
 
+uint32 read_uint(int f)
+{
+   char b[4];
+   read_buf(f, b, 4);
+   return IVAL(b, 0);
+}
+
 int32 read_varint(int f)
 {
union {
diff --git a/main.c b/main.c
index 02b70079..d2a7b9b5 100644
--- a/main.c
+++ b/main.c
@@ -660,6 +660,16 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, 
char **remote_argv, in
return pid;
 }
 
+/* Older versions turn an empty string as a reference to the current directory.
+ * We now treat this as an error unless --old-args was used. */
+static char *dot_dir_or_error()
+{
+   if (old_style_args || am_server)
+   return ".";
+   rprintf(FERROR, "Empty destination arg specified (use \".\" or see 
--old-args).\n");
+   exit_cleanup(RERR_SYNTAX);
+}
+
 /* The receiving side operates in one of two modes:
  *
  * 1. it receives any number of files into a destination directory,
@@ -687,9 +697,8 @@ static char *get_local_name(struct file_list *flist, char 
*dest_path)
if (!dest_path || list_only)
return NULL;
 
-   /* Treat an empty string as a copy into the current directory. */
if (!*dest_path)
-   dest_path = ".";
+   dest_path = dot_dir_or_error();
 
if (daemon_filter_list.head) {
char *slash = strrchr(dest_path, '/');
@@ -1432,6 +1441,8 @@ static int start_client(int argc, char *argv[])
 
if (argc > 1) {
p = argv[--argc];
+   if (!*p)
+   p = dot_dir_or_error();
remote_argv = argv + argc;
} else {
static char *dotarg[1] = { "." };
diff --git a/rsync.1.md b/rsync.1.md
index 029e4d82..7d96eca6 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -859,7 +859,7 @@ expand it.
 that until a bunch of recursive copying has finished).  However, these
 early directories don't yet have their completed mode, mtime, or ownership
 set -- they have more restrictive rights until the subdirectory's copying
-actually begins.  This early-creation idiom can be avoiding by using the
+actually begins.  This early-creation idiom can be avoided by using the
 [`--omit-dir-times`](#opt) option.
 
 Incremental recursion can be disabled using the
@@ -1560,6 +1560,15 @@ expand it.
 will make the update fairly efficient if the files haven't actually
 changed, you're much better off using `-t`).
 
+A modern rsync that is using transfer protocol 30 or 31 conveys a modify
+time using up to 8-bytes. If rsync is forced to speak an older protocol
+(perhaps due to the remote rsync being older than 3.0.0) a modify time is
+conveyed using 4-bytes. Prior to 3.2.7, these shorter values could convey
+a date range of 13-Dec-1901 to 19-Jan-2038.  Beginning with 3.2.7, these
+4-byte values now convey a date range of 1-Jan-1970 to 7-Feb-2106.  If you
+have files dated older than 1970, make sure your rsync executables are
+upgraded so that the full range of dates can be conveyed.
+
 0.  `--atimes`, `-U`
 
 This tells rsync to set the access (use) times of the destination files to
@@ -2388,6 +2397,8 @@ expand it.
 
 This option tells rsync to stop trying to protect the arg values on the
 remote side from unintended word-splitting or other misinterpretation.
+It also allows the client to treat an empty arg as a "." instead of
+generating an error.
 
 The default in a modern rsync is for "shell-active" characters (including
 spaces) to be backslash-escaped in the args that are sent to the remote
diff --git a/testsuite/exclude.test b/testsuite/exclude.test
index 4b1a1a05..9b487b60 100644
--- a/testsuite/exclude.test
+++ b/testsuite/exclude.test
@@ -188,7 +188,7 @@ rm "$chkdir"/bar/down/to/foo/.filt2
 rm "$chkdir"/bar/down/to/bar/.filt2
 rm "$chkdir"/mid/.filt
 
-$RSYNC -av --protocol=28 --existing --include='*/' --exclude='*' "$fromdir/" 
"$chkdir/"
+$RSYNC -av --existing --include='*/' --exclude='*' "$fromdir/" "$chkdir/"
 
 # Now, try the prior command with --delete-before and some side-specific
 # rules.


-- 
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.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
oot`](#) parameter, which causes
+rsync to chroot into its own chroot area before doing any path-related
+chrooting.
 
 If the daemon is serving the "/" dir (either directly or due to being
-chrooted to the module's path), rsync does not do any extra path sanitizing
-or (default) munging.  When it has to limit access to a particular subdir
-(either due to chroot being disabled or having an inside-chroot path set),
-rsync will munge symlinks (by default) and sanitize paths.  Those that
-dislike munged symlinks (and really, really trust their users to not break
-out of the subdir) can disable the symlink munging via the "[munge
-symlinks](#)" parameter. Sanitizing paths trims ".." path elements from
-args that rsync believes would escape the module hierarchy, and also
-substitutes leading slashes in absolute paths with the module's path (so
-that options such as `--backup-dir` & `--compare-dest` interpret an
-absolute path as rooted in the module's "[path](#)" dir).
+chrooted to the module's path), rsync does not do any path sanitizing or
+(default) munging.
+
+When it has to limit access to a particular subdir (either due to chroot
+being disabled or having an inside-chroot path set), rsync will munge
+symlinks (by default) and sanitize paths.  Those that dislike munged
+symlinks (and really, really trust their users to not break out of the
+subdir) can disable the symlink munging via the "[munge symlinks](#)"
+parameter.
+
+When rsync is sanitizing paths, it trims ".." path elements from args that
+it believes would escape the module hierarchy. It also substitutes leading
+slashes in absolute paths with the module's path (so that options such as
+`--backup-dir` & `--compare-dest` interpret an absolute path as rooted in
+the module's "[path](#)" dir).
 
 When a chroot is in effect *and* the "[name converter](#)" parameter is
 *not* set, the "[numeric ids](#)" parameter will default to being enabled
diff --git a/usage.c b/usage.c
index 7f215a02..2db64767 100644
--- a/usage.c
+++ b/usage.c
@@ -265,7 +265,7 @@ void print_rsync_version(enum logcode f)
char verbuf[32];
json_line("program", RSYNC_NAME);
json_line("version", rsync_version());
-   snprintf(verbuf, sizeof verbuf, "%d.%d", PROTOCOL_VERSION, 
SUBPROTOCOL_VERSION);
+   (void)snprintf(verbuf, sizeof verbuf, "%d.%d", 
PROTOCOL_VERSION, SUBPROTOCOL_VERSION);
json_line("protocol", verbuf);
json_line("copyright", copyright);
    json_line("url", url);
diff --git a/version.h b/version.h
index c0388268..64ca62db 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.7dev"
+#define RSYNC_VERSION "3.2.7pre1"
 #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-25 Thread Rsync CVS commit messages
ame(const char *name, int 
len)
return nni;
 }
 
+#ifdef USE_OPENSSL
 static const EVP_MD *csum_evp_md(struct name_num_item *nni)
 {
-#ifdef USE_OPENSSL
const EVP_MD *emd;
if (!(nni->flags & NNI_EVP))
return NULL;
@@ -173,10 +168,8 @@ static const EVP_MD *csum_evp_md(struct name_num_item *nni)
if (!emd)
nni->flags &= ~NNI_EVP;
return emd;
-#else
-   return NULL;
-#endif
 }
+#endif
 
 void parse_checksum_choice(int final_call)
 {
@@ -194,8 +187,10 @@ void parse_checksum_choice(int final_call)
}
xfer_sum_len = csum_len_for_type(xfer_sum_nni->num, 0);
file_sum_len = csum_len_for_type(file_sum_nni->num, 0);
+#ifdef USE_OPENSSL
xfer_sum_evp_md = csum_evp_md(xfer_sum_nni);
file_sum_evp_md = csum_evp_md(file_sum_nni);
+#endif
 
file_sum_extra_cnt = (file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN;
 
@@ -551,9 +546,12 @@ static XXH64_state_t* xxh64_state;
 static XXH3_state_t* xxh3_state;
 #endif
 static struct name_num_item *cur_sum_nni;
-static const EVP_MD *cur_sum_evp_md;
 int cur_sum_len;
 
+#ifdef USE_OPENSSL
+static const EVP_MD *cur_sum_evp_md;
+#endif
+
 int sum_init(struct name_num_item *nni, int seed)
 {
char s[4];
@@ -562,7 +560,9 @@ int sum_init(struct name_num_item *nni, int seed)
nni = parse_csum_name(NULL, 0);
cur_sum_nni = nni;
cur_sum_len = csum_len_for_type(nni->num, 0);
+#ifdef USE_OPENSSL
cur_sum_evp_md = csum_evp_md(nni);
+#endif
 
 #ifdef USE_OPENSSL
if (cur_sum_evp_md) {
@@ -784,7 +784,9 @@ static void verify_digest(struct name_num_item *nni, BOOL 
check_auth_list)
 
 void init_checksum_choices()
 {
+#if defined SUPPORT_XXH3 || defined USE_OPENSSL
struct name_num_item *nni;
+#endif
 
if (initialized_choices)
return;
diff --git a/mkgitver b/mkgitver
index fe8a3d15..50380c87 100755
--- a/mkgitver
+++ b/mkgitver
@@ -6,7 +6,7 @@ if [ ! -f git-version.h ]; then
 touch git-version.h
 fi
 
-if [ -e "$srcdir/.git" ]; then
+if test -d "$srcdir/.git" || test -f "$srcdir/.git"; then
 gitver=`git describe --abbrev=8 2>/dev/null | sed -n 
'/^v3\.[0-9][0-9]*\.[0-9][0-9]*\(-\|$\)/p'`
     if [ -n "$gitver" ]; then
echo "#define RSYNC_GITVER \"$gitver\"" >git-version.h.new


-- 
The rsync repository.

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


[SCM] The rsync repository. - branch master updated

2022-09-20 Thread Rsync CVS commit messages
omitted the dot-dir, the
-chroot would have used the whole path, and the inside-chroot path would
-have been "/".
-
-When both "use chroot" and "[daemon chroot](#)" are false, OR the 
inside-chroot
-path of "use chroot" is not "/", rsync will: (1) munge symlinks by default
-for security reasons (see "[munge symlinks](#)" for a way to turn this 
off, but
-only if you trust your users), (2) substitute leading slashes in absolute
-paths with the module's path (so that options such as `--backup-dir`,
-`--compare-dest`, etc. interpret an absolute path as rooted in the module's
-"[path](#)" dir), and (3) trim ".." path elements from args if rsync 
believes
-they would escape the module hierarchy.  The default for "use chroot" is
-true, and is the safer choice (especially if the module is not read-only).
-
-When this parameter is enabled *and* the "[name converter](#)" parameter is
+If `use chroot` is not set, it defaults to trying to enable a chroot but
+allows the daemon to continue (after logging a warning) if it fails. The
+one exception to this is when a module's [`path`](#) has a "/./" chroot
+divider in it -- this causes an unset value to be treated as true for that
+module.
+
+Prior to rsync 3.2.7, the default value was "true".  The new default makes
+it easier to setup an rsync daemon as a non-root user or to run a daemon on
+a system where chroot fails.  Explicitly setting the value to true in the
+rsyncd.conf file will always require the chroot to succeed.
+
+It is also possible to specify a dot-dir in the module's "[path](#)" to
+indicate that you want to chdir to the earlier part of the path and then
+serve files from inside the latter part of the path (with default
+sanitizing and symlink munging).  This can be useful if you need some
+library dirs inside the chroot (typically for uid & gid lookups) but don't
+want to put the lib dir into the top of the served path (even though they
+can be hidden with an [`exclude`](#) directive).  However, a better choice
+for a modern rsync setup is to use a [`name converter`](#)" and try to
+avoid inner lib dirs altogether.  See also the [`daemon chroot`](#)
+parameter, which causes rsync to chroot into its own chroot area before
+doing any path-related chrooting.
+
+If the daemon is serving the "/" dir (either directly or due to being
+chrooted to the module's path), rsync does not do any extra path sanitizing
+or (default) munging.  When it has to limit access to a particular subdir
+(either due to chroot being disabled or having an inside-chroot path set),
+rsync will munge symlinks (by default) and sanitize paths.  Those that
+dislike munged symlinks (and really, really trust their users to not break
+out of the subdir) can disable the symlink munging via the "[munge
+symlinks](#)" parameter. Sanitizing paths trims ".." path elements from
+args that rsync believes would escape the module hierarchy, and also
+substitutes leading slashes in absolute paths with the module's path (so
+that options such as `--backup-dir` & `--compare-dest` interpret an
+absolute path as rooted in the module's "[path](#)" dir).
+
+When a chroot is in effect *and* the "[name converter](#)" parameter is
 *not* set, the "[numeric ids](#)" parameter will default to being enabled
 (disabling name lookups).  This means that if you manually setup
 name-lookup libraries in your chroot (instead of using a name converter)
diff --git a/support/json-rsync-version b/support/json-rsync-version
index a51c3a88..bf5684b7 100755
--- a/support/json-rsync-version
+++ b/support/json-rsync-version
@@ -1,6 +1,6 @@
 #!/usr/bin/python3
 
-import sys, re, argparse, subprocess, json
+import sys, argparse, subprocess, json
 
 def main():
 if not args.rsync or args.rsync == '-':


-- 
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-15 Thread Rsync CVS commit messages
a_cnt;
 
 #ifdef USE_FLEXIBLE_ARRAY
 #define FILE_STRUCT_LEN (sizeof (struct file_struct))
@@ -837,7 +837,7 @@ extern int file_sum_len;
 #define DEV_EXTRA_CNT 2
 #define DIRNODE_EXTRA_CNT 3
 #define EXTRA64_CNT ((sizeof (union file_extras64) + EXTRA_LEN - 1) / 
EXTRA_LEN)
-#define SUM_EXTRA_CNT ((file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN)
+#define SUM_EXTRA_CNT file_sum_extra_cnt
 
 #define REQ_EXTRA(f,ndx) ((union file_extras*)(f) - (ndx))
 #define OPT_EXTRA(f,bump) ((union file_extras*)(f) - file_extra_cnt - 1 - 
(bump))
diff --git a/util1.c b/util1.c
index 671f3c75..da50ff1e 100644
--- a/util1.c
+++ b/util1.c
@@ -1487,12 +1487,19 @@ const char *find_filename_suffix(const char *fn, int 
fn_len, int *len_ptr)
 
 #define UNIT (1 << 16)
 
-uint32 fuzzy_distance(const char *s1, unsigned len1, const char *s2, unsigned 
len2)
+uint32 fuzzy_distance(const char *s1, unsigned len1, const char *s2, unsigned 
len2, uint32 upperlimit)
 {
uint32 a[MAXPATHLEN], diag, above, left, diag_inc, above_inc, left_inc;
int32 cost;
unsigned i1, i2;
 
+   /* Check to see if the Levenshtein distance must be greater than the
+* upper limit defined by the previously found lowest distance using
+* the heuristic that the Levenshtein distance is greater than the
+* difference in length of the two strings */
+   if ((len1 > len2 ? len1 - len2 : len2 - len1) * UNIT > upperlimit)
+   return 0xU * UNIT + 1;
+
if (!len1 || !len2) {
if (!len1) {
s1 = s2;


-- 
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-14 Thread Rsync CVS commit messages
= 
new0(filter_rule);
-   R_rule->rflags = 
FILTRULE_INCLUDE | FILTRULE_DIRECTORY;
-   /* Check if our sub-path has 
wildcards or escaped backslashes */
-   if (saw_wild && 
strpbrk(new_pat, "*[?\\"))
-   R_rule->rflags |= 
FILTRULE_WILD;
-   R_rule->pattern = 
strdup(new_pat);
-   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(), 
R_rule->pattern);
-   }
-   if (saw_live_open_brkt)
-   
maybe_add_literal_brackets_rule(R_rule, -1);
+   if (found) {
+   *p = '/';
+   break; /* We added all parent 
dirs already */
+   }
+   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(new_pat, 
"*[?\\"))
+   R_rule->rflags |= FILTRULE_WILD;
+   R_rule->pattern = strdup(new_pat);
+   R_rule->u.slash_cnt = --sub_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(), 
R_rule->pattern);
}
+   if (saw_live_open_brkt)
+   
maybe_add_literal_brackets_rule(R_rule, -1);
+   }
+   for (p = new_pat; sub_slash_cnt < slash_cnt; 
sub_slash_cnt++) {
+   p += strlen(p);
*p = '/';
-   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-09-14 Thread Rsync CVS commit messages
   const rsync_xa *rxas = xalp->items;
size_t i;
-   int64 key = hashlittle(>count, sizeof xalp->count);
+   int64 key = hashlittle2(>count, sizeof xalp->count);
 
for (i = 0; i < xalp->count; i++) {
-   key += hashlittle(rxas[i].name, rxas[i].name_len);
+   key += hashlittle2(rxas[i].name, rxas[i].name_len);
if (rxas[i].datum_len > MAX_FULL_DATUM)
-   key += hashlittle(rxas[i].datum, xattr_sum_len);
+   key += hashlittle2(rxas[i].datum, xattr_sum_len);
else
-   key += hashlittle(rxas[i].datum, rxas[i].datum_len);
-   }
-
-   if (key == 0) {
-   /* This is very unlikely, but we should never
-* return 0 as hashtable_find() doesn't like it. */
-   return 1;
+       key += hashlittle2(rxas[i].datum, rxas[i].datum_len);
}
 
return key;
@@ -475,8 +469,6 @@ static int rsync_xal_store(item_list *xalp)
 
if (rsync_xal_h == NULL)
rsync_xal_h = hashtable_create(512, HT_KEY64);
-   if (rsync_xal_h == NULL)
-   out_of_memory("rsync_xal_h hashtable_create()");
 
new_ref = new0(rsync_xa_list_ref);
new_ref->ndx = ndx;


-- 
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-12 Thread Rsync CVS commit messages
);
int is_no = space && strncmp(str, "no ", 3) == 0;
-   char *quot = space && !is_no ? "\"" : "";
+   int is_bits = space && isDigit(str);
+   char *quot = space && !is_no && !is_bits ? "\"" : "";
char *item = space ? space + 1 : str;
char *val = !space ? "true" : is_no ? "false" : str;
int val_len = !space ? 4 : is_no ? 5 : space - str;
+   if (is_bits && (space = strchr(val, '-')) != NULL)
+   val_len = space - str;
item_len = snprintf(item_buf, sizeof item_buf,
-  " \"%s\": %s%.*s%s%s", item, quot, 
val_len, val, quot,
-  need_comma ? "," : "");
+  " \"%s%s\": %s%.*s%s%s", item, 
is_bits ? "bits" : "",
+  quot, val_len, val, quot, need_comma 
? "," : "");
+   if (is_bits)
+   item_buf[strlen(item)+2-1] = '_'; /* Turn the 
's' into a '_' */
for (space = item; (space = strpbrk(space, " -")) != 
NULL; space++)
item_buf[space - item + 2] = '_';
} else


-- 
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-10 Thread Rsync CVS commit messages
gs[] = {
 
@@ -165,9 +165,25 @@ static void print_info_flags(enum logcode f)
 
for (line_len = 0, j = 0; ; j++) {
char *str = info_flags[j], *next_nfo = str ? info_flags[j+1] : 
NULL;
-   int str_len = str && *str != '*' ? strlen(str) + (as_json ? 2 : 
0) : 1000;
int need_comma = next_nfo && *next_nfo != '*' ? 1 : 0;
-   if (line_len && line_len + 1 + str_len + need_comma >= 
(int)sizeof line_buf) {
+   int item_len;
+   if (!str || *str == '*')
+   item_len = 1000;
+   else if (as_json) {
+   char *space = strchr(str, ' ');
+   int is_no = space && strncmp(str, "no ", 3) == 0;
+   char *quot = space && !is_no ? "\"" : "";
+   char *item = space ? space + 1 : str;
+   char *val = !space ? "true" : is_no ? "false" : str;
+   int val_len = !space ? 4 : is_no ? 5 : space - str;
+   item_len = snprintf(item_buf, sizeof item_buf,
+  " \"%s\": %s%.*s%s%s", item, quot, 
val_len, val, quot,
+  need_comma ? "," : "");
+   for (space = item; (space = strpbrk(space, " -")) != 
NULL; space++)
+   item_buf[space - item + 2] = '_';
+   } else
+   item_len = snprintf(item_buf, sizeof item_buf, " %s%s", 
str, need_comma ? "," : "");
+   if (line_len && line_len + item_len >= (int)sizeof line_buf) {
if (as_json)
printf("   %s\n", line_buf);
else
@@ -179,19 +195,19 @@ static void print_info_flags(enum logcode f)
if (*str == '*') {
if (as_json) {
if (as_json == 2)
-   printf("  ]");
+   printf("  }");
else
as_json = 2;
-   printf(",\n  \"%c%s\": [\n", toLower(str+1), 
str+2);
+   printf(",\n  \"%c%s\": {\n", toLower(str+1), 
str+2);
} else
rprintf(f, "%s:\n", str+1);
-   continue;
+   } else {
+   strlcpy(line_buf + line_len, item_buf, sizeof line_buf 
- line_len);
+   line_len += item_len;
}
-   line_len += snprintf(line_buf+line_len, sizeof line_buf - 
line_len,
-" %s%s%s%s", quot, str, quot, need_comma ? 
"," : "");
}
if (as_json == 2)
-   printf("  ]");
+   printf("  }");
 }
 
 static void output_nno_list(enum logcode f, const char *name, struct 
name_num_obj *nno)


-- 
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-10 Thread Rsync CVS commit messages
 SIVALu(seedbuf, 0, checksum_seed);
-   MD4_Update(, seedbuf, 4);
-   }
-   MD4_Final((uchar *)sum, );
-   break;
- }
-#endif
  case CSUM_MD4_OLD:
  case CSUM_MD4_BUSTED:
  case CSUM_MD4_ARCHAIC: {
@@ -295,7 +390,7 @@ void get_checksum2(char *buf, int32 len, char *sum)
 * are multiples of 64.  This is fixed by calling 
mdfour_update()
 * even when there are no more bytes.
 */
-   if (len - i > 0 || xfersum_type > CSUM_MD4_BUSTED)
+   if (len - i > 0 || xfer_sum_nni->num > CSUM_MD4_BUSTED)
mdfour_update(, (uchar *)(buf1+i), len-i);
 
mdfour_result(, (uchar *)sum);
@@ -313,15 +408,33 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
int32 remainder;
int fd;
 
-   memset(sum, 0, MAX_DIGEST_LEN);
-
fd = do_open(fname, O_RDONLY, 0);
-   if (fd == -1)
+   if (fd == -1) {
+   memset(sum, 0, file_sum_len);
return;
+   }
 
buf = map_file(fd, len, MAX_MAP_SIZE, CHUNK_SIZE);
 
-   switch (checksum_type) {
+#ifdef USE_OPENSSL
+   if (file_sum_evp_md) {
+   static EVP_MD_CTX *evp = NULL;
+   if (!evp && !(evp = EVP_MD_CTX_create()))
+   out_of_memory("file_checksum");
+
+   EVP_DigestInit_ex(evp, file_sum_evp_md, NULL);
+
+   for (i = 0; i + CHUNK_SIZE <= len; i += CHUNK_SIZE)
+   EVP_DigestUpdate(evp, (uchar *)map_ptr(buf, i, 
CHUNK_SIZE), CHUNK_SIZE);
+
+   remainder = (int32)(len - i);
+   if (remainder > 0)
+   EVP_DigestUpdate(evp, (uchar *)map_ptr(buf, i, 
remainder), remainder);
+
+   EVP_DigestFinal_ex(evp, (uchar *)sum, NULL);
+   } else
+#endif
+   switch (file_sum_nni->num) {
 #ifdef SUPPORT_XXHASH
  case CSUM_XXH64: {
static XXH64_state_t* state = NULL;
@@ -381,7 +494,7 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
  }
 #endif
  case CSUM_MD5: {
-   md5_context m5;
+   md_context m5;
 
md5_begin();
 
@@ -396,23 +509,6 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
break;
  }
  case CSUM_MD4:
-#ifdef USE_OPENSSL
- {
-   MD4_CTX m4;
-
-   MD4_Init();
-
-   for (i = 0; i + CHUNK_SIZE <= len; i += CHUNK_SIZE)
-   MD4_Update(, (uchar *)map_ptr(buf, i, CHUNK_SIZE), 
CHUNK_SIZE);
-
-   remainder = (int32)(len - i);
-   if (remainder > 0)
-   MD4_Update(, (uchar *)map_ptr(buf, i, remainder), 
remainder);


-- 
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.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
 needs to have those options
 enabled for the mapping options to work).
 
-An older rsync client may need to use [`--protect-args`](#opt) (`-s`) to
-avoid a complaint about wildcard characters, but a modern rsync handles
-this automatically.
+An older rsync client may need to use [`-s`](#opt) to avoid a complaint
+about wildcard characters, but a modern rsync handles this automatically.
 
 0.  `--chown=USER:GROUP`
 
@@ -2939,9 +2946,8 @@ expand it.
 "`--usermap=*:foo --groupmap=*:bar`", only easier (and with the same
 implied [`--owner`](#opt) and/or [`--group`](#opt) options).
 
-An older rsync client may need to use [`--protect-args`](#opt) (`-s`) to
-avoid a complaint about wildcard characters, but a modern rsync handles
-this automatically.
+An older rsync client may need to use [`-s`](#opt) to avoid a complaint
+about wildcard characters, but a modern rsync handles this automatically.
 
 0.  `--timeout=SECONDS`
 
@@ -3645,7 +3651,7 @@ expand it.
 For a list of what charset names your local iconv library supports, you can
 run "`iconv --list`".
 
-If you specify the [`--protect-args`](#opt) (`-s`) option, rsync will
+If you specify the [`--secluded-args`](#opt) (`-s`) option, rsync will
 translate the filenames you specify on the command-line that are being sent
 to the remote host.  See also the [`--files-from`](#opt) option.
 
@@ -4593,17 +4599,17 @@ file is included or excluded.
 supersedes the [`RSYNC_PROTECT_ARGS`](#) variable.
 
 This variable is ignored if [`--old-args`](#opt), `--no-old-args`, or
-[`--protect-args`](#opt) is specified on the command line.
+[`--secluded-args`](#opt) is specified on the command line.
 
 First supported in 3.2.4.
 
 0.  `RSYNC_PROTECT_ARGS`
 
-Specify a non-zero numeric value if you want the [`--protect-args`](#opt)
+Specify a non-zero numeric value if you want the [`--secluded-args`](#opt)
 option to be enabled by default, or a zero value to make sure that it is
 disabled by default.
 
-This variable is ignored if [`--protect-args`](#opt), `--no-protect-args`,
+This variable is ignored if [`--secluded-args`](#opt), 
`--no-secluded-args`,
 or [`--old-args`](#opt) is specified on the command line.
 
 First supported in 3.1.0.  Starting in 3.2.4, this variable is ignored if
diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
index 8bcbec0a..400ad107 100644
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
@@ -894,7 +894,7 @@ the values of parameters.  See the GLOBAL PARAMETERS 
section for more details.
 > refuse options = * !a !v !compress*
 
 Don't worry that the "`*`" will refuse certain vital options such as
-`--dry-run`, `--server`, `--no-iconv`, `--protect-args`, etc. These
+`--dry-run`, `--server`, `--no-iconv`, `--seclude-args`, etc. These
 important options are not matched by wild-card, so they must be overridden
 by their exact name.  For instance, if you're forcing iconv transfers you
 could use something like this:
@@ -948,7 +948,7 @@ the values of parameters.  See the GLOBAL PARAMETERS 
section for more details.
   `--log-file-format`.
 - `--sender`: Use "[write only](#)" parameter instead of refusing this.
 - `--dry-run`, `-n`: Who would want to disable this?
-- `--protect-args`, `-s`: This actually makes transfers safer.
+- `--seclude-args`, `-s`: Is the oldest arg-protection method.
 - `--from0`, `-0`: Makes it easier to accept/refuse `--files-from` without
   affecting this helpful modifier.
 - `--iconv`: This is auto-disabled based on "[charset](#)" parameter.
diff --git a/usage.c b/usage.c
index df033c92..048fd4cb 100644
--- a/usage.c
+++ b/usage.c
@@ -110,12 +110,12 @@ static void print_info_flags(enum logcode f)
 #endif
"xattrs",
 
-#ifdef RSYNC_USE_PROTECTED_ARGS
+#ifdef RSYNC_USE_SECLUDED_ARGS
    "default "
 #else
"optional "
 #endif
-   "protect-args",
+   "secluded-args",
 
 #ifndef ICONV_OPTION
"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-08-21 Thread Rsync CVS commit messages
+   }
/* FALL THROUGH */
case FES_NO_SEND:
 #ifdef SUPPORT_HARD_LINKS
@@ -1574,14 +1599,15 @@ static void read_a_msg(void)
}
break;
case MSG_SUCCESS:
-   if (msg_bytes != 4) {
+   if (msg_bytes != (local_server ? 4+8+8 : 4)) {
  invalid_msg:
rprintf(FERROR, "invalid multi-message %d:%lu [%s%s]\n",
tag, (unsigned long)msg_bytes, who_am_i(),
inc_recurse ? "/inc" : "");
exit_cleanup(RERR_STREAMIO);
}
-   val = raw_read_int();
+   raw_read_buf(num_dev_ino_buf, msg_bytes);
+   val = IVAL(num_dev_ino_buf, 0);
iobuf.in_multiplexed = 1;
if (am_generator)
got_flist_entry_status(FES_SUCCESS, val);
diff --git a/receiver.c b/receiver.c
index 93cf8efd..0f5d92d2 100644
--- a/receiver.c
+++ b/receiver.c
@@ -439,9 +439,8 @@ static void handle_delayed_updates(char *local_name)
"rename failed for %s (from %s)",
full_fname(fname), partialptr);
} else {
-   if (remove_source_files
-|| (preserve_hard_links && F_IS_HLINKED(file)))
-   send_msg_int(MSG_SUCCESS, ndx);
+   if (remove_source_files || (preserve_hard_links 
&& F_IS_HLINKED(file)))
+   send_msg_success(fname, ndx);
handle_partial_dir(partialptr, PDIR_DELETE);
}
}
@@ -698,7 +697,7 @@ int recv_files(int f_in, int f_out, char *local_name)
if (!am_server)
discard_receive_data(f_in, file);
if (inc_recurse)
-   send_msg_int(MSG_SUCCESS, ndx);
+   send_msg_success(fname, ndx);
continue;
}
 
@@ -926,9 +925,8 @@ int recv_files(int f_in, int f_out, char *local_name)
case 2:
break;
case 1:
-   if (remove_source_files || inc_recurse
-|| (preserve_hard_links && F_IS_HLINKED(file)))
-   send_msg_int(MSG_SUCCESS, ndx);
+   if (remove_source_files || inc_recurse || 
(preserve_hard_links && F_IS_HLINKED(file)))
+   send_msg_success(fname, ndx);
break;
case 0: {
enum logcode msgtype = redoing ? FERROR_XFER : FWARNING;
diff --git a/rsync.1.md b/rsync.1.md
index 1a3e8607..866a9e4f 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -1808,6 +1808,10 @@ expand it.
 Starting with 3.1.0, rsync will skip the sender-side removal (and output an
 error) if the file's size or modify time has not stayed unchanged.
 
+Starting with 3.2.6, a local rsync copy will ensure that the sender does
+not remove a file the receiver just verified, such as when the user
+accidentally makes the source and destination directory the same path.
+
 0.  `--delete`
 
 This tells rsync to delete extraneous files from the receiving side (ones
diff --git a/sender.c b/sender.c
index 9159da4d..3d4f052e 100644
--- a/sender.c
+++ b/sender.c
@@ -25,6 +25,7 @@
 extern int do_xfers;
 extern int am_server;
 extern int am_daemon;
+extern int local_server;
 extern int inc_recurse;
 extern int log_before_transfer;
 extern int stdout_format_has_i;
@@ -51,6 +52,7 @@ extern int file_old_total;
 extern BOOL want_progress_now;
 extern struct stats stats;
 extern struct file_list *cur_flist, *first_flist, *dir_flist;
+extern char num_dev_ino_buf[4 + 8 + 8];
 
 BOOL extra_flist_sending_enabled;
 
@@ -144,6 +146,13 @@ void successful_send(int ndx)
goto failed;
}
 
+   if (local_server
+&& (int64)st.st_dev == IVAL64(num_dev_ino_buf, 4)
+&& (int64)st.st_ino == IVAL64(num_dev_ino_buf, 4 + 8)) {
+   rprintf(FERROR_XFER, "ERROR: Skipping sender remove of 
destination file: %s\n", fname);
+   return;
+   }
+
if (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime
 #ifdef ST_MTIME_NSEC
 || (NSEC_BUMP(file) && (uint32)st.ST_MTIME_NSEC != F_MOD_NSEC(file))


-- 
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-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
ne 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 x"$with_included_popt" != x"yes"; then
-   # Turn pedantic warnings into errors to ensure an array-init overflow 
is an error.
-   CFLAGS="$CFLAGS -pedantic-errors"
-else
-   # Our internal popt code cannot be compiled with pedantic warnings as 
errors, so try to
-   # turn off pedantic warnings (which will not lose the error for 
array-init overflow).
-   # Older gcc versions don't understand -Wno-pedantic, so check if 
--help=warnings lists
-   # -Wpedantic and use that as a flag.
-   case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in
-   *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
-   esac
-fi
-fi
-
 AC_MSG_CHECKING([whether to use included libpopt])
 if test x"$with_included_popt" = x"yes"; then
 AC_MSG_RESULT($srcdir/popt)
diff --git a/exclude.c b/exclude.c
index 730d04ef..777874aa 100644
--- a/exclude.c
+++ b/exclude.c
@@ -361,6 +361,8 @@ void implied_include_partial_string(const char *s_start, 
const char *s_end)
 void free_implied_include_partial_string()
 {
if (partial_string_buf) {
+   if (partial_string_len)
+   add_implied_include("", 0);
free(partial_string_buf);
partial_string_buf = NULL;
}
diff --git a/mkgitver b/mkgitver
index 43156c65..fe8a3d15 100755
--- a/mkgitver
+++ b/mkgitver
@@ -2,16 +2,13 @@
 
 srcdir=`dirname $0`
 
-if [ -e "$srcdir/.git" ]; then
-gitver=`git describe --abbrev=8 2>/dev/null`
-fi
-
 if [ ! -f git-version.h ]; then
 touch git-version.h
 fi
 
-case "$gitver" in
-*.*)
+if [ -e "$srcdir/.git" ]; then
+gitver=`git describe --abbrev=8 2>/dev/null | sed -n 
'/^v3\.[0-9][0-9]*\.[0-9][0-9]*\(-\|$\)/p'`
+if [ -n "$gitver" ]; then
echo "#define RSYNC_GITVER \"$gitver\"" >git-version.h.new
if ! diff git-version.h.new git-version.h >/dev/null; then
echo "Updating git-version.h"
@@ -19,5 +16,5 @@ case "$gitver" in
else
rm git-version.h.new
fi
-   ;;
-esac
+fi
+fi
diff --git a/rsync.1.md b/rsync.1.md
index f29495f2..1a3e8607 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -1904,13 +1904,13 @@ expand it.
 
 By default, an exclude or include has both a server-side effect (to "hide"
 and "show" files when building the server's file list) and a receiver-side
-effect (to "protect" and "risk" files when deletions are occuring).  Any
+effect (to "protect" and "risk" files when deletions are occurring).  Any
 rule that has no modifier to specify what sides it is executed on will be
 instead treated as if it were a server-side rule only, avoiding any
 "protect" effects of the rules.
 
 A rule can still apply to both sides even with this option specified if the
-rule is given both the sender & receiver modifer letters (e.g., `-f'-sr
+rule is given both the sender & receiver modifier letters (e.g., `-f'-sr
 foo'`).  Receiver-side protect/risk rules can also be explicitly specified
 to limit the deletions.  This saves you from having to edit a bunch of
 `-f'- foo'` rules into `-f'-s foo'` (aka `-f'H foo'`) rules (not to mention
diff --git a/rsync.h b/rsync.h
index 1cc037c5..e29c37c3 100644
--- a/rsync.h
+++ b/rsync.h
@@ -1172,7 +1172,7 @@ struct name_num_obj {
uchar *saw;
int saw_len;
int negotiated_num;
-   struct name_num_item list[10]; /* we'll get a compile error/warning if 
this is ever too small */
+   struct name_num_item *list;
 };
 
 #ifdef EXTERNAL_ZLIB


-- 
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  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
*p = '/';
+   slash_cnt++;
}
-   slash_cnt++;
-   *p++ = *cp++;
-   break;
- case '[':
-   saw_live_open_brkt = 1;
-   *p++ = *cp++;
-   break;
- default:
-   *p++ = *cp++;
-   break;
}
}
-   *p = '\0';
-   rule->u.slash_cnt = slash_cnt;
-   arg = rule->pattern;
-   arg_len = p - arg; /* We recompute it due to backslash 
weirdness. */
-   if (DEBUG_GTE(FILTER, 3))
-   rprintf(FINFO, "[%s] add_implied_include(%s)\n", 
who_am_i(), rule->pattern);
-   if (saw_live_open_brkt)
-   maybe_add_literal_brackets_rule(rule, arg_len);
}
 
if (recurse || xfer_dirs) {
/* Now create a rule with an added "/" & "**" or "*" at the end 
*/
-   rule = new0(filter_rule);
+   filter_rule *rule = new0(filter_rule);
rule->rflags = FILTRULE_INCLUDE | FILTRULE_WILD;
if (recurse)
rule->rflags |= FILTRULE_WILD2;
@@ -499,7 +531,7 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
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);
-   for (cp = arg; *cp; ) {
+   for (cp = arg; *cp; ) { /* Note that arg_len != 0 
because backslash_cnt > 0 */
if (*cp == '\\')
*p++ = '\\';
*p++ = *cp++;
@@ -511,13 +543,15 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
p += arg_len;
}
}
-   if (p[-1] != '/')
+   if (p[-1] != '/') {
*p++ = '/';
+   slash_cnt++;
+   }
*p++ = '*';
if (recurse)
*p++ = '*';
*p = '\0';
-   rule->u.slash_cnt = slash_cnt + 1;
+   rule->u.slash_cnt = slash_cnt;
rule->next = implied_filter_list.head;
implied_filter_list.head = rule;
if (DEBUG_GTE(FILTER, 3))
diff --git a/options.c b/options.c
index 4feeb7e0..5b3d6dea 100644
--- a/options.c
+++ b/options.c
@@ -2508,7 +2508,9 @@ 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 == '~' && (relative_paths || 
!strchr(arg, '/'))) {
+   if (!trust_sender_args && *arg == '~'
+    && ((relative_paths && !strstr(arg, "/./"))
+     || !strchr(arg, '/'))) {
extras++;
escape_leading_tilde = 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. - 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
] = nni[f];
+   }
+   nni[t].name = NULL;
+   }
+#endif
+   initialized_choices = 1;
+}
diff --git a/compat.c b/compat.c
index dec363a6..b46eb199 100644
--- a/compat.c
+++ b/compat.c
@@ -523,6 +523,8 @@ static void negotiate_the_strings(int f_in, int f_out)
 {
/* We send all the negotiation strings before we start to read them to 
help avoid a slow startup. */
 
+   init_checksum_choices();
+
if (!checksum_choice)
send_negotiate_str(f_out, _checksums, NSTR_CHECKSUM);
 
diff --git a/lib/sysacls.c b/lib/sysacls.c
index 74a99478..a5abe408 100644
--- a/lib/sysacls.c
+++ b/lib/sysacls.c
@@ -2,7 +2,7 @@
  * Unix SMB/CIFS implementation.
  * Based on the Samba ACL support code.
  * Copyright (C) Jeremy Allison 2000.
- * Copyright (C) 2007-2020 Wayne Davison
+ * Copyright (C) 2007-2022 Wayne Davison
  *
  * The permission functions have been changed to get/set all bits via
  * one call.  Some functions that rsync doesn't need were also removed.
diff --git a/lib/sysacls.h b/lib/sysacls.h
index cf1368ea..c0695974 100644
--- a/lib/sysacls.h
+++ b/lib/sysacls.h
@@ -3,7 +3,7 @@
  * Version 2.2.x
  * Portable SMB ACL interface
  * Copyright (C) Jeremy Allison 2000
- * Copyright (C) 2007-2020 Wayne Davison
+ * Copyright (C) 2007-2022 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 31225a5c..0959c744 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -1,9 +1,9 @@
 Summary: A fast, versatile, remote (and local) file-copying tool
 Name: rsync
 Version: 3.2.5
-%define fullversion %{version}pre2
-Release: 0.1.pre2
-%define srcdir src-previews
+%define fullversion %{version}
+Release: 1
+%define srcdir src
 Group: Applications/Internet
 License: GPL
 Source0: 
https://rsync.samba.org/ftp/rsync/%{srcdir}/rsync-%{fullversion}.tar.gz
@@ -79,8 +79,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/rsync-ssl/certs
 
 %changelog
-* Mon Aug 08 2022 Wayne Davison 
-Released 3.2.5pre2.
+* Sun Aug 14 2022 Wayne Davison 
+Released 3.2.5.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/usage.c b/usage.c
index cbca83e3..df033c92 100644
--- a/usage.c
+++ b/usage.c
@@ -195,6 +195,8 @@ void print_rsync_version(enum logcode f)
 
print_info_flags(f);
 
+   init_checksum_choices();
+
rprintf(f, "Checksum list:\n");
get_default_nno_list(_checksums, tmpbuf, sizeof tmpbuf, '(');
rprintf(f, "%s\n", tmpbuf);
diff --git a/version.h b/version.h
index d793678d..82aa78f2 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.5pre2"
+#define RSYNC_VERSION "3.2.5"
 #define MAINTAINER_TZ_OFFSET -7.0


-- 
The rsync repository.

___________
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-13 Thread Rsync CVS commit messages
try = %d\n", acl_entry));
DEBUG(10, ("The ace_type is %d\n", 
acl_entry->ace_type));
- 
+
acl_entry = acl_nxt(acl_entry);
}
} /* end of if enabled */
@@ -2014,12 +2014,12 @@ SMB_ACL_T sys_acl_get_file(const char *path_p, 
SMB_ACL_TYPE_T type)
new_acl_entry->ace_access = file_acl->o_access << 6;
idp->id_type = SMB_ACL_OTHER;
break;
- 
+
case 1:
new_acl_entry->ace_access = file_acl->u_access << 6;
idp->id_type = SMB_ACL_USER_OBJ;
break;
- 
+
default:
return NULL;
 
@@ -2048,7 +2048,7 @@ SMB_ACL_T sys_acl_get_fd(int fd)
int rc = 0;
 
/* Get the acl using fstatacl */
-   
+
DEBUG(10, ("Entering sys_acl_get_fd\n"));
DEBUG(10, ("fd is %d\n", fd));
file_acl = (struct acl *)SMB_MALLOC(BUFSIZ);
@@ -2095,12 +2095,12 @@ SMB_ACL_T sys_acl_get_fd(int fd)
 
DEBUG(10, ("acl_entry is %d\n", acl_entry));
DEBUG(10, ("acl_last(file_acl) id %d\n", acl_last(file_acl)));
- 
+
/* Check if the extended acl bit is on.   *
 * If it isn't, do not show the   *
 * contents of the acl since AIX intends  *
 * the extended info to remain unused */
- 
+
if (file_acl->acl_mode & S_IXACL){
/* while we are not pointing to the very end */
while (acl_entry < acl_last(file_acl)) {
@@ -2115,7 +2115,7 @@ SMB_ACL_T sys_acl_get_fd(int fd)
}
 
idp = acl_entry->ace_id;
- 
+
/* Check if this is the first entry in the linked list. 
*
 * The first entry needs to keep prevp pointing to NULL 
*
 * and already has entryp allocated. */
@@ -2177,7 +2177,7 @@ SMB_ACL_T sys_acl_get_fd(int fd)
 
DEBUG(10, ("acl_entry = %d\n", acl_entry));
DEBUG(10, ("The ace_type is %d\n", 
acl_entry->ace_type));
- 
+
acl_entry = acl_nxt(acl_entry);
}
} /* end of if enabled */
@@ -2210,43 +2210,43 @@ SMB_ACL_T sys_acl_get_fd(int fd)
}
 
acl_entry_link->nextp = NULL;
- 
+
new_acl_entry = acl_entry_link->entryp;
idp = new_acl_entry->ace_id;
- 
+
new_acl_entry->ace_len = sizeof (struct acl_entry);
new_acl_entry->ace_type = ACC_PERMIT;
idp->id_len = sizeof (struct ace_id);
DEBUG(10, ("idp->id_len = %d\n", idp->id_len));
memset(idp->id_data, 0, sizeof (uid_t));
- 
+
switch (i) {
case 2:
new_acl_entry->ace_access = file_acl->g_access << 6;
idp->id_type = SMB_ACL_GROUP_OBJ;
        break;
- 
+
case 3:
        new_acl_entry->ace_access = file_acl->o_access << 6;
idp->id_type = SMB_ACL_OTHER;
break;
- 
+
case 1:
new_acl_entry->ace_access = file_acl->u_access << 6;
idp->id_type = SMB_ACL_USER_OBJ;


-- 
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  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
attern contains a `/` (not counting a trailing slash) or a "`**`"
   (which can match a slash), then the pattern is matched against the full
   pathname, including any leading directories within the transfer.  If the
-  pattern doesn't contain a `/` or a "`**`", then it is matched only against
-  the final component of the filename or pathname. For example, `foo` means
-  that the final path component must be "foo" while `foo/bar` would match the
-  last 2 elements of the path (as long as both elements are within the
-  transfer).
+  pattern doesn't contain a (non-trailing) `/` or a "`**`", then it is matched
+  only against the final component of the filename or pathname. For example,
+  `foo` means that the final path component must be "foo" while `foo/bar` would
+  match the last 2 elements of the path (as long as both elements are within
+  the transfer).
 - A pattern that ends with a `/` only matches a directory, not a regular file,
   symlink, or device.
 - A pattern that starts with a `/` is anchored to the start of the transfer
-  path instead of the end.  For example, `/foo` or `/foo/bar` match only
+  path instead of the end.  For example, `/foo/**` or `/foo/bar/**` match only
   leading elements in the path.  If the rule is read from a per-directory
   filter file, the transfer path being matched will begin at the level of the
   filter file instead of the top of the transfer.  See the section on
@@ -4010,11 +4044,11 @@ Here are some examples of exclude/include matching:
 - Option `-f'- /foo'` would exclude a file (or directory) named foo in the
   transfer-root directory
 - Option `-f'- foo/'` would exclude any directory named foo
-- Option `-f'- /foo/*/bar'` would exclude any file/dir named bar which is at
-  two levels below a directory named foo, which must be at the root of the
-  transfer
-- Option `-f'- /foo/**/bar'` would exclude any file/dir named bar two or more
-  levels below a directory named foo, which must be at the root of the transfer
+- 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)
 - 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-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
   rprintf(FINFO, "[%s] 
add_implied_include(%s/)\n",
-   who_am_i(), 
rule->pattern);
+   who_am_i(), 
R_rule->pattern);
}
+   if (saw_live_open_brkt)
+   
maybe_add_literal_brackets_rule(R_rule, -1);
}
}
slash_cnt++;
*p++ = *cp++;
break;
+ case '[':
+   saw_live_open_brkt = 1;
+   *p++ = *cp++;
+   break;
  default:
*p++ = *cp++;
break;
@@ -391,9 +448,12 @@ void add_implied_include(const char *arg)
}
*p = '\0';
rule->u.slash_cnt = slash_cnt;
-   arg = (const char *)rule->pattern;
+   arg = rule->pattern;
+   arg_len = p - arg; /* We recompute it due to backslash 
weirdness. */
if (DEBUG_GTE(FILTER, 3))
rprintf(FINFO, "[%s] add_implied_include(%s)\n", 
who_am_i(), rule->pattern);
+   if (saw_live_open_brkt)
+   maybe_add_literal_brackets_rule(rule, arg_len);
}
 
if (recurse || xfer_dirs) {
@@ -430,6 +490,8 @@ void add_implied_include(const char *arg)
implied_filter_list.head = rule;
if (DEBUG_GTE(FILTER, 3))
rprintf(FINFO, "[%s] add_implied_include(%s)\n", 
who_am_i(), rule->pattern);
+   if (saw_live_open_brkt)
+   maybe_add_literal_brackets_rule(rule, p - 
rule->pattern);
}
 }
 
diff --git a/options.c b/options.c
index 9731a144..a60ff515 100644
--- a/options.c
+++ b/options.c
@@ -2521,7 +2521,10 @@ char *safe_arg(const char *opt, const char *arg)
const char *f = arg;
char *t = ret + len1;
while (*f) {
-   if (strchr(escapes, *f))
+if (*f == '\\') {
+   if (!is_filename_arg || !strchr(WILD_CHARS, 
f[1]))
+   *t++ = '\\';
+   } else if (strchr(escapes, *f))
*t++ = '\\';
*t++ = *f++;
}
diff --git a/zlib/inflate.c b/zlib/inflate.c
index d15132ea..e9840b67 100644
--- a/zlib/inflate.c
+++ b/zlib/inflate.c
@@ -739,10 +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_max) {
+(len = state->head->extra_len - state->length) <
+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-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
mmary: A fast, versatile, remote (and local) file-copying tool
 Name: rsync
-Version: 3.2.4
-%define fullversion %{version}
-Release: 1
-%define srcdir src
+Version: 3.2.5
+%define fullversion %{version}pre1
+Release: 0.1.pre1
+%define srcdir src-previews
 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 Apr 15 2022 Wayne Davison 
-Released 3.2.4.
+* Mon Aug 01 2022 Wayne Davison 
+Released 3.2.5pre1.
 
 * Fri Mar 21 2008 Wayne Davison 
 Added installation of /etc/xinetd.d/rsync file and some commented-out
diff --git a/packaging/release-rsync b/packaging/release-rsync
index d484628c..5e54d06e 100755
--- a/packaging/release-rsync
+++ b/packaging/release-rsync
@@ -193,7 +193,9 @@ About to:
 with open(fn, 'r', encoding='utf-8') as fh:
 old_txt = txt = fh.read()
 if fn == 'version.h':
-txt = f'#define RSYNC_VERSION "{version}"\n'
+x_re = re.compile(r'^(#define RSYNC_VERSION).*', re.M)
+msg = f"Unable to update RSYNC_VERSION in {fn}"
+txt = replace_or_die(x_re, r'\1 "%s"' % version, txt, msg)
 elif '.spec' in fn:
 for var, val in specvars.items():
 x_re = re.compile(r'^%s .*' % re.escape(var), re.M)
diff --git a/rsync.1.md b/rsync.1.md
index 576dd90b..0c27df4c 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -180,17 +180,16 @@ an absolute or relative path that tries to escape out of 
the top of the
 transfer.  Also, beginning with version 3.2.5, rsync does two more safety
 checks of the file list to (1) ensure that no extra source arguments were added
 into the transfer other than those that the client requested and (2) ensure
-that the file list obeys the exclude rules that we sent to the sender.
+that the file list obeys the exclude rules that were sent to the sender.
 
-For those that don't yet have a 3.2.5 client rsync, it is safest to do a copy
-into a dedicated destination directory for the remote files rather than
-requesting the remote content get mixed in with other local content.  For
-example, doing an rsync copy into your home directory is potentially unsafe on
-an older rsync if the remote rsync is being controlled by a bad actor:
+For those that don't yet have a 3.2.5 client rsync (or those that want to be
+extra careful), it is safest to do a copy into a dedicated destination
+directory for the remote files when you don't trust the remote host.  For
+example, instead of doing an rsync copy into your home directory:
 
 > rsync -aiv host1:dir1 ~
 
-A safer command would be:
+Dedicate a "host1-files" dir to the remote content:
 
 > rsync -aiv host1:dir1 ~/host1-files
 
diff --git a/uidlist.c b/uidlist.c
index 2b81ae87..99a34679 100644
--- a/uidlist.c
+++ b/uidlist.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 1996 Andrew Tridgell
  * Copyright (C) 1996 Paul Mackerras
- * 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/version.h b/version.h
index 7bb1a5c9..61820bba 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
-#define RSYNC_VERSION "3.2.5dev"
+#define RSYNC_VERSION "3.2.5pre1"
 #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-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
ons.c
+++ b/options.c
@@ -293,7 +293,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
DEBUG_WORD(DELTASUM, W_SND|W_REC, "Debug delta-transfer checksumming 
(levels 1-4)"),
DEBUG_WORD(DUP, W_REC, "Debug weeding of duplicate names"),
DEBUG_WORD(EXIT, W_CLI|W_SRV, "Debug exit events (levels 1-3)"),
-   DEBUG_WORD(FILTER, W_SND|W_REC, "Debug filter actions (levels 1-2)"),
+   DEBUG_WORD(FILTER, W_SND|W_REC, "Debug filter actions (levels 1-3)"),
DEBUG_WORD(FLIST, W_SND|W_REC, "Debug file-list operations (levels 
1-4)"),
DEBUG_WORD(FUZZY, W_REC, "Debug fuzzy scoring (levels 1-2)"),
DEBUG_WORD(GENR, W_REC, "Debug generator functions"),


-- 
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-07-31 Thread Rsync CVS commit messages
 This option conflicts with the [`--protect-args`](#opt) option.
 
 0.  `--protect-args`, `-s`
@@ -3795,7 +3828,7 @@ also warn if a filter rule has trailing whitespace, since 
an exclude of "foo "
 (with a trailing space) will not exclude a file named "foo".
 
 Exclude and include rules can specify wildcard [PATTERN MATCHING RULES](#)
-(similar to shell wilcards) that allow you to match things like a file suffix
+(similar to shell wildcards) that allow you to match things like a file suffix
 or a portion of a filename.
 
 A rule can be limited to only affecting a directory by putting a trailing slash
@@ -3837,7 +3870,8 @@ it contains:
 
 ### FILTER RULES WHEN DELETING
 
-By default a filter rule affects both the sender (as it creates its file list)
+By default the include & exclude filter rules affect both the sender
+(as it creates its file list)
 and the receiver (as it creates its file lists for calculating deletions).  If
 no delete option is in effect, the receiver skips creating the delete-related
 file lists.  This two-sided default can be manually overridden so that you are
@@ -3846,8 +3880,8 @@ RULES IN DEPTH](#) section.
 
 When deleting, an exclude protects a file from being removed on the receiving
 side while an include overrides that protection (putting the file at risk of
-deletion). The default is for a file to be at risk (its safety depends on it
-matching a corresponding file from the sender).
+deletion). The default is for a file to be at risk -- its safety depends on it
+matching a corresponding file from the sender.
 
 An example of the two-sided exclude effect can be illustrated by the copying of
 a C development directory between 2 systems.  When doing a touch-up copy, you
@@ -3893,8 +3927,13 @@ Here are the available rule prefixes:
 `hide` and a `protect`.
 0.  `include, '+'` specifies an include pattern that (by default) is both a
 `show` and a `risk`.
-0.  `merge, '.'` specifies a merge-file to read for more rules.
-0.  `dir-merge, ':'` specifies a per-directory merge-file.
+0.  `merge, '.'` specifies a merge-file on the client side to read for more
+rules.
+0.  `dir-merge, ':'` specifies a per-directory merge-file.  Using this kind of
+filter rule requires that you trust the sending side's filter checking, and
+thus it disables the receiver's verification of the file-list names against
+the filter rules (since only the sender can know for sure if it obeyed all
+the filter rules when some are per-dir merged from the sender's files).
 0.  `hide, 'H'` specifies a pattern for hiding files from the transfer.
 Equivalent to a sender-only exclude, so `-f'H foo'` could also be specified
 as `-f'-s foo'`.
@@ -3957,7 +3996,7 @@ checking if the pattern contains one of these three 
wildcard characters: '`*`',
   must match one character.
 - a trailing `***` in the pattern is a shorthand that allows you to match a
   directory and all its contents using a single rule.  For example, specifying
-  "`dir_name/***`" will match both the "dir_name" directory (as if "dir_name/"
+  "`dir_name/***`" will match both the "dir_name" directory (as if 
"`dir_name/`"
   had been specified) and everything in the directory (as if "`dir_name/**`"
   had been specified).
 - a backslash can be used to escape a wildcard character, but it is only
@@ -4284,7 +4323,7 @@ Given that the files are still in the sender's file list, 
the
 [`--prune-empty-dirs`](#opt) option will not judge a directory as being empty
 even if it contains only files that the transfer rules omitted.
 
-Similarly, a transfer rule does not have any extra affect on which files are
+Similarly, a transfer rule does not have any extra effect on which files are
 deleted on the receiving side, so setting a maximum file size for the transfer
 does not prevent big files from being deleted.
 


-- 
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  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
s are being read from a file (using merge or dir-merge), empty lines
+are ignored, as are whole-line comments that start with a '`#`' (filename rules
+that contain a hash character are unaffected).
 
 Note also that the [`--filter`](#opt), [`--include`](#opt), and
 [`--exclude`](#opt) options take one rule/pattern each.  To add multiple ones,
@@ -3780,121 +3919,90 @@ you can repeat the options on the command-line, use 
the merge-file syntax of
 the [`--filter`](#opt) option, or the [`--include-from`](#opt) /
 [`--exclude-from`](#opt) options.
 
-## INCLUDE/EXCLUDE PATTERN RULES
-
-You can include and exclude files by specifying patterns using the "+", "-",
-etc. filter rules (as introduced in the [FILTER RULES](#) section above).  The
-include/exclude rules each specify a pattern that is matched against the names
-of the files that are going to be transferred.  These patterns can take several
-forms:
-
-- if the pattern starts with a `/` then it is anchored to a particular spot in
-  the hierarchy of files, otherwise it is matched against the end of the
-  pathname.  This is similar to a leading `^` in regular expressions.  Thus
-  `/foo` would match a name of "foo" at either the "root of the transfer" (for
-  a global rule) or in the merge-file's directory (for a per-directory rule).
-  An unqualified `foo` would match a name of "foo" anywhere in the tree because
-  the algorithm is applied recursively from the top down; it behaves as if each
-  path component gets a turn at being the end of the filename.  Even the
-  unanchored "sub/foo" would match at any point in the hierarchy where a "foo"
-  was found within a directory named "sub".  See the section on ANCHORING
-  INCLUDE/EXCLUDE PATTERNS for a full discussion of how to specify a pattern
-  that matches at the root of the transfer.
-- if the pattern ends with a `/` then it will only match a directory, not a
-  regular file, symlink, or device.
-- rsync chooses between doing a simple string match and wildcard matching by
-  checking if the pattern contains one of these three wildcard characters:
-  '`*`', '`?`', and '`[`' .
-- a '`*`' matches any path component, but it stops at slashes.
-- use '`**`' to match anything, including slashes.
-- a '`?`' matches any character except a slash (`/`).
-- a '`[`' introduces a character class, such as `[a-z]` or `[[:alpha:]]`.
-- in a wildcard pattern, a backslash can be used to escape a wildcard
-  character, but it is matched literally when no wildcards are present.  This
-  means that there is an extra level of backslash removal when a pattern
-  contains wildcard characters compared to a pattern that has none.  e.g. if
-  you add a wildcard to "`foo\bar`" (which matches the backslash) you would
-  need to use "`foo\\bar*`" to avoid the "`\b`" becoming just "b".
-- if the pattern contains a `/` (not counting a trailing /) or a "`**`", then 
it
-  is matched against the full pathname, including any leading directories.  If
-  the pattern doesn't contain a `/` or a "`**`", then it is matched only 
against
-  the final component of the filename. (Remember that the algorithm is applied
-  recursively so "full filename" can actually be any portion of a path from the
-  starting directory on down.)
-- a trailing "`dir_name/***`" will match both the directory (as if "dir_name/"
+### PATTERN MATCHING RULES
+
+Most of the rules mentioned above take an argument that specifies what the rule
+should match.  If rsync is recursing through a directory hierarchy, keep in
+mind that each pattern is matched against the name of every directory in the
+descent path as rsync finds the filenames to send.
+
+The matching rules for the pattern argument take several forms:
+
+- If a pattern contains a `/` (not counting a trailing slash) or a "`**`"
+  (which can match a slash), then the pattern is matched against the full
+  pathname, including any leading directories within the transfer.  If the
+  pattern doesn't contain a `/` or a "`**`", then it is matched only against
+  the final component of the filename or pathname. For example, `foo` means
+  that the final path component must be "foo" while `foo/bar` would match the
+  last 2 elements of the path (as long as both elements are within the
+  transfer).
+- A pattern that ends with a `/` only matches a directory, not a regular file,
+  symlink, or device.
+- A pattern that starts with a `/` is anchored to the start of the transfer
+  path instead of the end.  For example, `/foo` or `/foo/bar` match only


-- 
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-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
solute path.
 
-The online version of this man page (that includes cross-linking of topics)
+The online version of this manpage (that includes cross-linking of topics)
 is available at <https://download.samba.org/pub/rsync/rrsync.1>.
 
 ## DESCRIPTION
 
 A user's ssh login can be restricted to only allow the running of an rsync
-transfer in one of two easy ways: forcing the running of the rrsync script
-or forcing the running of an rsync daemon-over-ssh command.
+transfer in one of two easy ways:
+
+* forcing the running of the rrsync script
+* forcing the running of an rsync daemon-over-ssh command.
 
 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
@@ -47,13 +49,14 @@ ssh-key line that should be restricted:
 Then, ensure that the rsyncd.conf file is created with one or more module names
 with the appropriate path and option restrictions.  If rsync's
 [`--config`](rsync.1#dopt) option is omitted, it defaults to `~/rsyncd.conf`.
-See the `rsyncd.conf` man page for details of how to configure an rsync daemon.
+See the [**rsyncd.conf**(5)](rsyncd.conf.5) manpage for details of how to
+configure an rsync daemon.
 
 When using rrsync, there can be just one restricted dir per authorized key.  A
 daemon setup, on the other hand, allows multiple module names inside the config
 file, each one with its own path setting.
 
-The remainder of this man page is dedicated to using the rrsync script.
+The remainder of this manpage is dedicated to using the rrsync script.
 
 ## OPTIONS
 
@@ -119,11 +122,11 @@ The `~/.ssh/authorized_keys` file might have lines in it 
like this:
 
 ## SEE ALSO
 
-[**rsync**(1)](rsync.1)
+[**rsync**(1)](rsync.1), [**rsyncd.conf**(5)](rsyncd.conf.5)
 
 ## VERSION
 
-This man page is current for version @VERSION@ of rsync.
+This manpage is current for version @VERSION@ of rsync.
 
 ## CREDITS
 
diff --git a/version.h b/version.h
index f97bb16d..7bb1a5c9 100644
--- a/version.h
+++ b/version.h
@@ -1 +1,2 @@
-#define RSYNC_VERSION "3.2.4"
+#define RSYNC_VERSION "3.2.5dev"
+#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.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
e)
 {
 unsigned dist;  /* distance of matched string */
 int lc; /* match length or unmatched char (if dist == 0) */
-unsigned lx = 0;/* running index in l_buf */
+unsigned sx = 0;/* running index in sym_buf */
 unsigned code;  /* the code to send */
 int extra;  /* number of extra bits to send */
 
-if (s->last_lit != 0) do {
-dist = s->d_buf[lx];
-lc = s->l_buf[lx++];
+if (s->sym_next != 0) do {
+dist = s->sym_buf[sx++] & 0xff;
+dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8;
+lc = s->sym_buf[sx++];
 if (dist == 0) {
 send_code(s, lc, ltree); /* send a literal byte */
 Tracecv(isgraph(lc), (stderr," '%c' ", lc));
@@ -1095,11 +1074,10 @@ local void compress_block(s, ltree, dtree)
 }
 } /* literal or match pair ? */
 
-/* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
-Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
-   "pendingBuf overflow");
+/* Check that the overlay between pending_buf and sym_buf is ok: */
+Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow");
 
-} while (lx < s->last_lit);
+} while (sx < s->sym_next);
 
 send_code(s, END_BLOCK, ltree);
 }


-- 
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-03-27 Thread Rsync CVS commit messages
, 0600)) < 0) {
rsyserr(FERROR_XFER, errno, "open %s", 
full_fname(backupptr));
unmake_file(back_file);
back_file = NULL;
-   close(fd);
goto cleanup;
}
fnamecmp_type = FNAMECMP_BACKUP;
@@ -1945,7 +1947,6 @@ static void recv_generator(char *fname, struct 
file_struct *file, int ndx,
write_sum_head(f_out, NULL);
    else if (sx.st.st_size <= 0) {
write_sum_head(f_out, NULL);
-       close(fd);
} else {
if (generate_and_send_sums(fd, sx.st.st_size, f_out, f_copy) < 
0) {
rprintf(FWARNING,
@@ -1953,10 +1954,11 @@ static void recv_generator(char *fname, struct 
file_struct *file, int ndx,
fnamecmp);
write_sum_head(f_out, NULL);
}
-   close(fd);


-- 
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-03-13 Thread Rsync CVS commit messages
nable_asm" != x"yes"; then
-   enable_asm=no
+if test x"$enable_md5_asm" != x"yes"; then
+   enable_md5_asm=no
 fi
 else
 AC_MSG_RESULT(no)
 fi
 
-ASM=
+MD5_ASM=
 
-AC_MSG_CHECKING([whether to enable ASM optimizations])
-AC_ARG_ENABLE(asm,
-AS_HELP_STRING([--enable-asm],[enable/disable to control ASM 
optimizations]))
+AC_MSG_CHECKING([whether to enable MD5 ASM optimizations])
+AC_ARG_ENABLE(md5-asm,
+AS_HELP_STRING([--enable-md5-asm],[enable/disable to control MD5 ASM 
optimizations]))
 
-if test x"$enable_asm" = x""; then
+if test x"$enable_md5_asm" = x""; then
 case "$host_os" in
*linux*) ;;
-   *) enable_asm=no ;;
+   *) enable_md5_asm=no ;;
 esac
 fi
 
-if test x"$enable_asm" != x"no"; then
+if test x"$enable_md5_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
+   MD5_ASM="$host_cpu"
+elif test x"$enable_md5_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.)
+Omit --enable-md5-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)"
+if test x"$MD5_ASM" != x""; then
+AC_MSG_RESULT([yes ($MD5_ASM)])
+AC_DEFINE(USE_MD5_ASM, 1, [Define to 1 to enable MD5 ASM optimizations])
+MD5_ASM='$(MD5_ASM_'"$MD5_ASM)"
+else
+AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(MD5_ASM)
+
+ROLL_ASM=
+
+AC_MSG_CHECKING([whether to enable rolling-checksum ASM optimizations])
+AC_ARG_ENABLE(roll-asm,
+AS_HELP_STRING([--enable-roll-asm],[enable/disable to control 
rolling-checksum ASM optimizations (requires --enable-roll-simd)]))
+
+if test x"$ROLL_SIMD" = x""; then
+enable_roll_asm=no
+fi
+
+if test x"$enable_roll_asm" = x"yes"; then
+ROLL_ASM="$host_cpu"
+AC_MSG_RESULT([yes ($ROLL_ASM)])
+AC_DEFINE(USE_ROLL_ASM, 1, [Define to 1 to enable rolling-checksum ASM 
optimizations (requires --enable-roll-simd)])
+ROLL_ASM='$(ROLL_ASM_'"$ROLL_ASM)"
 else
 AC_MSG_RESULT(no)
 fi
 
-AC_SUBST(ASM)
+AC_SUBST(ROLL_ASM)
 
 AC_MSG_CHECKING([whether to enable xxhash checksum support])
 AC_ARG_ENABLE([xxhash],
@@ -1421,10 +1442,6 @@ esac
 AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
 AC_OUTPUT
 
-if test "$enable_openssl" = yes && test "$enable_asm" = yes; then
-echo "*** Ignoring --enable-asm option -- using openssl for MD5 checksums 
***"
-fi
-
 AC_MSG_RESULT()
 AC_MSG_RESULT([rsync $PACKAGE_VERSION configuration successful])
 AC_MSG_RESULT()
diff --git a/lib/md5-asm-x86_64.S b/lib/md5-asm-x86_64.S
index 383f193a..3737058f 100644
--- a/lib/md5-asm-x86_64.S
+++ b/lib/md5-asm-x86_64.S
@@ -27,7 +27,7 @@
 #include "config.h"
 #include "md-defines.h"
 
-#if !defined USE_OPENSSL && CSUM_CHUNK == 64
+#ifdef USE_MD5_ASM /* { */
 
 #ifdef __APPLE__
 #define md5_process_asm _md5_process_asm
@@ -698,4 +698,4 @@ md5_process_asm:
pop %rbp
ret
 
-#endif /* !USE_OPENSSL ... */
+#endif /* } USE_MD5_ASM */
diff --git a/lib/md5.c b/lib/md5.c
index 41f158b8..07fd6147 100644
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -20,7 +20,7 @@
 
 #include "rsync.h"
 
-#ifndef USE_OPENSSL
+#if !defined USE_OPENSSL || USE_MD5_ASM /* { */
 void md5_begin(md_context *ctx)
 {
ctx->A = 0x67452301;
@@ -148,7 +148,10 @@ static void md5_process(md_context *ctx, const uchar 
data[CSUM_CHUNK])
ctx->D += D;
 }
 
-#if defined HAVE_ASM && CSUM_CHUNK == 64
+#ifdef USE_MD5_ASM
+#if CSUM_CHUNK != 64
+#error The MD5 ASM code does not support CSUM_CHUNK != 64
+#endif
 extern void md5_process_asm(md_context *ctx, const void *data, size_t num);
 #endif
 
@@ -176,20 +179,20 @@ void md5_update(md_context *ctx, const uchar *input, 
uint32 length)
left = 0;
}
 
-#if defined HAVE_ASM && CSUM_CHUNK == 64
+#ifdef USE_MD5_ASM /* { */
if (length >= CSUM_CHUNK) {
        uint32 chunks = length / CSUM_CHUNK;
md5_process_asm(ctx, input, chunks);
length -= chunks * CSUM_CHUNK;
input += chunks * CSUM_CHUNK;
}
-#else
+#else /* } { */
while (length >= CSUM_CHUNK) {
md5_process(ctx, input);
length -= CSUM_CHUNK;
input  += CSUM_CHUNK;
}
-#endif
+#endif /* } */
 
if (length)
memcpy(ctx->buffer + left, input, length);
@@ -221,9 +224,9 @@ void md5_result(md_context *ctx, uchar 
digest[MD5_DIGEST_LEN])
SIVALu(digest, 8, ctx->C);
SIVALu(digest, 12, ctx->D);
 }
-#endif
+#endif /* } */
 
-#ifdef TEST_MD5
+#ifdef TEST_MD5 /* { */
 
 void get_md5(uchar *out, const uchar *input, int n)
 {
@@ -317,4 +320,4 @@ int main(int argc, char *argv[])
return 0;
 }
 
-#endif


-- 
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-02-21 Thread Rsync CVS commit messages
ronment variable is not read by rsync, but is instead set in
 its sub-environment when rsync is running the remote shell in combination
 with a daemon connection.  This allows a script such as
 [`rsync-ssl`](rsync-ssl.1) to be able to know the port number that the user
diff --git a/usage.c b/usage.c
index db13535f..c8c4f025 100644
--- a/usage.c
+++ b/usage.c
@@ -144,7 +144,7 @@ static void print_info_flags(enum logcode f)
 #endif
"SIMD",
 
-#ifndef HAVE_ASM
+#if !defined HAVE_ASM || defined USE_OPENSSL
"no "
 #endif
"asm",


-- 
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  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   >