python / python/cpython

socket.gethostbyaddr does not work with IPv6 on Solaris

オープン
#157,497 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

extension-modules OS-unsupported type-bug
主要言語
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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。