socket.gethostbyaddr does not work with IPv6 on Solaris
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Bug report
Bug description:
The documentation suggests that socket.gethostbyaddr supports both IPv4 and IPv6:
https://docs.python.org/3/library/socket.html#socket.gethostbyaddr
however, gethostbyaddr_r on Solaris does not support IPv6.
Solaris/Illumos provide platform-specific getipnodebyaddr function which can be used to lookup IPv6 addresses.
I did not test this with Illumos, but the man page suggest the same behavior as with Oracle Solaris:
https://www.smartos.org/man/3nsl/gethostbyaddr_r
"the functions described in the following cannot be used with applications targeted to work with IPv6."
CPython versions tested on:
CPython main branch, 3.13, 3.11
Operating systems tested on:
Other
Linked PRs
- gh-157498
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
socket.gethostbyaddr エントリポイントから始め、Solaris 上で CPython が gethostbyaddr_r をどのように呼び出しているかを確認します。Issue で説明されているプラットフォーム固有の getipnodebyaddr の動作とその経路を比較し、リンクされた PR gh-157498 を確認します。Solaris で IPv6 の逆引きが、既存の IPv4 の動作を壊すことなく機能すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- networking
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100