Curl 8.9.0リリース:260バグの修正と複数の改善
スウェーデンのオープンソース開発者のダニエル・ステンバーグは、プロジェクトの開発史における重要なマイルストーンであるCurl 8.9.0のリリースを発表しました。このリリースには、驚くべき260のバグ修正、11の変更、2つのセキュリティ修正が含まれています。
目次
Curlは、オープンソースのエコシステムで最も古く、最も成熟したソフトウェアの1つです。
Curl 8.9.0はソフトウェアの258番目のバージョンであり、改善と革新に対するプロジェクトの継続的なコミットメントを示しています。
新しいリリースには11の変更と印象的な260のバグ修正があり、プロジェクトのレコードが設定されています。これらの改善は、38の初心者を含む80の貢献者からの423の提出から得られました。このエディションはまた、47人の著者から貢献を受け、そのうち16人は初めての貢献者であり、プロジェクトの成長しているコミュニティを示しています。
これにより、貢献者の総数は印象的な3209になり、1288人の著者がこれまでにプロジェクトに貢献しています。
以下は、Curl 8.9.0バージョンの統計の簡単な要約です。
セキュリティはCurlの優先事項のままです。バージョン8.9.0は、 CVE-2024-6197とCVE-2024-6874の2つの脆弱性を解決します。これらの修正により、Curlのセキュリティ機能がさらに強化されます。
最初の脆弱性であるCVE-2024-6197は、ASN1パーサーの中程度の重大度の問題です。この脆弱性には、UTF8ASN1STR関数のスタックバッファーを解放することが含まれます。
この問題は、UTF8ASN1STR関数が無効なフィールドを検出し、エラーを返す場合、LibCurlのASN1パーサーで発生します。残念ながら、4バイトのローカルスタックバッファーでFree()も呼び出します。
2番目の脆弱性であるCVE-2024-6874は、URL APIのパニコード変換に関連する低過態性の問題です。
この問題は、libcurlのURL API関数curl_url_get()で発生し、パズルコードからIDNへの変換を提供します。正確に256バイトの名前を変換するとき、libcurlは、MacIDN IDNバックエンドを使用するように構築された場合、スタックバッファーの外側にコンテンツを読み取ります。変換関数は、提供されたバッファーを完全に埋めますが、nullで終わりません。
Curl 8.9.0は、機能を強化するためのいくつかの新しいコマンドラインオプションを導入します。ユーザーは、-IP-TOSオプションを使用してIPサービスタイプ/トラフィックカテゴリを設定できるようになりました。
-MPTCPオプションにより、マルチパスTCP接続が可能になり、ネットワークのパフォーマンスが向上する可能性があります。
ローカルネットワーク管理の場合、-vlan-priorityオプションを使用すると、IPトラフィックにVLAN優先度フィールドを設定できます。
最後に、-Keepalive-CNTオプションにより、ユーザーは、接続を無効とマークする前にキープライブプローブの数を指定できます。
このアップデートは、Curlの機能にさまざまな機能強化をもたらします。 gnutlsとwolfsslの両方が、シリアルTLS接続を大幅に高速化できるCAのキャッシングをサポートするようになりました。
MBEDTLSは、Curlopt_Certinfoのサポートを追加し、アプリケーションが証明書情報を取得できるようにします。
URL APIは、 CURLU_NO_GUESS_SCHEMEを導入して、スキーム検出をより適切に実行します。さらに、ユーザーは接続をインターフェイスとIPSの両方にバインドできるようになり、ネットワーク構成の柔軟性が向上します。
Curl 8.9.0は、新しいcurl_easy_setopt()オプションと4つの新しいコマンドラインオプションを導入します。これらの新機能は、Curlの機能を拡張し、ユーザーがより多くのツールと柔軟性を提供します。
このリリースには、260のバグ修正が含まれており、Curlの長い歴史の中で最も多く含まれています。これらの改善は、 CMakeや構成スクリプトの多くの機能強化を含む、さまざまな分野をカバーしています。
より良いユーザーエクスペリエンスを提供するために、ドキュメントとヘルプ機能が改善されました。チームは、HTTPS(DOH)の実装を介してDNSでメモリリークとクラッシュを解決しました。
HTTPS、QUIC、およびTLS接続の処理が改善されました。このリリースには、さまざまなオペレーティングシステムとSSLライブラリのより良いサポートも含まれており、さまざまなプラットフォームでCurlをより普遍的にしています。
このリリースのいくつかの重要なバグ修正は次のとおりです。
多数のバグ修正、新しいオプション、セキュリティの強化により、このリリースにより、Curlは強力で信頼性の高いデータ転送ツールのままであることが保証されます。
curl.seから新しいCurlバージョンをいつでもダウンロードできます。このリリースは新しいため、ほとんどのLinux分布にはパッケージ化されていません。しかし、心配しないでください。 GNUストウを使用して、ソースから最新のカールをインストールできます。
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ストウをインストールします。
<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.公式リリースページから最新の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>
GNUストウによる管理用のTLSバックエンドおよびインストールディレクトリ構成で構築されています。
<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.カール8.9.0をインストールします
<code>sudo make install</code>
8. GNUストウを使用して、パスにカールを追加します。
ストールディレクトリに変更し、ストールを使用してインストールを管理します。
<code>cd /usr/local/stow sudo stow curl-8.9.0</code>
9.カールが正しくインストールされ、利用可能であることを確認します。
<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の拡張リリースサイクルにより、開発者は次のバージョン8.10.0がサイクルを短くすると述べました。
彼はまた、Curl 8.10.0の機能ウィンドウはわずか2週齢であり、これがマージできる新しい機能と変更の数に影響を与える可能性があると付け加えました。
それにもかかわらず、公開ウィンドウが開くのを待っている統合された多くの要求がまだあります。
すべてがうまくいけば、 Curl 8.10.0は2024年9月11日にリリースされる予定です。今後のリリースは、カールの有名な改善と革新の伝統を継続します。
詳細については、公式リリースメモを確認してください。
関連する読み物:
画像の形式は、入力テキストの画像の形式情報を変更していないのと同じままであることに注意してください。 同様のタイトルと説明を使用して、記事をそのまま保持しました。
以上がCurl 8.9.0リリース:新機能、バグフィックス、およびインストール方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。