Expose the streamable HTTP server's Host validation
Les mainteneurs répondent en général sous 3 jours
Évaluation
- Difficulté
- 3/5
- Temps estimé
- Une demi-journée
- Accessibilité débutants
- 40/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Rust
- Étoiles
- 4k
- Forks
- 662
- Merge moyen
- 3 j 19 h
- PR mergées (30 j)
- 35
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de modelcontextprotocol/rust-sdk
-
Streamable HTTP client: a 401 or 403 with a JSON-RPC error body and no WWW-Authenticate loses its HTTP statusPeut-être pris @aton-of-data l’a pris il y a 3 jours. Ouvertebug P2 ready for work T-security T-transport
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
modelcontextprotocol/rust-sdk#1339 ·
Les mainteneurs répondent en général sous 3 jours
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scopePeut-être pris @jstar0 l’a pris il y a 5 jours. Ouvertebug P1 ready for work T-security T-transport
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
modelcontextprotocol/rust-sdk#1330 ·
Les mainteneurs répondent en général sous 3 jours
-
P3 question Stale T-documentation T-enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
modelcontextprotocol/rust-sdk#1155 · 1 commentaire ·
Les mainteneurs répondent en général sous 3 jours
-
Clean up sessions after legacy initialize parsing failsPeut-être pris @bolinfest l’a pris aujourd’hui. Ouvertebug P2 ready for work T-transport
modelcontextprotocol/rust-sdk#1357 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
-
Expose body-free HTTP status and Retry-After metadataPeut-être pris @bolinfest l’a pris aujourd’hui. Ouverte
modelcontextprotocol/rust-sdk#1356 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de modelcontextprotocol/rust-sdk
Issues similaires
-
ai_p1 comp-message-queues
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ClickHouse/ClickHouse#125890 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
storytold/photocraft#5710 ·
Les mainteneurs répondent en général sous 1 jour
-
Two tests fail on a Windows checkout: a CRLF parse in feature_walk_tests, an 8.3 TEMP path in libraries_testsPeut-être pris @CamWight l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
bherbruck/solvecraft#1186 · 1 commentaire ·
-
area: screenshot audit bug good first issue priority: P3 security severity: info type: correctness
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
pierruno-labs/prowl#31 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
limitlessprojects/Go-Hybrid#50 ·
Les mainteneurs répondent en général sous 1 jour