python-hyper / python-hyper/rfc3986
uri_reference.is_valid() accepts invalid hostnames and out-of-range ports
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 189
- Fork
- 38
- Merge medio
- 13h 36m
- PR unite (30g)
- 1
Descrizione
The validator returns True for inputs that violate URI rules.
Examples:
In [15]: uri_reference('google.com/path').is_valid()
Out[15]: True
In [27]: uri_reference('http://example.com:99999/').is_valid()
Out[27]: True
Expected behavior:
The validator should reject missing schemes when a hostname is present
and should reject port values greater than 65535.
Actual behavior:
is_valid() returns True for both invalid inputs.
Steps to reproduce:
- Run the two example expressions in a Python REPL.
- Observe that both return True.
Environment:
Library version:
Python version: Python 3.10.14
OS: Windows
Fix? :
- Add port range validation and treat bare hostnames with paths as invalid
- unless explicitly allowed by the spec.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo entrambi gli esempi in una REPL Python e traccia come uri_reference(...).is_valid() convalida i nomi host e le porte. Il lavoro è completato quando i nomi host nudi con percorsi e le porte superiori a 65535 vengono rifiutati, con test che coprano entrambi gli input segnalati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- networking
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100