Wydanie narzędzia do synchronizacji plików Rsync 3.2.4

Po półtora roku prac nad rozwojem, dostępna jest wersja Rsync 3.2.4, narzędzia do synchronizacji plików i tworzenia kopii zapasowych, które umożliwia minimalizację ruchu dzięki inkrementalnemu kopiowaniu zmian. Do transportu mogą być używane ssh, rsh lub własny protokół rsync. Obsługiwana jest organizacja pracy anonimowych serwerów rsync, które optymalnie nadają się do zapewnienia synchronizacji luster. Kod projektu jest udostępniany na licencji GPLv3.

Wśród dodanych zmian:

  • Zaproponowano nową metodę ochrony argumentów wiersza poleceń, która przypomina wcześniej dostępną opcję „—protect-args” („-s”), ale nie zakłóca działania skryptu rrsync (restricted rsync). Ochrona polega na eskalowaniu znaków specjalnych, w tym spacji, przy przesyłaniu żądań do zewnętrznego interpretera poleceń. Nowa metoda nie eskaluje znaków specjalnych wewnątrz ujętego w cudzysłów bloku, co umożliwia proste wyodrębnienie nazwy pliku za pomocą cudzysłowów bez dodatkowego eskalowania, na przykład teraz można używać polecenia „rsync -aiv host:’a simple file.pdf’ .” Aby przywrócić stare zachowanie, zaproponowano opcję „—old-args” i zmienną środowiskową „RSYNC_OLD_ARGS=1”.
  • Rozwiązano długo występujący problem z obsługą znaków dziesiętnej przecinka z uwzględnieniem bieżącej lokalizacji („,” zamiast „.”). Dla skryptów zaprojektowanych do obróbki tylko znaku „.” w liczbach, w przypadku naruszenia kompatybilności można ustawić lokalizację na „C”.
  • Naprawiono lukę (CVE-2018-25032) w kodzie biblioteki zlib, prowadzącą do przepełnienia bufora podczas próby kompresji specjalnie przygotowanej sekwencji znaków.
  • Zaimplementowano opcję „—fsync” wywołania funkcji fsync() przy każdej operacji na pliku w celu wyczyszczenia pamięci podręcznej dysku.
  • W skrypcie rsync-ssl użyto opcji „-verify_hostname” podczas wywołań do openssl.
  • Dodano opcję „—copy-devices” do kopiowania plików urządzeń jako zwykłych plików.
  • Zredukowano zużycie pamięci podczas inkrementalnego przesyłania dużej liczby małych katalogów.
  • Na platformie macOS zapewniono działanie opcji „—atimes”.
  • Zrealizowano możliwość aktualizacji atrybutów xattrs dla plików w trybie tylko do odczytu, jeśli użytkownik ma uprawnienia do zmiany praw dostępu (na przykład podczas uruchamiania z uprawnieniami root).
  • Dodano i włączono domyślnie parametr „—info=NONREG” do wyświetlania ostrzeżeń o przesyłaniu plików specjalnych.
  • Skrypt rrsync (restricted rsync) przepisywane w języku Python. Dodano nowe opcje „-munge”, „-no-lock” i „-no-del”. Domyślnie włączono blokadę opcji „—copy-links” (-L), „—copy-dirlinks” (-k) i „—keep-dirlinks” (-K) w celu utrudnienia przeprowadzania ataków manipulujących symbolikami do katalogów.
  • Skrypt atomic-rsync został przepisany w języku Python i rozszerzony o możliwość ignorowania niezerowych kodów zwrotu. Domyślnie ignorowany jest kod 24, zwracany w przypadku utraty plików podczas działania rsync (na przykład kod 24 jest zwracany dla plików tymczasowych, które były obecne w trakcie początkowej indeksacji, ale zostały usunięte do czasu transferu).
  • Skrypt munge-symlinks został przepisany w języku Python.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster