uri_reference.is_valid() accepts invalid hostnames and out-of-range ports
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- networking
Rechercherichtung
Beginne damit, beide Beispiele in einer Python-REPL nachzustellen und nachzuverfolgen, wie uri_reference(...).is_valid() Hostnamen und Ports validiert. Als abgeschlossen gilt, wenn einfache Hostnamen mit Pfaden und Ports über 65535 abgelehnt werden und Tests beide gemeldeten Eingaben abdecken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 189
- Forks
- 43
- Ø Merge
- 12 Std. 14 Min.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 python-hyper/rfc3986
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
python-hyper/rfc3986#164 ·
-
ParseResultBytes.unsplit() raises AttributeError for a reference without an authorityEvtl. vergeben @mayuriphad hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
python-hyper/rfc3986#163 ·
-
sdist is missing `tox.ini`Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 55/100
python-hyper/rfc3986#129 ·
-
wrong parseOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
python-hyper/rfc3986#128 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
python-hyper/rfc3986#123 · 2 Kommentare ·
Alle Issues in python-hyper/rfc3986
Ähnliche Issues
-
good first issue infrastructure
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation priority: high
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
a-lex-s/mealie-telegram-bot#54 ·
Maintainer antworten meist innerhalb von 1 Tag
-
type/test
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SaltedTan/virgil-language-server#218 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
btclib-org/btclib-wallet#541 ·
Maintainer antworten meist innerhalb von 1 Tag