Datu apmaiņas rīkam curl aprit 25 gadi. Godinot šo notikumu, ir izveidota jauna nozīmīga cURL 8.0 versija. Pirmā iepriekšējās cURL 7.x versijas izdošana notika 2000. gadā, un kopš tā laika koda bāze ir palielinājusies no 17 līdz 155 tūkstošiem rindu koda, komandrindas opciju skaits ir sasniedzis 249, un atbalsts ir nodrošināts 28 tīkla protokoliem, 13 kriptogrāfijas bibliotēkām, 3 SSH bibliotēkām un 3 HTTP/3 bibliotēkām. Projekta kods tiek izplatīts saskaņā ar Curl licenci (MIT licences variants).
HTTP/HTTPS protokoliem rīks nodrošina elastīgu tīkla pieprasījumu izveidi, nosakot tādus parametrus kā Cookie, user_agent, referer un citus galvenes. Papildus HTTPS, HTTP/1.x, HTTP/2.0 un HTTP/3, rīks atbalsta pieprasījumu nosūtīšanu, izmantojot SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP un citus tīkla protokolus. Paralēli attīstās bibliotēka libcurl, kas nodrošina API visām curl funkcijām programmās, kas rakstītas tādās valodās kā C, Perl, PHP, Python.
Jaunajā cURL 8.0 versijā nav būtisku jauninājumu vai saderību pārkāpjošu izmaiņu API un ABI. Numura maiņa ir saistīta ar vēlmi atzīmēt projekta 25. gadadienu un beidzot atbrīvot otro versijas numura ciparu, kas ir krājies jau vairāk nekā 22 gadus.
Jaunajā versijā ir novērstas 6 ievainojamības TELNET, FTP, SFTP, GSS, SSH, HSTS protokolu apstrādēs, no kurām 5 tiek uzskatītas par nenozīmīgām, bet viena ir ar mērenu risku (CVE-2023-27535, iespēja atkārtoti izmantot iepriekš izveidotu FTP savienojumu ar citiem parametriem, tostarp gadījumos, kad lietotāja akreditīvās nav saskaņotas). No izmaiņām, kas nav saistītas ar ievainojamību un kļūdu novēršanu, tiek atzīmēta vienīgi atbalsta pārtraukšana sistēmām, kurās nav darbīgu 64 bitu datu tipu (tagad būvniecībai ir vajadzīgs «long long» datu tips).
Īsi pēc 8.0.0 izdošanas tika izlaista versija 8.0.1 ar labojumu atrastajai kļūdai, kas izraisīja sabrukt dažos testēšanas scenārijos.
Avots: opennet.lv
