uri_reference.is_valid() accepts invalid hostnames and out-of-range ports
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- networking
Piste de recherche
Commencez par reproduire les deux exemples dans une REPL Python et suivez la manière dont uri_reference(...).is_valid() valide les noms d’hôte et les ports. C’est terminé lorsque les noms d’hôte simples avec des chemins et les ports supérieurs à 65535 sont rejetés, avec des tests couvrant les deux entrées signalées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 189
- Forks
- 43
- Merge moyen
- 12 h 14 min
- PR mergées (30 j)
- 2
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 python-hyper/rfc3986
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
python-hyper/rfc3986#164 ·
-
ParseResultBytes.unsplit() raises AttributeError for a reference without an authorityPeut-être pris @mayuriphad l’a pris il y a 2 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
python-hyper/rfc3986#163 ·
-
sdist is missing `tox.ini`Peut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
python-hyper/rfc3986#129 ·
-
wrong parseOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
python-hyper/rfc3986#128 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
python-hyper/rfc3986#123 · 2 commentaires ·
Toutes les issues de python-hyper/rfc3986
Issues similaires
-
intake mcp-intake needs-ac needs-human-review priority:medium
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Ikalus1988/MisakaNet#3848 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
521xueweihan/HelloGitHub#4105 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
igormcsouza/bookloud#54 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
aws-samples/sample-per-model-bedrock#526 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
ok-oldking/ok-wuthering-waves#1802 ·
Les mainteneurs répondent en général sous 2 jours