hyper_util: expose a timeout on ReadVersion in `server::conn::auto`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
- #337 von @Aditya-9-6 — ohne Merge geschlossen
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- api, networking, security
Rechercherichtung
Beginne mit dem Lesen der Implementierung von server::conn::auto und des bestehenden h1-Timeouts für initiale Header, auf den im Issue verwiesen wird. Verfolge, wo ReadVersion wartet und wie die Timeout-Konfiguration verfügbar gemacht werden könnte, und prüfe anschließend die umliegenden Tests. Erledigt ist die Aufgabe, wenn ein optional aktivierbarer Timeout verhindert, dass eine inaktive Verbindung unbegrenzt wartet, und das konfigurierte Verhalten durch Tests abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
When serving h1 directly, hyper currently has a time on reading the initial headers (see https://github.com/hyperium/hyper/issues/3178 for context/the PR). However, with auto there is no timer on the ReadVersion, which makes this timer unreachable until the ReadVersion is complete.
The impact of this is that the user can open up a connection indefinitely without sending any data which is a DoS vector.
Describe the solution you'd like
An (opt in, perhaps?) timeout on server::conn::auto
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
- Vorherrschende Sprache
- Rust
- Sterne
- 16.4k
- Forks
- 1.8k
- Ø Merge
- 1 T. 13 Std.
- Gemergte PRs (30 T.)
- 12
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus hyperium/hyper
-
C-feature
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
hyperium/hyper#2652 · 4 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
C-feature
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
False `SendRequest` readiness for HTTP/1 connectionsEvtl. vergeben @akasakariko hat das vor 2 Tagen übernommen. OffenC-bug
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 55/100
hyperium/hyper#4246 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
Maintainer antworten meist innerhalb von 1 Tag
-
can't upgrade request that came in with `Connection: close, Upgrade`Evtl. vergeben @akasakariko hat das vor 2 Tagen übernommen. OffenC-bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
hyperium/hyper#4244 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
Maintainer antworten meist innerhalb von 1 Tag
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
hurttlocker/o8#5112 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
memory_patch_page drops the `#` of headings like `## Notes on C#`Evtl. vergeben @viniciusdsandrade hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
akitaonrails/ai-memory#1859 ·
Maintainer antworten meist innerhalb von 1 Tag