python / python/cpython

socket.gethostbyaddr does not work with IPv6 on Solaris

Abierto
#157,497 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

extension-modules OS-unsupported type-bug
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza desde el punto de entrada socket.gethostbyaddr y revisa cómo CPython llama a gethostbyaddr_r en Solaris. Compara esa ruta con el comportamiento específico de la plataforma de getipnodebyaddr descrito en el issue y revisa el PR vinculado gh-157498. Se considera terminado cuando las búsquedas inversas de IPv6 funcionan en Solaris sin romper el comportamiento existente de IPv4.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
networking
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.