Випуск утиліти для синхронізації файлів Rsync 3.2.4

Після півтора року розробки доступний реліз Rsync 3.2.4, утиліти для синхронізації файлів та резервного копіювання, що дозволяє мінімізувати трафік за рахунок інкрементального копіювання змін. Як транспорт можуть бути використані ssh, rsh або власний протокол rsync. Підтримується організація роботи анонімних rsync-серверів, які оптимально підходять для забезпечення синхронізації дзеркал. Код проекту розповсюджується під ліцензією GPLv3.

Серед доданих змін:

  • Запропоновано новий метод захисту аргументів командного рядка, який нагадує раніше доступну опцію «-protect-args» («-s»), але не порушує роботу скрипта rrsync (restricted rsync). Захист зводиться до екранування спецсимволів, включаючи прогалини, передачі запитів зовнішньому командному інтерпретатору. Новий метод не екранує спецсимволи всередині обрамленого лапками блоку, що дозволяє використовувати просте виділення імені файлу лапками без додаткового екранування, наприклад, тепер допустима команда «rsync -aiv host:'a simple file.pdf'.» Для повернення старої поведінки запропоновано опцію «old-args» та змінна оточення «RSYNC_OLD_ARGS=1».
  • Вирішено давню проблему з обробкою символів десяткової коми з урахуванням поточної локалі («,» замість «.»). Для скриптів, розрахованих на обробку лише символу "." у числах, у разі порушення сумісності, можна виставити локаль «С».
  • Виправлена ​​вразливість (CVE-2018-25032) у коді, що входить до складу з бібліотеки zlib, що призводить до переповнення буфера при спробі стиснення спеціально підготовленої послідовності символів.
  • Реалізовано опцію «—fsync» виклику функції fsync() при кожній операції з файлом для скидання дискового кешу.
  • У скрипті rsync-ssl задіяна опція "-verify_hostname" при зверненні до openssl.
  • Додана опція "-copy-devices" для копіювання файлів пристроїв як звичайних файлів.
  • Скорочено споживання пам'яті при інкрементальній передачі великої кількості дрібних каталогів.
  • На платформі macOS забезпечено роботу опції «atimes».
  • Реалізована можливість оновлення атрибутів xattrs для файлів у режимі лише читання, якщо користувач має повноваження зміну прав доступу (наприклад, запуску з правами root).
  • Доданий і включений за промовчанням параметр «—info=NONREG» для виведення попереджень про передачу спеціальних файлів.
  • Скрипт rrsync (restricted rsync) переписаний мовою Python. Додані нові опції "-munge", "-no-lock" та "-no-del". За замовчуванням включено блокування опцій copy-links (-L), copy-dirlinks (-k) і keep-dirlinks (-K) для ускладнення здійснення атак, що маніпулюють символічними посиланнями на каталоги.
  • Скрипт atomic-rsync переписаний мовою Python та розширено можливістю ігнорування ненульових кодів повернення. За замовчуванням ігнорується код 24, що видається під час зникнення файлів у процесі роботи rsync (наприклад, код 24 повертається для тимчасових файлів, які були присутні під час початкової індексації, але були видалені на час перенесення).
  • Скрипт munge-symlinks переписаний мовою Python.

Джерело: opennet.ru

Додати коментар або відгук