Die Version 8.0 des cURL-Tools wurde veröffentlicht.

Das Dienstprogramm zur Übertragung und Empfang von Daten über das Netzwerk curl feiert sein 25-jähriges Bestehen. Anlässlich dieses Ereignisses wurde ein neuer, bedeutender Branch cURL 8.0 ins Leben gerufen. Die erste Version des vorherigen Branches curl 7.x wurde im Jahr 2000 veröffentlicht, und seitdem hat sich die Codebasis von 17.000 auf 155.000 Zeilen Code erhöht, die Zahl der Befehlszeilenoptionen wurde auf 249 gesteigert, die Unterstützung für 28 Netzwerkprotokolle, 13 Kryptografiebibliotheken, 3 SSH-Bibliotheken und 3 HTTP/3-Bibliotheken wurde implementiert. Der Code des Projekts wird unter der Curl-Lizenz (eine Variante der MIT-Lizenz) veröffentlicht.

Für HTTP/HTTPS bietet das Dienstprogramm die Möglichkeit, Netzwerkabfragen flexibel zu gestalten, indem Parameter wie Cookie, user_agent, referer und andere Header festgelegt werden. Neben HTTPS unterstützt das Dienstprogramm HTTP/1.x, HTTP/2.0 und HTTP/3 sowie das Senden von Anfragen unter Verwendung von SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP und anderen Netzwerkprotokollen. Parallel dazu wird die Bibliothek libcurl entwickelt, die eine API zur Nutzung aller Funktionen von curl in Programmen in Sprachen wie C, Perl, PHP und Python bereitstellt.

Die neue Version cURL 8.0 enthält keine grundlegenden Neuerungen oder inkompatiblen Änderungen an API und ABI. Die Änderung der Nummerierung ist darauf zurückzuführen, dass das 25-jährige Bestehen des Projekts gefeiert werden soll und endlich die zweite Ziffer der Version, die seit über 22 Jahren angestiegen ist, zurückgesetzt werden soll.

In der neuen Version wurden 6 Sicherheitsanfälligkeiten in den Protokollhandlern TELNET, FTP, SFTP, GSS, SSH, HSTS behoben, von denen 5 als geringfügig und eine mit einem moderaten Gefährdungsgrad (CVE-2023-27535, die Möglichkeit der Wiederverwendung einer zuvor hergestellten FTP-Verbindung mit anderen Parametern, einschließlich bei unterschiedlichen Benutzeranmeldedaten) eingestuft wurde. Änderungen, die nichts mit der Behebung von Sicherheitsanfälligkeiten und Fehlern zu tun haben, beinhalten lediglich das Ende der Unterstützung für den Build auf Systemen, für die keine funktionsfähigen 64-Bit-Datentypen vorhanden sind (für den Build ist nun der Typ „long long“ erforderlich).

Kurz nach der Veröffentlichung von 8.0.0 wurde die Version 8.0.1 veröffentlicht, um einen heiß entdeckten Fehler zu beheben, der in bestimmten Testsszenarien zu einem Absturz führte.

Quelle: opennet.ru

60GB SSD 8Gb DDR4