python-hyper / python-hyper/rfc3986

wrong parse

Ouverte
#128 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
189
Forks
38
Merge moyen
13 h 36 min
PR mergées (30 j)
1

Description

Working on filtering URL system I found that case where False is expected but return True.

Code to test :

from rfc3986 import is_valid_uri

def test_url(url: str) -> bool:
    try:
        assert is_valid_uri(url, require_scheme=True, require_authority=True, require_path=False)
    except AssertionError:
        return False
    return True

url = "http://'www.amazon.com/s/url=search-alias\%3dstripbooks&field-keywords=z+programming'"
test_url(url)

To be more precise in the report, while RFC 3386 does not explicitly forbid the character ' both RFC1123 and RFC952 prohibit this character in DNS names. Therefore, it should be taken into consideration for this case.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez au point d’entrée is_valid_uri et reproduisez l’URL de l’issue, en vous concentrant sur la manière dont authority et hostname sont validés. Confirmez que cette entrée est rejetée comme décrit, puis ajoutez un test de régression couvrant le hostname entre guillemets et exécutez la suite de tests concernée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
networking
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.