Выпуск утыліты для сінхранізацыі файлаў 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

Дадаць каментар