Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

regression in 1.0.4: setting host clears the user

Abierto
#184 11 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
ruby
Área
backend

Línea de trabajo

Comienza con el ejemplo URI("socks4://user:@socksproxy:8080") y la mutación de host= descrita en la issue, comparando el comportamiento de 1.0.4 con el comportamiento anterior. Revisa el cambio relacionado con CVE y determina si una contraseña vacía debería permitir que el usuario permanezca; se considera terminado cuando resolver el host ya no elimina a ese usuario sin volver a introducir la exposición de credenciales.

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

Descripción

I have some code relying on the following logic:

require "uri"
uri = URI("socks4://user:@socksproxy:8080")
uri.user #=> "user"
uri.host = Resolv.getaddress("socksproxy") #=> "127.0.0.1"
uri.user #=> used to be "user", now it's nil

I understand that this was all done as a fix for a CVE to not expose passwords, but if no password is set, this resetting credentials just feels a bit odd. Also, the CVE seems more about preventing when merging two uris and leaking credentials from one to the other, and this patch does way more than that, i.e. resetting state when mutating. I don't think that they're the same.

Lenguaje dominante
Ruby
Estrellas
125
Forks
65
Merge medio
6 h 4 min
PR fusionados (30 d)
2

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Más de ruby/uri

Todos los issues de ruby/uri

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.