目錄
Curl 8.9.0 版本統計
安全增強
新功能
改進
新選項
重要的錯誤修復
下載和安裝Curl 8.9.0
展望未來:Curl 8.10.0
首頁 系統教程 Linux Curl 8.9.0發布:新功能,錯誤修正以及如何安裝

Curl 8.9.0發布:新功能,錯誤修正以及如何安裝

Mar 15, 2025 am 11:05 AM

Curl 8.9.0 重磅發布:260 個錯誤修復和多項改進

瑞典開源開發者Daniel Stenberg 宣布發布Curl 8.9.0 版本,這是該項目發展史上的一個重要里程碑。此版本包含驚人的260 個錯誤修復、11 項更改和2 個安全修復。

目錄

  • 安全增強
  • 新功能
  • 改進
    • 新選項
  • 重要的錯誤修復
  • 下載和安裝Curl 8.9.0
  • 展望未來:Curl 8.10.0

Curl 8.9.0 版本統計

Curl 是開源生態系統中最古老和最成熟的軟件之一。

Curl 8.9.0 是該軟件的第258 個版本,展示了該項目對改進和創新的持續承諾。

新版本包含11 項更改和令人印象深刻的260 個錯誤修復,為該項目創下了記錄。這些改進來自80 位貢獻者(包括38 位新手)的423 次提交。此版本還收到了47 位作者的貢獻,其中16 位是首次貢獻者,這展示了該項目不斷壯大的社區。

這使得貢獻者的總數達到令人印象深刻的3209 位,迄今為止已有1288 位作者為該項目做出了貢獻。

以下是Curl 8.9.0 版本統計的簡要總結:

  • 第258 個版本,
  • 實施了11 項更改,
  • 添加了260 個錯誤修復,
  • 進行了423 次提交,
  • 80 位貢獻者,包括38 位新手,
  • 47 位作者,其中16 位是首次貢獻者。

安全增強

安全仍然是Curl 的首要任務。 8.9.0 版本解決了兩個漏洞: CVE-2024-6197CVE-2024-6874 。這些修復進一步增強了Curl 的安全特性。

第一個漏洞, CVE-2024-6197 ,是ASN1 解析器中的一個中等嚴重性問題。此漏洞涉及在utf8asn1str 函數中釋放堆棧緩衝區。

當utf8asn1str 函數檢測到無效字段並返回錯誤時,libcurl 的ASN1 解析器中會出現此問題。不幸的是,它還會在4 字節的局部堆棧緩衝區上調用free()。

第二個漏洞, CVE-2024-6874 ,是一個與URL API 中的punycode 轉換相關的低嚴重性問題。

此問題出現在libcurl 的URL API 函數curl_url_get() 中,該函數提供punycode 到IDN 的轉換。當轉換正好為256 字節的名稱時,當構建為使用macidn IDN 後端時,libcurl 會讀取堆棧緩衝區之外的內容。然後,轉換函數會完全填充提供的緩衝區,但不會以null 結尾。

新功能

Curl 8.9.0 引入了幾個新的命令行選項來增強其功能。用戶現在可以使用--ip-tos 選項設置IP 服務類型/流量類別。

--mptcp 選項啟用多路徑TCP 連接,這可能會提高網絡性能。

對於本地網絡管理,--vlan-priority 選項允許設置IP 流量的VLAN 優先級字段。

最後,--keepalive-cnt 選項允許用戶指定在將連接標記為失效之前的keepalive 探測次數。

改進

此更新為Curl 的功能帶來了各種增強。 GnuTLSWolfSSL現在都支持CA 緩存,這可以顯著加快串行TLS 連接的速度。

MbedTLS添加了對CURLOPT_CERTINFO 的支持,允許應用程序檢索證書信息。

URL API引入了CURLU_NO_GUESS_SCHEME 以更好地進行方案檢測。此外,用戶現在可以同時將連接綁定到接口和IP,從而在網絡配置中提供更大的靈活性。

新選項

Curl 8.9.0 引入了一個新的curl_easy_setopt() 選項和四個新的命令行選項。這些新增功能擴展了Curl 的功能,為用戶提供了更多工具和靈活性。

