Na anderhalf jaar van ontwikkeling is de release van Rsync 3.2.4 beschikbaar, een tool voor het synchroniseren van bestanden en het maken van back-ups, waarmee de verkeersbelasting kan worden geminimaliseerd door middel van incrementele kopieƫn van wijzigingen. Voor transport kunnen ssh, rsh of het eigen rsync-protocol worden gebruikt. Het ondersteunt de organisatie van anonieme rsync-servers die optimaal zijn voor het synchroniseren van spiegels. De code van het project wordt verspreid onder de GPLv3-licentie.
Onder de toegevoegde wijzigingen:
- Een nieuwe methode voor het beschermen van commandoregelargumenten is voorgesteld, die lijkt op de eerder beschikbare optie āāprotect-argsā (ā-sā), maar de werking van het script rrsync (restricted rsync) niet verstoort. De bescherming bestaat uit het escapen van speciale symbolen, inclusief spaties, bij het doorgeven van verzoeken aan de externe command interpreter. De nieuwe methode escapen speciale symbolen niet binnen een ingesloten aanhalingstekensblok, waardoor eenvoudige aanhaling van bestandsnamen zonder extra escaping mogelijk is; bijvoorbeeld, de opdracht ārsync -aiv host:āa simple file.pdfā .ā is nu toegestaan. Voor het terugkeren naar het oude gedrag is de optie āāold-argsā en de omgevingsvariabele āRSYNC_OLD_ARGS=1ā voorgesteld.
- Een oud probleem met de verwerking van decimale komma's rekening houdend met de huidige locale (ā,ā in plaats van ā.ā) is opgelost. Voor scripts die zijn ontworpen om alleen het symbool ā.ā in getallen te verwerken, kan de locale āCā worden ingesteld in het geval van incompatibiliteit.
- Een kwetsbaarheid (CVE-2018-25032) in de bijgeleverde code van de zlib-bibliotheek is opgelost, die leidde tot een bufferoverflow bij het proberen te comprimeren van een speciaal voorbereide reeks symbolen.
- De optie āāfsyncā voor het aanroepen van de fsync() functie bij elke bestandsbewerking om de schijfcache door te schrijven is geĆÆmplementeerd.
- In het script rsync-ssl is de optie ā-verify_hostnameā ingeschakeld bij het aanspreken van openssl.
- De optie āācopy-devicesā is toegevoegd voor het kopiĆ«ren van apparaatsbestanden als gewone bestanden.
- Het geheugenverbruik bij incrementele overdracht van een groot aantal kleine mappen is verminderd.
- Op het macOS-platform is de werking van de optie āāatimesā gewaarborgd.
- De mogelijkheid is geĆÆmplementeerd om xattrs-kenmerken voor bestanden in alleen-lezen modus bij te werken, als de gebruiker bevoegdheden heeft om de toegangsrechten te wijzigen (bijvoorbeeld bij uitvoering met root-rechten).
- De parameter āāinfo=NONREGā is toegevoegd en standaard ingeschakeld voor het weergeven van waarschuwingen over de overdracht van speciale bestanden.
- Het rrsync (restricted rsync) script is herschreven in Python. Nieuwe opties zijn toegevoegd: Ā«-mungeĀ», Ā«-no-lockĀ» en Ā«-no-delĀ». Standaard zijn de opties Ā«ācopy-linksĀ» (-L), Ā«ācopy-dirlinksĀ» (-k) en Ā«ākeep-dirlinksĀ» (-K) ingeschakeld om het moeilijker te maken om aanvallen uit te voeren die symbollink naar mappen manipuleren.
- Het atomic-rsync script is herschreven in Python en uitgebreid met de mogelijkheid om niet-nul retourcodes te negeren. Standaard wordt code 24 genegeerd, die wordt teruggegeven wanneer bestanden tijdens de uitvoering van rsync ontbreken (bijvoorbeeld, code 24 wordt geretourneerd voor tijdelijke bestanden die aanwezig waren tijdens de initiƫle indexatie, maar zijn verwijderd tegen de tijd van de overdracht).
- Het munge-symlinks script is herschreven in Python.
Bron: opennet.ru
