AprĂšs un an et demi de dĂ©veloppement, la version Rsync 3.2.4 est maintenant disponible. Cet outil de synchronisation de fichiers et de sauvegarde permet de minimiser le trafic grĂące Ă la copie incrĂ©mentielle des changements. Les protocoles de transport ssh, rsh ou le propre protocole rsync peuvent ĂȘtre utilisĂ©s. La gestion de serveurs rsync anonymes, idĂ©aux pour la synchronisation de miroirs, est prise en charge. Le code du projet est distribuĂ© sous la licence GPLv3.
Parmi les modifications ajoutées :
- Une nouvelle mĂ©thode de protection des arguments de la ligne de commande a Ă©tĂ© proposĂ©e. Elle ressemble Ă l'ancienne option « âprotect-args » (« -s »), mais ne perturbe pas le fonctionnement du script rrsync (rsync restreint). La protection consiste Ă Ă©chapper les caractĂšres spĂ©ciaux, y compris les espaces, lors de la transmission des requĂȘtes Ă l'interprĂ©teur de commandes externe. La nouvelle mĂ©thode n'Ă©chappe pas les caractĂšres spĂ©ciaux Ă l'intĂ©rieur d'un bloc entre guillemets, permettant d'utiliser une simple dĂ©signation du nom de fichier avec des guillemets sans Ă©chappement supplĂ©mentaire, par exemple, la commande « rsync -aiv host:âa simple file.pdfâ . » Pour revenir Ă l'ancien comportement, l'option « âold-args » et la variable d'environnement « RSYNC_OLD_ARGS=1 » sont proposĂ©es.
- Un problĂšme de longue date concernant le traitement des caractĂšres de la virgule dĂ©cimale en tenant compte de la locale actuelle (« , » au lieu de « . ») a Ă©tĂ© rĂ©solu. Pour les scripts conçus uniquement pour traiter le caractĂšre « . » dans les nombres, la locale « C » peut ĂȘtre dĂ©finie en cas d'incompatibilitĂ©.
- Une vulnérabilité (CVE-2018-25032) dans le code fourni avec la bibliothÚque zlib, entraßnant un dépassement de tampon lors de la tentative de compression d'une séquence de caractÚres spécialement préparée, a été corrigée.
- L'option « âfsync » a Ă©tĂ© implĂ©mentĂ©e, appelant la fonction fsync() Ă chaque opĂ©ration de fichier pour vider le cache disque.
- Dans le script rsync-ssl, l'option « -verify_hostname » est utilisée lors de l'accÚs à openssl.
- L'option « âcopy-devices » a Ă©tĂ© ajoutĂ©e pour copier des fichiers de pĂ©riphĂ©rique comme des fichiers ordinaires.
- La consommation de mémoire a été réduite lors de la transmission incrémentielle d'un grand nombre de petits répertoires.
- Sur la plateforme macOS, l'option « âatimes » est dĂ©sormais opĂ©rationnelle.
- La possibilité de mettre à jour les attributs xattrs pour les fichiers en mode lecture seule a été réalisée, à condition que l'utilisateur ait les autorisations nécessaires pour changer les droits d'accÚs (par exemple, lorsqu'il est exécuté avec des droits root).
- Le paramĂštre « âinfo=NONREG » a Ă©tĂ© ajoutĂ© et activĂ© par dĂ©faut pour afficher des avertissements sur le transfert de fichiers spĂ©ciaux.
- Le script rrsync (rsync restreint) a Ă©tĂ© réécrit en Python. De nouvelles options « -munge », « -no-lock » et « -no-del » ont Ă©tĂ© ajoutĂ©es. Par dĂ©faut, les options « âcopy-links » (-L), « âcopy-dirlinks » (-k) et « âkeep-dirlinks » (-K) sont activĂ©es pour compliquer les attaques manipulant les liens symboliques vers les rĂ©pertoires.
- Le script atomic-rsync a été réécrit en Python et amélioré avec la possibilité d'ignorer les codes de retour non nuls. Par défaut, le code 24 est ignoré, ce qui est renvoyé lors de la disparition de fichiers pendant le fonctionnement de rsync (par exemple, le code 24 est retourné pour les fichiers temporaires qui étaient présents lors de l'indexation initiale mais ont été supprimés au moment du transfert).
- Le script munge-symlinks a été réécrit en Python.
Source : opennet.ru