重要的錯誤修復

此版本包含創紀錄的260 個錯誤修復,這是Curl 長期歷史上最多的一次。這些改進涵蓋了各個領域,包括對CMake和配置腳本的許多增強。

文檔和幫助功能已得到改進,以提供更好的用戶體驗。團隊解決了DNS over HTTPS (DoH) 實現中的內存洩漏和崩潰問題。

HTTPS、QUIC 和TLS 連接的處理得到了改進。此版本還包括對各種操作系統和SSL 庫的更好支持,使Curl 在不同平台上更加通用。

以下是此版本中一些重要的錯誤修復:

  • cmake : 26 個單獨的錯誤修復。
  • configure : 10 個單獨的錯誤修復。
  • 幫助類別清理: 通過列出類別和清理演示文稿來改進--help 輸出。
  • 3xx 回复: 允許3xx 回复的etag 和content-disposition。
  • 文檔: 無數的修復、潤色和更正。
  • 測試摘要: 在摘要中顯示失敗測試的名稱和關鍵字。
  • GetAddrInfoExW : 避免與模擬一起使用。
  • AWS Sigv4 : URL 編碼規範路徑。
  • DoH (DNS over HTTPS) : 包括清理、內存洩漏解決和零長度HTTPS RR 崩潰修復的各種修復。
  • AppleIDN : 修復了ß 的處理。
  • OpenSSL 1.x : 修復了禁用md4 的編譯問題。
  • 進度更新: 在連接失敗時添加了最終進度更新。
  • Multi : 在RESOLVING 階段修復了pollset。
  • QUIC : 啟用了UDP GRO 並添加了關閉支持,現在需要OpenSSL 3.3。
  • 輸入轉換: 修復了輸入的CRLF 轉換。
  • SMTP : 修復了SMTP 的starttls。
  • TCP keepalive : 在DragonFly BSD 上從毫秒更改為秒,並在Solaris 上支持參數
  • TLS 和TCP : 改進了關閉。
  • GnuTLS : 在檢查證書時傳入SNI 名稱而不是主機名,並糾正了QUIC 的TLS 版本檢查。
  • mbedTLS v3.6.0 : 添加了解決方法。
  • X509 ASN.1 解析器: 多個修復。

憑藉眾多錯誤修復、新選項和安全增強功能,此版本確保Curl 仍然是強大的可靠數據傳輸工具。

下載和安裝Curl 8.9.0

您始終可以從curl.se下載新的Curl 版本。由於此版本是新的,因此尚未為大多數Linux 發行版打包。但不用擔心。您可以使用GNU Stow從源代碼安裝最新的Curl。

1 . 確保您的系統軟件包數據庫是最新的。

 <code>sudo apt update # Debian/Ubuntu 系统sudo yum update # CentOS/RHEL 系统sudo dnf update # Fedora 系统sudo pacman -Syu # Arch Linux 系统</code>
登入後複製

2 . 如果尚未安裝必要的開發工具,請安裝它們。

 <code>sudo apt install build-essential # Debian/Ubuntu sudo yum groupinstall "Development Tools" # CentOS/RHEL sudo dnf groupinstall "Development Tools" # Fedora sudo pacman -S base-devel # Arch Linux</code>
登入後複製

如果您想使用OpenSSL 後端編譯Curl,您還需要安裝OpenSSL 開發庫。例如,在基於Debian 的系統上,您可以使用以下命令安裝OpenSSL 開發庫:

 <code>sudo apt install libssl-dev</code>
登入後複製

如果您想使用GnuTLS 後端編譯Curl,請在基於Debian 的系統上安裝以下內容:

 <code>sudo apt install libgnutls28-dev libgnutls30</code>
登入後複製

3 . 安裝GNU Stow。

 <code>sudo pacman -S stow # Arch Linux sudo apt install stow # Debian/Ubuntu sudo yum install stow # 旧版CentOS/RHEL sudo dnf install stow # 最新Fedora/RHEL/AlmaLinux/Rocky Linux</code>
登入後複製

