Curl är ett kraftfullt verktyg för dataöverföring som används för att skicka och ta emot data över olika nätverksprotokoll, inklusive HTTP, FTP och SMTP. Detta gör Curl till ett oumbärligt verktyg för utvecklare och systemadministratörer. Nyligen tillkännagavs lanseringen av Curl 8.9.0 av den svenska utvecklaren Daniel Stenberg. Denna uppdatering, den 258:e i ordningen, innehåller viktiga förbättringar och nyheter såsom 260 buggfixar och 11 funktionella förändringar, samt åtgärder för två säkerhetsbrister.
Nya funktioner
Curl 8.9.0 introducerar ett nytt curl_easy_setopt()-alternativ och fyra nya kommandoradsalternativ. Dessa tillägg utökar funktionaliteten hos Curl, vilket ger användarna fler verktyg och flexibilitet.
Buggfixar
Detta släpp inkluderar ett rekordbrytande 260 buggfixar, det mest någonsin i Curls långa historia. Förbättringarna omfattar olika områden, inklusive många förbättringar av CMake- och configure-skript.
Dokumentation och hjälpfunktioner har finslipats för en bättre användarupplevelse. Teamet har åtgärdat minnesläckor och krascher i DNS över HTTPS (DoH)-implementeringar.
Hanteringen av HTTPS, QUIC och TLS-anslutningar har förbättrats. Släppet inkluderar också bättre stöd för olika operativsystem och SSL-bibliotek, vilket gör Curl mer mångsidigt på olika plattformar.
Här är en lista över bemärkta buggfixar i denna utgåva:
- cmake: 26 separata buggfixar.
- configure: 10 separata buggfixar.
- Hjälpkategorirensning: Förbättrade –help-utdata genom att lista kategorier och rensa upp presentationen.
- 3xx-svar: Tillät etag och content-disposition för 3xx-svar.
- Dokumentation: Otaliga fixar, polering och korrigeringar.
- Testsummering: Visar namn och nyckelord för misslyckade tester i summeringen.
- GetAddrInfoExW: Undvik att använda detta med åtskillnad.
- AWS Sigv4: URL-kodar den kanoniska vägen.
- DoH (DNS över HTTPS): Olika fixar inklusive rengöring, minnesläckor och krascher vid nollängd HTTPS RR.
- AppleIDN: Åtgärdade hantering av ß.
- OpenSSL 1.x: Fixade kompilationsproblem med md4 inaktiverat.
- Framstegsuppdateringar: Lade till en sista framstegsuppdatering vid anslutningsfel.
- Multi: Fixade pollset under RESOLVING-fasen.
- QUIC: Aktiverade UDP GRO och la till avstängningsstöd, med OpenSSL 3.3 nu krävs.
- Inmatningskonvertering: Fixade CRLF-konvertering av inmatning.
- SMTP: Fixade starttls för SMTP.
- TCP keepalive: Ändrades från millisekunder till sekunder på DragonFly BSD och stödde parametrar på Solaris <11.4.
- TLS och TCP: Förbättrade avstängning.
- GnuTLS: Skickade in SNI-namn istället för värdnamn vid kontroll av certifikat, och rättade TLS-versionkontroller för QUIC.
- mbedTLS v3.6.0: Lade till lösningar.
- X509 ASN.1-parser: Flera fixar. Med otaliga buggfixar, nya alternativ och säkerhetsförbättringar säkerställer detta släpp att Curl förblir ett kraftfullt och pålitligt verktyg för dataöverföring.
De nya säkerhetsförbättringarna inkluderar åtgärder för två specifika sårbarheter: CVE-2024-6197, som rör ett fel i ASN1-parsern, och CVE-2024-6874, som involverar fel i punykodkonverteringar i URL-API:et. Dessa korrigeringar bidrar till att stärka säkerheten i Curl.
Utöver säkerhetsuppdateringar introducerar Curl 8.9.0 nya kommandoradsalternativ som till exempel stöd för Multipath TCP, som kan förbättra nätverksprestandan, och möjligheten att specificera VLAN-prioritet för IP-trafik. Dessa förbättringar är tänkta att göra Curl ännu mer mångsidigt och användbart i en mängd olika nätverksmiljöer.
Installationen av Curl 8.9.0 är rakt fram och börjar med att säkerställa att ditt system är uppdaterat. Använd kommandon som sudo apt update
för Debian-baserade system, sudo yum update
för CentOS/RHEL, sudo dnf update
för Fedora, eller sudo pacman -Syu
för Arch Linux för att uppdatera systemet.
Efter uppdateringen är det dags att installera nödvändiga utvecklingsverktyg och bibliotek. På Debian och Ubuntu kan du installera byggverktyg med sudo apt install build-essential
och OpenSSL-utvecklingsbibliotek med sudo apt install libssl-dev
. För andra distributioner som CentOS, Fedora och Arch Linux finns liknande kommandon för att installera motsvarande paket.
När du har de nödvändiga verktygen, ladda ner den senaste Curl-källkoden från projektets officiella releasesida och packa upp filen. Konfigurera sedan bygget med lämpliga alternativ för ditt system och önskade funktioner, såsom TLS-stöd. Efter konfigurationen är det dags att kompilera programvaran med make
och sedan installera den med sudo make install
.
För att hantera installationen av olika versioner och för att undvika konflikter med systemversioner av Curl kan du använda GNU Stow. Detta verktyg hjälper dig att hålla lokalt installerade programvaror organiserade och gör det lättare att hantera dem. Använd sudo stow curl-8.9.0
i Stow-katalogen för att lägga till Curl i ditt system.
Slutligen, verifiera installationen genom att köra curl --version
för att se att den nya versionen är korrekt installerad och fungerar som den ska.
Med dessa steg har du inte bara uppgraderat Curl till den senaste versionen utan också säkerställt att din arbetsmiljö är säker och uppdaterad. Curl 8.10.0, den nästa planerade versionen, är redan i sikte med en förväntad snabbare utvecklingscykel och lovar fortsatt innovation och förbättringar.
Artikel ovan är en sammafattning av