Pas një viti e gjysmë zhvillimi, është i disponueshëm lëshimi i Rsync 3.2.4, një mjet për sinkronizimin dhe rezervimin e skedarëve që ju lejon të minimizoni trafikun duke kopjuar ndryshimet në rritje. Transporti mund të jetë ssh, rsh ose protokolli i pronarit rsync. Ai mbështet organizimin e serverëve anonimë rsync, të cilët janë të përshtatshëm në mënyrë optimale për të siguruar sinkronizimin e pasqyrave. Kodi i projektit shpërndahet nën licencën GPLv3.
Ndër ndryshimet e shtuara:
- Është propozuar një metodë e re për mbrojtjen e argumenteve të linjës së komandës, e cila i ngjan opsionit të disponueshëm më parë "--protect-args" ("-s"), por nuk e prish funksionimin e skriptit rrsync (rsync i kufizuar). Mbrojtja ka të bëjë me ikjen e karaktereve speciale, duke përfshirë hapësirat, kur dërgoni kërkesa te një përkthyes i jashtëm komandash. Metoda e re nuk i shpëton karaktereve speciale brenda një blloku të cituar, gjë që ju lejon të përdorni thonjëza të thjeshta rreth emrit të skedarit pa ikje shtesë, për shembull, komanda "rsync -aiv host:'a simple file.pdf" tani lejohet .” Për të kthyer sjelljen e vjetër, propozohen opsioni "--old-args" dhe ndryshorja e mjedisit "RSYNC_OLD_ARGS=1".
- Zgjidhet një problem i kahershëm me trajtimin e karaktereve me pikë dhjetore bazuar në vendndodhjen aktuale (,"" në vend të "."). Për skriptet e krijuara për të përpunuar vetëm "." në numra, në rast të shkeljes së përputhshmërisë, mund të vendosni vendndodhjen në "C".
- Rregulloi një dobësi (CVE-2018-25032) në kodin e përfshirë nga biblioteka zlib që çon në një tejmbushje buferi kur përpiqeni të kompresoni një sekuencë karakteresh të përgatitur posaçërisht.
- Zbatoi opsionin "--fsync" për të thirrur funksionin fsync() në çdo operacion skedari për të pastruar cache-në e diskut.
- Skripti rsync-ssl përdor opsionin "-verify_hostname" kur hyn në openssl.
- U shtua opsioni "--copy-devices" për të kopjuar skedarët e pajisjes si skedarë të rregullt.
- Reduktimi i konsumit të memories kur transferoni në mënyrë të vazhdueshme një numër të madh drejtorish të vogla.
- Në platformën macOS, opsioni "—times" funksionon.
- Zbatuar aftësinë për të përditësuar atributet xattrs për skedarët në modalitetin vetëm për lexim nëse përdoruesi ka leje për të ndryshuar të drejtat e aksesit (për shembull, kur ekzekutohet si rrënjë).
- Është shtuar dhe aktivizuar si parazgjedhje parametri “--info=NONREG” për të shfaqur paralajmërimet për transferimin e skedarëve të veçantë.
- Skripti rrsync (rsync i kufizuar) u rishkrua në Python. U shtuan opsione të reja "-munge", "-no-lock" dhe "-no-del". Si parazgjedhje, bllokimi i opsioneve --copy-links (-L), --copy-dirlinks (-k) dhe --keep-dirlinks (-K) është aktivizuar për t'i bërë më të vështira sulmet që manipulojnë lidhjet simbolike në drejtori.
- Skripti atomic-rsync është rishkruar në Python dhe është zgjeruar për të injoruar kodet e kthimit jo zero. Si parazgjedhje, kodi 24 shpërfillet kur skedarët humbasin ndërsa rsync po ekzekutohet (për shembull, kodi 24 kthehet për skedarët e përkohshëm që ishin të pranishëm gjatë indeksimit fillestar, por u fshinë në kohën e migrimit).
- Skripti munge-symlinks rishkruhet në Python.
Burimi: opennet.ru