Allow reading unmasked address when passed a CIDR string
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Ruby
- Estrellas
- 82
- Forks
- 42
- Merge medio
- 2 h 24 min
- PR fusionados (30 d)
- 3
Descripción
This behavior caught me by surprise:
> ip = IPAddr.new('1.2.3.4/16')
=> #<IPAddr: IPv4:1.2.0.0/255.255.0.0>
> ip.to_s
=> "1.2.0.0"
Looking at the code I believe this is happening at https://github.com/ruby/ipaddr/blob/master/lib/ipaddr.rb#L649-L651, which is a very old commit, so this behavior is clearly expected. For my use case I need the host bits unmasked, so I want to parse 1.2.3.4/16 and be able to read back something like ip.address as 1.2.3.4 and the netmask as 255.255.0.0. It looks like that's not currently possible with this gem, which surprises me. Am I overlooking a method, or is there a nuance in the CIDR spec implemented here I've forgotten?
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en lib/ipaddr.rb, en las líneas 649-651, y sigue cómo se analiza y almacena una cadena CIDR. Compara los accessors actuales de la dirección y la máscara de red con el comportamiento solicitado y, después, define el cambio de API para que tanto la dirección sin máscara como la máscara de red puedan volver a leerse para 1.2.3.4/16.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ruby
- Área
- networking
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100