Nach anderthalb Jahren Entwicklung ist die Version Rsync 3.2.4 jetzt verfĂŒgbar, ein Tool zur Dateisynchronisation und Sicherung, das den Datenverkehr durch inkrementelle Kopierung von Ănderungen minimiert. FĂŒr den Transport können ssh, rsh oder das eigene rsync-Protokoll verwendet werden. Die Einrichtung anonymer rsync-Server wird unterstĂŒtzt, die optimal fĂŒr die Synchronisation von Spiegeln geeignet sind. Der Projektcode wird unter der GPLv3-Lizenz veröffentlicht.
Zu den hinzugefĂŒgten Ănderungen gehören:
- Eine neue Methode zum Schutz von Befehlszeilenargumenten wurde vorgeschlagen, die an die zuvor verfĂŒgbare Option ââprotect-argsâ (â-sâ) erinnert, jedoch die FunktionalitĂ€t des Skripts rrsync (restricted rsync) nicht beeintrĂ€chtigt. Der Schutz besteht darin, Sonderzeichen, einschlieĂlich Leerzeichen, bei der Ăbergabe von Anfragen an den externen Befehlsinterpreter zu maskieren. Die neue Methode maskiert keine Sonderzeichen innerhalb eines in AnfĂŒhrungszeichen gesetzten Blocks, was die einfache Verwendung von Dateinamen in AnfĂŒhrungszeichen ohne zusĂ€tzliche Maskierung ermöglicht, zum Beispiel ist der Befehl ârsync -aiv host:'a simple file.pdf' .â nun zulĂ€ssig. Um das alte Verhalten wiederherzustellen, wurde die Option ââold-argsâ und die Umgebungsvariable âRSYNC_OLD_ARGS=1â vorgeschlagen.
- Ein altes Problem mit der Handhabung des Dezimaltrennzeichens unter BerĂŒcksichtigung der aktuellen Spracheinstellung (â,â anstelle von â.â) wurde gelöst. FĂŒr Skripte, die nur das Zeichen â.â in Zahlen erwarten, kann bei KompatibilitĂ€tsproblemen die Locale âCâ eingestellt werden.
- Eine Verletzung (CVE-2018-25032) im im Paket enthaltenen Code der zlib-Bibliothek, die zu einem PufferĂŒberlauf beim Versuch, eine speziell vorbereitete Zeichenfolge zu komprimieren, fĂŒhrte, wurde behoben.
- Die Option ââfsyncâ fĂŒr den Aufruf der Funktion fsync() bei jeder Dateioperation zur Entleerung des Festplattencaches wurde implementiert.
- Im Skript rsync-ssl wurde die Option â-verify_hostnameâ beim Zugriff auf openssl verwendet.
- Die Option ââcopy-devicesâ zum Kopieren von GerĂ€tedateien wie normale Dateien wurde hinzugefĂŒgt.
- Der Speicherverbrauch bei inkrementeller Ăbertragung einer groĂen Anzahl kleiner Verzeichnisse wurde reduziert.
- Unter der macOS-Plattform wurde die FunktionalitĂ€t der Option ââatimesâ sichergestellt.
- Die Möglichkeit, xattr-Attribute fĂŒr Dateien im Nur-Lesen-Modus zu aktualisieren, wurde umgesetzt, sofern der Benutzer die Berechtigung zum Ăndern der Zugriffsrechte hat (z.B. bei AusfĂŒhrung mit Root-Rechten).
- Die Option ââinfo=NONREGâ zur Ausgabe von Warnungen ĂŒber den Transfer spezieller Dateien wurde hinzugefĂŒgt und ist standardmĂ€Ăig aktiviert.
- Das rrsync (restricted rsync) Skript wurde in Python neu geschrieben. Neue Optionen wie «-munge», «-no-lock» und «-no-del» wurden hinzugefĂŒgt. StandardmĂ€Ăig sind die Optionen «âcopy-links» (-L), «âcopy-dirlinks» (-k) und «âkeep-dirlinks» (-K) aktiviert, um Angriffe, die symbolische Links auf Verzeichnisse manipulieren, zu erschweren.
- Das atomic-rsync Skript wurde in Python neu geschrieben und um die Möglichkeit erweitert, Nicht-Null-RĂŒckgabewerte zu ignorieren. StandardmĂ€Ăig wird der RĂŒckgabewert 24 ignoriert, der angezeigt wird, wenn Dateien wĂ€hrend des Betriebs von rsync verloren gehen (zum Beispiel wird der RĂŒckgabewert 24 fĂŒr temporĂ€re Dateien zurĂŒckgegeben, die wĂ€hrend der initialen Indizierung vorhanden waren, aber bis zum Transfer entfernt wurden).
- Das munge-symlinks Skript wurde in Python neu geschrieben.
Quelle: opennet.ru
