Sortie de l'utilitaire de synchronisation de fichiers Rsync 3.2.4

Après un an et demi de développement, la version Rsync 3.2.4 est disponible, un utilitaire de synchronisation et de sauvegarde de fichiers qui vous permet de minimiser le trafic en copiant progressivement les modifications. Le transport peut être ssh, rsh ou son propre protocole rsync. Il prend en charge l'organisation de serveurs rsync anonymes, parfaitement adaptés pour assurer la synchronisation des miroirs. Le code du projet est distribué sous licence GPLv3.

Parmi les changements ajoutés :

  • Une nouvelle méthode de protection des arguments de ligne de commande a été proposée, qui ressemble à l'option « --protect-args » (« -s ») précédemment disponible, mais n'interrompt pas le fonctionnement du script rrsync (rsync restreint). La protection se résume à échapper aux caractères spéciaux, y compris les espaces, lors de l'envoi de requêtes à un interpréteur de commandes externe. La nouvelle méthode n'échappe pas aux caractères spéciaux à l'intérieur d'un bloc entre guillemets, ce qui vous permet d'utiliser de simples guillemets autour du nom de fichier sans échappement supplémentaire, par exemple, la commande « rsync -aiv host:'a simple file.pdf' est désormais acceptable. .» Pour renvoyer l'ancien comportement, l'option « --old-args » et la variable d'environnement « RSYNC_OLD_ARGS=1 » sont proposées.
  • Résolution d'un problème de longue date lié à la gestion des caractères décimaux en fonction des paramètres régionaux actuels (« » au lieu de « . »). Pour les scripts conçus pour traiter uniquement le « ». en chiffres, en cas de violation de compatibilité, vous pouvez définir les paramètres régionaux sur « C ».
  • Correction d'une vulnérabilité (CVE-2018-25032) dans le code inclus de la bibliothèque zlib qui entraînait un débordement de tampon lors de la tentative de compression d'une séquence de caractères spécialement préparée.
  • Implémentation de l'option « --fsync » pour appeler la fonction fsync() à chaque opération sur un fichier afin de vider le cache disque.
  • Le script rsync-ssl utilise l'option "-verify_hostname" lors de l'accès à openssl.
  • Ajout de l'option "--copy-devices" pour copier les fichiers de périphérique en tant que fichiers normaux.
  • Consommation de mémoire réduite lors du transfert incrémentiel d'un grand nombre de petits répertoires.
  • Sur la plateforme macOS, l'option « —atimes » fonctionne.
  • Implémentation de la possibilité de mettre à jour les attributs xattrs pour les fichiers en mode lecture seule si l'utilisateur est autorisé à modifier les droits d'accès (par exemple, lors de l'exécution en tant que root).
  • Ajout et activation par défaut du paramètre « --info=NONREG » pour afficher des avertissements concernant le transfert de fichiers spéciaux.
  • Le script rrsync (rsync restreint) a été réécrit en Python. Ajout de nouvelles options "-munge", "-no-lock" et "-no-del". Par défaut, le blocage des options --copy-links (-L), --copy-dirlinks (-k) et --keep-dirlinks (-K) est activé pour rendre plus difficiles les attaques qui manipulent les liens symboliques vers des répertoires.
  • Le script atomic-rsync a été réécrit en Python et étendu pour ignorer les codes retour non nuls. Par défaut, le code 24 est ignoré lorsque des fichiers sont perdus pendant l'exécution de rsync (par exemple, le code 24 est renvoyé pour les fichiers temporaires qui étaient présents lors de l'indexation initiale mais ont été supprimés au moment de la migration).
  • Le script munge-symlinks est réécrit en Python.

Source: opennet.ru

Ajouter un commentaire