Sortie de l'utilitaire cURL 8.0

L'utilitaire de réception et d'envoi de données sur le réseau, curl, a 25 ans. En l'honneur de cet événement, une nouvelle branche importante cURL 8.0 a été créée. La première version de la branche précédente de curl 7.x a été créée en 2000 et depuis lors, la base de code est passée de 17 à 155 249 lignes de code, le nombre d'options de ligne de commande a été augmenté à 28, la prise en charge de 13 protocoles réseau , 3 bibliothèques cryptographiques, 3 bibliothèques SSH ont été implémentées et 3 bibliothèques HTTP/XNUMX. Le code du projet est distribué sous la licence Curl (une variante de la licence MIT).

Pour HTTP/HTTPS, l'utilitaire offre la possibilité de former de manière flexible une requête réseau avec des paramètres tels que Cookie, user_agent, referer et tout autre en-tête. En plus de HTTPS, HTTP/1.x, HTTP/2.0 et HTTP/3, l'utilitaire prend en charge l'envoi de requêtes via SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP et d'autres protocoles réseau. . Parallèlement, la bibliothèque libcurl est en cours de développement, fournissant une API permettant d'utiliser toutes les fonctions curl dans des programmes dans des langages tels que C, Perl, PHP, Python.

La nouvelle version de cURL 8.0 ne contient pas d'innovations majeures ni de modifications d'API et d'ABI interrompant l'interopérabilité. Le changement de numérotation est dû à la volonté de célébrer le 25e anniversaire du projet et de réinitialiser enfin le deuxième chiffre de la version, accumulé depuis plus de 22 ans.

La nouvelle version élimine 6 vulnérabilités dans les gestionnaires de flux TELNET, FTP, SFTP, GSS, SSH, HSTS, dont 5 sont marquées comme mineures et une présente un niveau de danger modéré (CVE-2023-27535, la possibilité de réutiliser un connexion FTP précédemment créée avec d'autres paramètres, y compris lorsque les informations d'identification de l'utilisateur ne correspondent pas). Parmi les changements non liés à l'élimination des vulnérabilités et des erreurs, la seule remarque est la fin de la prise en charge de la construction sur des systèmes qui ne disposent pas de types de données 64 bits fonctionnels (la construction nécessite désormais la présence du type « long long »).

Peu de temps après la sortie de la version 8.0.0, la version 8.0.1 a été publiée avec un correctif pour un bug très répandu qui entraînait des plantages dans certains scénarios de test.

Source: opennet.ru

Ajouter un commentaire