Sortie de l'outil de synchronisation de fichiers Rsync 3.2.4

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

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster