Veröffentlichung des Dateisynchronisierungsdienstprogramms Rsync 3.2.4

Nach anderthalb Jahren Entwicklungszeit ist die Veröffentlichung von Rsync 3.2.4 verfügbar, einem Dienstprogramm zur Dateisynchronisierung und -sicherung, mit dem Sie den Datenverkehr durch schrittweises Kopieren von Änderungen minimieren können. Der Transport kann ssh, rsh oder das proprietäre rsync-Protokoll sein. Es unterstützt die Organisation anonymer rsync-Server, die sich optimal für die Synchronisierung von Spiegeln eignen. Der Projektcode wird unter der GPLv3-Lizenz vertrieben.

Zu den hinzugefügten Änderungen gehören:

  • Es wurde eine neue Methode zum Schutz von Befehlszeilenargumenten vorgeschlagen, die der zuvor verfügbaren Option „--protect-args“ („-s“) ähnelt, aber den Betrieb des rrsync-Skripts nicht unterbricht (eingeschränkter rsync). Der Schutz besteht darin, Sonderzeichen, einschließlich Leerzeichen, zu maskieren, wenn Anfragen an einen externen Befehlsinterpreter gesendet werden. Die neue Methode maskiert Sonderzeichen innerhalb eines Blocks in Anführungszeichen nicht, sodass Sie einfache Anführungszeichen um den Dateinamen ohne zusätzliche Escapezeichen verwenden können. Beispielsweise ist der Befehl „rsync -aiv host:'a simple file.pdf' jetzt akzeptabel .“ Um das alte Verhalten zurückzugeben, werden die Option „--old-args“ und die Umgebungsvariable „RSYNC_OLD_ARGS=1“ vorgeschlagen.
  • Es wurde ein seit langem bestehendes Problem mit der Verarbeitung von Dezimalpunktzeichen basierend auf dem aktuellen Gebietsschema ("," anstelle von ".") behoben. Für Skripte, die nur das „.“ verarbeiten sollen. In Zahlen können Sie im Falle einer Kompatibilitätsverletzung das Gebietsschema auf „C“ setzen.
  • Im enthaltenen Code der zlib-Bibliothek wurde eine Schwachstelle (CVE-2018-25032) behoben, die beim Versuch, eine speziell vorbereitete Zeichenfolge zu komprimieren, zu einem Pufferüberlauf führte.
  • Die Option „--fsync“ wurde implementiert, um die Funktion fsync() bei jedem Dateivorgang aufzurufen, um den Festplatten-Cache zu leeren.
  • Das rsync-ssl-Skript verwendet beim Zugriff auf openSL die Option „-verify_hostname“.
  • Option „--copy-devices“ hinzugefügt, um Gerätedateien als reguläre Dateien zu kopieren.
  • Reduzierter Speicherverbrauch bei der inkrementellen Übertragung einer großen Anzahl kleiner Verzeichnisse.
  • Auf der macOS-Plattform funktioniert die Option „—atimes“.
  • Es wurde die Möglichkeit implementiert, xattrs-Attribute für Dateien im schreibgeschützten Modus zu aktualisieren, wenn der Benutzer die Berechtigung zum Ändern von Zugriffsrechten hat (z. B. wenn er als Root ausgeführt wird).
  • Der Parameter „--info=NONREG“ wurde hinzugefügt und standardmäßig aktiviert, um Warnungen über die Übertragung spezieller Dateien anzuzeigen.
  • Das rrsync-Skript (restricted rsync) wurde in Python neu geschrieben. Neue Optionen „-munge“, „-no-lock“ und „-no-del“ hinzugefügt. Standardmäßig ist das Blockieren der Optionen --copy-links (-L), --copy-dirlinks (-k) und --keep-dirlinks (-K) aktiviert, um Angriffe zu erschweren, die Symlinks zu Verzeichnissen manipulieren.
  • Das atomic-rsync-Skript wurde in Python neu geschrieben und erweitert, um Rückgabecodes ungleich Null zu ignorieren. Standardmäßig wird Code 24 ignoriert, wenn Dateien verloren gehen, während rsync ausgeführt wird (Code 24 wird beispielsweise für temporäre Dateien zurückgegeben, die während der ersten Indizierung vorhanden waren, aber zum Zeitpunkt der Migration gelöscht wurden).
  • Das munge-symlinks-Skript wurde in Python neu geschrieben.

Source: opennet.ru

Kommentar hinzufügen