CGI script using LF line breaks in headers causes error
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Empieza siguiendo el análisis de headers de CGIHandler y revisando el cambio de #138 que rechaza los caracteres LF aislados. Reproduce el fallo con el script Ruby CGI mostrado en la issue y, después, verifica que se acepten headers separados por LF al estilo de RFC 3875 sin debilitar la validación de los headers HTTP ordinarios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The change introduced in #138 disallows bare LFs in headers and request lines. This change is good, but it also affects CGIHandler, causing scripts that use bare LF as a header separator to fail. However, according to RFC 3875, unlike HTTP, bare LFs are allowed in CGI header syntax.
For example, the following CGI script will fail when run under WEBrick 1.8 and later:
#!/usr/bin/ruby
print "Content-Type: text/html\n"
print "\n"
print "<html>example</html>"
In this case, the error message displayed in the browser is:
bad header 'Content-Type: text/html '.
- Lenguaje dominante
- Ruby
- Estrellas
- 327
- Forks
- 113
- Merge medio
- 4 h 2 min
- PR fusionados (30 d)
- 1
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.
Más de ruby/webrick
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Todos los issues de ruby/webrick
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
TheOdinProject/curriculum#31417 · 2 comentarios ·
-
Allow faraday-http-cache 3.x Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
glossarist/glossarist-ruby#238 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
palladius/rails8-app-on-gcp#145 ·