Release utilities for synchronization of RSync 3.2.4 files

After one and a half years of development Available Release RSYNC 3.2.4 , utilities for synchronizing files and backup, which allows you to minimize traffic due to incremental changes. SSH, RSH or own RSync protocol can be used as vehicles. The organization of the work of anonymous RSync servers is supported, optimally suitable for synchronizing mirrors.
Project code spreads under the GPLv3 license.

Among the added changes :

  • A new method for protecting the command line arguments is proposed, which reminds the previously available “–protect-args” option (“-s”), but does not violate the RRSync script (restricted rsync). Protection is reduced to the shielding of specialsters, including spaces, when sending requests to an external command interpreter. The new method does not shield the specialist inside the block framed by quotes, which allows you to use a simple allocation of the file name with quotes without additional shielding, for example, the “RSync -aiv Host:” A Simple File.pdf ‘command is allowed. ” To return the old behavior, the option “–old-Args” and environment variable “rsync_old_args = 1” is proposed.
  • a long-standing problem with the processing of decimal semicolons, taking into account the current locale (“,” instead of “.”). For scripts, calculated on the processing of only the symbol “.” In numbers, in case of violation of compatibility, you can set the locale “C”.
  • Fixed Vulnerability (CVE-2018-25032) in the included code from the ZLIB library, leading to the buffer overflow when attempting to compress the specially prepared sequence of characters.
  • is implemented option “–fsync” of calling the FSYNC () function when each operation with a disk cache reset file.
  • In the RSync-SSL script, the “-Verify_HostName” option is involved when accessing OpenSSL.
  • Added option “–Copy-Devices” to copy device files as ordinary files.
  • reduced memory consumption with incremental transmission of a large number of small directories.
  • On the MacOS platform, the option “–atimes” option is provided.
  • Implemented the ability to update Xattrs attributes for files only for read-only, if the user has the authority to change the access rights (for example, when starting with ROOT rights).
  • Added and enabled By default, the “–info = nonreg” parameter to output the transmission of special files.
  • RRSYNC script (restricted rsync) is rewritten in Python. Added new options “-munge”, “-no-lock” and “-no-del”. By default, blocking options “–Copy-links” (-l), “–Copy-dirlinks” (-k) and “–keep-dirlinks” (-K) for the complication of the execution of attacks that manipulate symbolic references to directories .
  • The Atomic-Rsync script is rewritten in Python and expanded the possibility of ignoring nonzero return codes. The default code 24, issued when the files in the process of operation, is ignored during the RSync process (for example, code 24 is returned for temporary files that were present during the initial indexation, but were removed by the transfer time).
  • Munge-Symlinks script is rewritten in Python.
/Media reports.