]> git.ipfire.org Git - ipfire-2.x.git/commit
rsync: Update to version 3.2.6 and fix Bug#12947
authorAdolf Belka <adolf.belka@ipfire.org>
Tue, 4 Oct 2022 10:54:42 +0000 (12:54 +0200)
committerPeter Müller <peter.mueller@ipfire.org>
Tue, 4 Oct 2022 14:44:50 +0000 (14:44 +0000)
commita4e5b6d689a7f3094b916251b52e04ff0825add4
treefcda611c1fb54ba2d70202c4259ea07df4817d68
parent6d0e3c5a5719ea66a47f1859871808d8b2095fa4
rsync: Update to version 3.2.6 and fix Bug#12947

- Update from version 3.2.4 plus CVE-2022-29154 patch to 3.2.6
- Patch for CVE-2022-29154 applied  in CU170 turned out to have a bug within it causing
   rsync to fail with an error. Four additional commits were done to fix this bug and
   its consequences but these were all applied in the rsync git repo after the patch had
   been merged into CU170.
- Version 3.2.5 onwards contains the CVE-2022-29154 fix and associated commits.
- No update of rootfile required.
- Changelog
    NEWS for rsync 3.2.6 (9 Sep 2022)
BUG FIXES:
    More path-cleaning improvements in the file-list validation code to avoid
             rejecting of valid args.
    A file-list validation fix for a --files-from file that ends without a
             line-terminating character.
    Added a safety check that prevents the sender from removing destination
             files when a local copy using --remove-source-files has some files that are
             shared between the sending & receiving hierarchies, including the case
             where the source dir & destination dir are identical.
    Fixed a bug in the internal MD4 checksum code that could cause the digest to
             be sporadically incorrect (the openssl version was/is fine).
    A minor tweak to rrsync added "copy-devices" to the list of known args, but
             left it disabled by default.
ENHANCEMENTS:
    Rename --protect-args to --secluded-args to make it clearer how it differs
             from the default backslash-escaped arg-protecting behavior of rsync. The
             old option names are still accepted. The environment-variable override did
             not change its name.
PACKAGING RELATED:
    The configure option --with-protected-args was renamed to
             --with-secluded-args. This option makes --secluded-args the default rsync
             behavior instead of using backslash escaping for protecting args.
    The mkgitver script now makes sure that a .git dir/file is in the top-level
             source dir before calling git describe. It also runs a basic check on the
             version value. This should avoid using an unrelated git description for
             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).
    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)
SECURITY FIXES:
    Added some file-list safety checking that helps to ensure that a rogue
             sending rsync can't add unrequested top-level names and/or include
             recursive names that should have been excluded by the sender. These extra
             safety 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 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 handling of filenames specified with backslash-quoted wildcards
             when the default remote-arg-escaping is enabled.
    Fixed the configure check for signed char that was causing a host that
             defaults to unsigned characters to generate bogus rolling checksums. This
             made rsync send mostly literal data for a copy instead of finding matching
             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.
    If rsync is compiled with an xxhash 0.8 library and then moved to a system
             with a dynamically linked xxhash 0.7 library, we now detect this and
             disable the XX3 hashes (since these routines didn't stabilize until 0.8).
ENHANCEMENTS:
    The --trust-sender option was added as a way to bypass the extra file-list
             safety checking (should that be required).
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.
DEVELOPER RELATED:
    Configure now defaults GETGROUPS_T to gid_t when cross compiling.
    Configure now looks for the bsd/string.h include file in order to fix the
             build on a host that has strlcpy() in the main libc but not defined in the
             main string.h file.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/rsync
src/patches/rsync-CVE-2022-29154.patch [deleted file]