Non-blocking socket not handled correctly.
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 領域
- networking, security
調査の方向性
ext/openssl/ossl_ssl.c の 2124 行付近から始め、そこでの SSL_shutdown の動作を、ノンブロッキング BIOs に関して引用されている OpenSSL のドキュメントと比較します。ノンブロッキングモードで SSL_ERROR_WANT_READ と SSL_ERROR_WANT_WRITE をどのように扱うべきかを判断します。shutdown パスが文書化された動作を正しくサポートすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
According to the documentation, SSL_shutdown can:
If the underlying BIO is nonblocking, SSL_shutdown() will also return when the underlying BIO could not satisfy the needs of SSL_shutdown() to continue the handshake. In this case a call to SSL_get_error() with the return value of SSL_shutdown() will yield SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after taking appropriate action to satisfy the needs of SSL_shutdown(). The action depends on the underlying BIO. When using a nonblocking socket, nothing is to be done, but select() can be used to check for the required condition. When using a buffering BIO, like a BIO pair, data must be written into or retrieved out of the BIO before being able to continue.
I don't know if we need to explicitly handle this when in non-blocking mode or not, but I'd assume so until otherwise confirmed/checked.
- 主要言語
- C
- スター
- 276
- フォーク
- 204
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 8
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/openssl のほかの issue
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())対応中かも @kou が 13 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 53/100
ruby/openssl#1125 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
ruby/openssl#1118 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
Expose XOFs like SHAKE128 and SHAKE256対応中かも @rhenium が 110 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
ruby/openssl#1082 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
ruby/openssl#1075 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
Unchecked *_set_* calls対応中かも @ndossche が 180 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
ruby/openssl#1038 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
dependency component: oneMKL module: dpclang
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
intel/torch-xpu-ops#5880 ·
メンテナーはふだん 2 日以内に返信
-
area/ci-build bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
DarkFlippers/qUnleashed#423 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
CVE-2026-111497オープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
fink/fink-distributions#1322 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
openvehicles/Open-Vehicle-Monitoring-System-3#1563 ·
メンテナーはふだん 2 日以内に返信