Expose the streamable HTTP server's Host validation
Los mantenedores suelen responder en 3 días
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 40/100
Línea de trabajo
Start with the private host_is_allowed and validate_dns_rebinding_headers functions in the streamable HTTP server code, and see how they read the Host header and the allowed hosts. The goal is a public function that takes request headers and the allowed hosts and returns whether the request passes, reusing the existing parsing rules. Done when an axum layer in front of the rmcp service can call it before rmcp's own check, with the existing tests still passing.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The streamable HTTP server checks the Host header against its allowed hosts (host_is_allowed, validate_dns_rebinding_headers), but those functions are private in 3.3.0. A server that authenticates in an axum layer in front of the rmcp service has to run its own, often costlier, checks before rmcp's Host check refuses a request. A public function that takes the request headers and the configured allowed hosts and returns whether the request passes would let such a layer run the same check first, with no copy of the parsing rules.
- Lenguaje dominante
- Rust
- Estrellas
- 4k
- Forks
- 662
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 33
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 modelcontextprotocol/rust-sdk
-
Streamable HTTP client: a 401 or 403 with a JSON-RPC error body and no WWW-Authenticate loses its HTTP statusPosiblemente ocupada @aton-of-data la tomó hace 2 días. Abiertobug P2 ready for work T-security T-transport
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
modelcontextprotocol/rust-sdk#1339 ·
Los mantenedores suelen responder en 3 días
-
rmcp and rmcp-macros crates no longer include LICENSE (regression since 1.3.0)Posiblemente ocupada @Steeve-Crypto la tomó hace 2 días. Abiertobug P2 ready for work T-config
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/rust-sdk#1335 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scopePosiblemente ocupada @jstar0 la tomó hace 4 días. Abiertobug P1 ready for work T-security T-transport
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
modelcontextprotocol/rust-sdk#1330 ·
Los mantenedores suelen responder en 3 días
-
P3 question Stale T-documentation T-enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
modelcontextprotocol/rust-sdk#1155 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
bug P1 ready for work T-handler T-model
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
modelcontextprotocol/rust-sdk#1347 ·
Los mantenedores suelen responder en 3 días
Todos los issues de modelcontextprotocol/rust-sdk
Issues similares
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
docs(skills): issue-first should reference an existing Linear ticket instead of filing a duplicateAbiertodocumentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
area: tui good first issue help wanted type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
srothgan/claude-code-rust#473 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
storytold/photocraft#5260 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día