Paglabas ng file synchronization utility Rsync 3.2.4

Pagkatapos ng isang taon at kalahati ng pag-unlad, ang paglabas ng Rsync 3.2.4 ay magagamit, isang file synchronization at backup na utility na nagbibigay-daan sa iyo upang mabawasan ang trapiko sa pamamagitan ng unti-unting pagkopya ng mga pagbabago. Ang transportasyon ay maaaring ssh, rsh o ang proprietary rsync protocol. Sinusuportahan nito ang organisasyon ng mga hindi nagpapakilalang rsync server, na pinakaangkop para sa pagtiyak ng pag-synchronize ng mga salamin. Ang code ng proyekto ay ipinamahagi sa ilalim ng lisensya ng GPLv3.

Kabilang sa mga pagbabagong idinagdag:

  • Ang isang bagong paraan para sa pagprotekta sa mga argumento ng command line ay iminungkahi, na kahawig ng dating magagamit na opsyon na “--protect-args” (“-s”), ngunit hindi sinisira ang pagpapatakbo ng rrsync script (restricted rsync). Ang proteksyon ay bumababa sa pagtakas sa mga espesyal na character, kabilang ang mga espasyo, kapag nagpapadala ng mga kahilingan sa isang panlabas na command interpreter. Ang bagong paraan ay hindi nakakatakas sa mga espesyal na character sa loob ng isang naka-quote na bloke, na nagbibigay-daan sa iyong gumamit ng mga simpleng panipi sa paligid ng pangalan ng file nang walang karagdagang pagtakas, halimbawa, ang command na “rsync -aiv host:'a simple file.pdf' ay pinapayagan na ngayon .” Upang ibalik ang dating gawi, ang opsyong “--old-args” at ang “RSYNC_OLD_ARGS=1” na environment variable ay iminungkahi.
  • Nalutas ang isang matagal nang isyu sa paghawak ng mga character ng decimal point batay sa kasalukuyang lokal ("," sa halip na "."). Para sa mga script na idinisenyo upang iproseso lamang ang "." sa mga numero, sa kaso ng paglabag sa compatibility, maaari mong itakda ang locale sa “C”.
  • Inayos ang isang kahinaan (CVE-2018-25032) sa kasamang code mula sa zlib library na humahantong sa isang buffer overflow kapag sinusubukang i-compress ang isang espesyal na inihandang pagkakasunud-sunod ng character.
  • Ipinatupad ang opsyong "--fsync" upang tawagan ang function na fsync() sa bawat operasyon ng file upang i-flush ang cache ng disk.
  • Ang rsync-ssl script ay gumagamit ng "-verify_hostname" na opsyon kapag ina-access ang openssl.
  • Idinagdag ang opsyong "--copy-devices" upang kopyahin ang mga file ng device bilang mga regular na file.
  • Nabawasan ang pagkonsumo ng memorya kapag unti-unting naglilipat ng malaking bilang ng maliliit na direktoryo.
  • Sa platform ng macOS, gumagana ang opsyong "—times".
  • Ipinatupad ang kakayahang mag-update ng mga katangian ng xattrs para sa mga file sa read-only na mode kung may pahintulot ang user na baguhin ang mga karapatan sa pag-access (halimbawa, kapag tumatakbo bilang root).
  • Idinagdag at pinagana bilang default ang parameter na “--info=NONREG” upang magpakita ng mga babala tungkol sa paglilipat ng mga espesyal na file.
  • Ang script ng rrsync (restricted rsync) ay muling isinulat sa Python. Nagdagdag ng mga bagong opsyon na "-munge", "-no-lock" at "-no-del". Bilang default, pinapagana ang pag-block sa mga --copy-links (-L), --copy-dirlinks (-k), at --keep-dirlinks (-K) na mga opsyon upang gawing mas mahirap ang mga pag-atake na nagmamanipula ng mga symlink sa mga direktoryo.
  • Ang atomic-rsync script ay muling isinulat sa Python at pinalawig upang huwag pansinin ang mga non-zero return code. Bilang default, binabalewala ang code 24 kapag nawala ang mga file habang tumatakbo ang rsync (halimbawa, ibinabalik ang code 24 para sa mga pansamantalang file na naroroon sa paunang pag-index ngunit natanggal sa oras ng paglipat).
  • Ang munge-symlinks script ay muling isinulat sa Python.

Pinagmulan: opennet.ru

Magdagdag ng komento