Curl 8.9.0發布:新功能,錯誤修正以及如何安裝
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-6197和CVE-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 的功能帶來了各種增強。 GnuTLS和WolfSSL現在都支持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.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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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