Rilascio dell'utilità di sincronizzazione dei file Rsync 3.2.4

Dopo un anno e mezzo di sviluppo, è disponibile il rilascio di Rsync 3.2.4, un'utility di sincronizzazione e backup dei file che consente di ridurre al minimo il traffico copiando in modo incrementale le modifiche. Il trasporto può essere ssh, rsh o il protocollo proprietario rsync. Supporta l'organizzazione di server rsync anonimi, che sono perfettamente adatti per garantire la sincronizzazione dei mirror. Il codice del progetto è distribuito sotto la licenza GPLv3.

Tra le modifiche aggiunte:

  • È stato proposto un nuovo metodo per proteggere gli argomenti della riga di comando, che assomiglia all'opzione “--protect-args” (“-s”) precedentemente disponibile, ma non interrompe il funzionamento dello script rrsync (rsync limitato). La protezione si riduce all'escape dei caratteri speciali, inclusi gli spazi, quando si inviano richieste a un interprete di comandi esterno. Il nuovo metodo non esegue l'escape dei caratteri speciali all'interno di un blocco tra virgolette, il che consente di utilizzare semplici virgolette attorno al nome del file senza ulteriore escape, ad esempio, ora è consentito il comando "rsync -aiv host:'a simple file.pdf' .” Per restituire il vecchio comportamento, vengono proposte l'opzione “--old-args” e la variabile d'ambiente “RSYNC_OLD_ARGS=1”.
  • Risolto un problema di vecchia data relativo alla gestione dei caratteri del punto decimale in base alle impostazioni locali correnti (""," invece di "."). Per gli script progettati per elaborare solo i caratteri "." in numeri, in caso di violazione della compatibilità, è possibile impostare la localizzazione su “C”.
  • Risolta una vulnerabilità (CVE-2018-25032) nel codice incluso della libreria zlib che porta a un overflow del buffer quando si tenta di comprimere una sequenza di caratteri appositamente preparata.
  • Implementata l'opzione "--fsync" per chiamare la funzione fsync() su ogni operazione sui file per svuotare la cache del disco.
  • Lo script rsync-ssl utilizza l'opzione "-verify_hostname" quando si accede a openssl.
  • Aggiunta l'opzione "--copy-devices" per copiare i file del dispositivo come file normali.
  • Consumo di memoria ridotto durante il trasferimento incrementale di un numero elevato di directory di piccole dimensioni.
  • Sulla piattaforma macOS, l'opzione "—ates" funziona.
  • Implementata la possibilità di aggiornare gli attributi xattrs per i file in modalità di sola lettura se l'utente ha l'autorizzazione per modificare i diritti di accesso (ad esempio, quando si esegue come root).
  • Aggiunto e abilitato di default il parametro “--info=NONREG” per visualizzare avvisi sul trasferimento di file speciali.
  • Lo script rrsync (rsync limitato) è stato riscritto in Python. Aggiunte nuove opzioni "-munge", "-no-lock" e "-no-del". Per impostazione predefinita, il blocco delle opzioni --copy-links (-L), --copy-dirlinks (-k) e --keep-dirlinks (-K) è abilitato per rendere più difficili gli attacchi che manipolano i collegamenti simbolici alle directory.
  • Lo script atomic-rsync è stato riscritto in Python ed esteso per ignorare i codici di ritorno diversi da zero. Per impostazione predefinita, il codice 24 viene ignorato quando i file vengono persi durante l'esecuzione di rsync (ad esempio, il codice 24 viene restituito per i file temporanei che erano presenti durante l'indicizzazione iniziale ma che sono stati eliminati al momento della migrazione).
  • Lo script munge-symlinks è stato riscritto in Python.

Fonte: opennet.ru

Aggiungi un commento