python / python/cpython

ALPN values are not limited to ASCII

Offen
#91,763 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

topic-SSL type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

According to ALPN Identification Sequence, Python should accordingly not confine ALPN values to ASCII strings in https://github.com/python/cpython/blob/1c8b3b5d66a629258f1db16939b996264a8b9c37/Lib/ssl.py#L565-L575 and https://github.com/python/cpython/blob/1c8b3b5d66a629258f1db16939b996264a8b9c37/Modules/_ssl.c#L2064-L2081

The OpenJDK proposed to use "latin-1" encoding instead of ASCII. However, @jlaine views this workaround as a hack and suggests a more agreeable and maintainable solution https://github.com/aiortc/aioquic/pull/275#issuecomment-1092579877 .

Therefore, which is the more ideal solution, or another better fix?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der Spezifikation der ALPN Identification Sequence und untersuchen Sie die Validierungspfade in Lib/ssl.py in den Zeilen 565-575 und Modules/_ssl.c in den Zeilen 2064-2081. Lesen Sie den verlinkten OpenJDK-Vorschlag und die aioquic-Diskussion, bevor Sie einen Ansatz auswählen. Als abgeschlossen gilt die Aufgabe, wenn die Implementierung der zulässigen ALPN-Wertkodierung folgt und eine entsprechende Abdeckung für die betroffenen Pfade vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking, security
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.