Wydanie narzędzia cURL 8.0

Narzędzie do odbierania i wysyłania danych przez sieć curl ma 25 lat. Na cześć tego wydarzenia powstał nowy znaczący oddział cURL 8.0. Pierwsze wydanie ostatniej gałęzi curl 7.x powstało w 2000 roku i od tego czasu baza kodu wzrosła z 17 do 155 tysięcy linii kodu, liczba opcji linii poleceń została zwiększona do 249, obsługa 28 protokołów sieciowych , zaimplementowano 13 bibliotek kryptograficznych, 3 biblioteki SSH oraz 3 biblioteki HTTP/3. Kod projektu jest rozpowszechniany na licencji Curl (wariant licencji MIT).

W przypadku HTTP/HTTPS narzędzie zapewnia możliwość elastycznego generowania żądania sieciowego poprzez ustawienie parametrów, takich jak Cookie, user_agent, referer i wszelkie inne nagłówki. Oprócz HTTPS, HTTP/1.x, HTTP/2.0 i HTTP/3 narzędzie obsługuje wysyłanie żądań przy użyciu SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP i innych protokołów sieciowych . Równolegle rozwijana jest biblioteka libcurl, która udostępnia API umożliwiające korzystanie ze wszystkich funkcji curl w programach w językach takich jak C, Perl, PHP, Python.

Nowa wersja cURL 8.0 nie zawiera żadnych istotnych zmian API ani ABI związanych z kompatybilnością. Zmiana numeracji wynika z chęci uczczenia 25-lecia projektu i ostatecznego zresetowania drugiej cyfry wersji, która gromadziła się przez ponad 22 lata.

Nowa wersja naprawia 6 luk w procedurach obsługi protokołów TELNET, FTP, SFTP, GSS, SSH, HSTS, z czego 5 oznaczono jako drobne, a jedną o umiarkowanym poziomie istotności (CVE-2023-27535, możliwość ponownego wykorzystania wcześniej utworzonego połączenia FTP z innymi parametrami, w tym w przypadku niezgodności poświadczeń użytkownika). Spośród zmian niezwiązanych z eliminacją luk i błędów odnotowano jedynie zakończenie obsługi asemblera w systemach, dla których nie ma działających 64-bitowych typów danych (assembly wymaga teraz obecności typu „long long”).

Wkrótce po wydaniu 8.0.0 wydano wersję 8.0.1 z poprawką błędu wykrytego w gorącym pościgu, który prowadził do awarii w niektórych scenariuszach testowych.

Źródło: opennet.ru

Dodaj komentarz