Les développeurs du langage Rust ont annoncé que la prise en charge des téléchargements non canoniques, qui utilisent des noms de packages normalisés avec des traits de soulignement et des tirets remplacés, sera désactivée dans le référentiel crate.io le 20 novembre 2023. La raison invoquée pour ce changement est d'améliorer la fiabilité et d'optimiser les performances.
Jusqu'Ă prĂ©sent, l'inclusion d'un trait de soulignement ou d'un tiret dans le nom lors du tĂ©lĂ©chargement n'avait aucune importance : crate.io convertissait automatiquement ces liens au format appropriĂ©. Par exemple, pour un paquet hĂ©bergĂ© dans le dĂ©pĂŽt nommĂ© « package_name », il Ă©tait possible de spĂ©cifier « package-name » lors du tĂ©lĂ©chargement, et inversement. Le dĂ©pĂŽt dispose Ă©galement d'une protection contre les doublons, empĂȘchant le tĂ©lĂ©chargement d'un paquet nommĂ© « package-name » si un paquet nommĂ© « package_name » existe dĂ©jĂ .
La procĂ©dure de normalisation des noms nĂ©cessite l'appel d'un gestionnaire spĂ©cial, ce qui empĂȘche l'utilisation directe des rĂ©seaux de diffusion de contenu (CDN) pour les demandes de tĂ©lĂ©chargement de paquets. De plus, le processus de force brute crĂ©e une charge supplĂ©mentaire sur les backends et les bases de donnĂ©es. L'analyse des journaux a rĂ©vĂ©lĂ© que les noms non canoniques sont utilisĂ©s uniquement dans les requĂȘtes avec les agents utilisateurs cargo-binstall/1.1.2, Faraday v0.17.6, Go-http-client/2.0, GNU Guile et python-requests/2.31.0. L'auteur de l'utilitaire cargo-binstall, utilisĂ© pour installer les artefacts binaires des paquets, a dĂ©jĂ apportĂ© des modifications pour tenir compte de la dĂ©prĂ©ciation prochaine de la prise en charge des noms non canoniques.
Source: opennet.ru