4 . 從其官方releases頁面下載最新的Curl 源代碼並解壓縮。

 <code>wget https://github.com/curl/curl/releases/download/curl-8_9_0/curl-8.9.0.tar.gz tar xvf curl-8.9.0.tar.gz</code>
登入後複製

5 . 使用前綴配置構建。

進入解壓縮的目錄:

 <code>cd curl-8.9.0</code>
登入後複製

使用TLS 後端和安裝目錄配置構建,以便由GNU Stow 管理。

 <code>./configure --with-ssl --prefix=/usr/local/stow/curl-8.9.0</code>
登入後複製

如果您想使用GnuTLS 配置Curl,請改用以下命令:

 <code>./configure --with-gnutls --prefix=/usr/local/stow/curl-8.9.0</code>
登入後複製

6 . 編譯軟件。

 <code>make</code>
登入後複製

7 . 安裝Curl 8.9.0

 <code>sudo make install</code>
登入後複製

8 . 使用GNU Stow 將Curl 添加到您的PATH。

更改為stow 目錄並使用stow 管理安裝。

 <code>cd /usr/local/stow sudo stow curl-8.9.0</code>
登入後複製

9 . 驗證Curl 是否已正確安裝並可用。

 <code>curl --version</code>
登入後複製

示例輸出:

 <code>curl 8.9.0 (x86_64-pc-linux-gnu) libcurl/8.9.0 GnuTLS/3.7.1 zlib/1.2.11 libidn2/2.3.0 Release-Date: 2024-07-24 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS HSTS HTTPS-proxy IDN IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets</code>
登入後複製

Curl 8.9.0 Released: New Features, Bugfixes, and How to Install

展望未來:Curl 8.10.0

由於Curl 8.9.0 的發布週期延長,開發者表示下一個版本8.10.0 將縮短週期。

他還補充說,Curl 8.10.0 的功能窗口只有兩週,這可能會影響可以合併的新功能和更改的數量。

儘管如此,仍有大量待合併的請求請求正在等待發布窗口打開。

如果一切順利, Curl 8.10.0預計將於2024 年9 月11 日發布。即將發布的版本將延續Curl 著稱的改進和創新傳統。

更多詳細信息,請查看官方發行說明:

  • Curl 8.9.0 發行說明

相關閱讀:

  • Wcurl:一個用戶友好的Curl 包裝器,用於輕鬆下載文件
  • Debian Curl 現在支持HTTP3:您需要了解的內容
  • 如何在Debian 中使用GnuTLS 後端安裝Curl

請注意,圖片的格式保持不變,因為我沒有修改輸入文本中圖片的格式信息。 我使用了類似的標題和描述來保持文章大意不變。

以上是Curl 8.9.0發布:新功能,錯誤修正以及如何安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1242
24
Linux最有用的是什麼? Linux最有用的是什麼? Apr 09, 2025 am 12:02 AM

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

如何學習Linux基礎知識? 如何學習Linux基礎知識? Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

互聯網在Linux上運行嗎? 互聯網在Linux上運行嗎? Apr 14, 2025 am 12:03 AM

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作是什麼? Linux操作是什麼? Apr 13, 2025 am 12:20 AM

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

Linux管理員的薪水是多少? Linux管理員的薪水是多少? Apr 17, 2025 am 12:24 AM

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux系統管理員的主要任務是什麼? Linux系統管理員的主要任務是什麼? Apr 19, 2025 am 12:23 AM

Linux系統管理員的主要任務包括系統監控與性能調優、用戶管理、軟件包管理、安全管理與備份、故障排查與解決、性能優化與最佳實踐。 1.使用top、htop等工具監控系統性能,並進行調優。 2.通過useradd等命令管理用戶賬戶和權限。 3.利用apt、yum管理軟件包,確保系統更新和安全。 4.配置防火牆、監控日誌、進行數據備份以確保系統安全。 5.通過日誌分析和工具使用進行故障排查和解決。 6.優化內核參數和應用配置,遵循最佳實踐提升系統性能和穩定性。

使用Linux別名提高自定義命令快捷方式的生產率 使用Linux別名提高自定義命令快捷方式的生產率 Apr 12, 2025 am 11:43 AM

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

See all articles