🔒 Cancel SASL authentication after client-side exceptions

Offen
#310 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
50/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
ruby

Rechercherichtung

Beginne damit, die Verarbeitung des AUTHENTICATE-Befehls zu lokalisieren, und vergleiche das Verhalten bei seiner Abbruchbehandlung mit RFC 9051 Abschnitt 6.2.2. Die Arbeit ist abgeschlossen, wenn clientseitige Ausnahmen die Authentifizierung abbrechen, anstatt die Verbindung zu trennen, und die resultierende BAD-Ausnahme die ursprüngliche Ausnahme als #cause beibehält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

IMAP4rev1 IMAP4rev2 SASL :lock:

From RFC9051 6.2.2

If the client wishes to cancel an authentication exchange, it issues a line consisting of a single "*". If the server receives such a response, or if it receives an invalid base64 string (e.g., characters outside the base64 alphabet or non-terminal "="), it MUST reject the AUTHENTICATE command by sending a tagged BAD response.

Currently, exceptions should cause the connection to be dropped, but that's too severe a reaction.

When authentication is canceled, the original exception should be the #cause of any resulting BAD exception. This way it will be captured by automated error reporting.

Vorherrschende Sprache
Ruby
Sterne
121
Forks
47
Ø Merge
19 Std. 25 Min.
Gemergte PRs (30 T.)
3

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/net-imap

Alle Issues in ruby/net-imap

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

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