Non-blocking socket not handled correctly.
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- networking, security
Rechercherichtung
Beginne bei ext/openssl/ossl_ssl.c ungefähr in Zeile 2124 und vergleiche das Verhalten von SSL_shutdown dort mit der zitierten OpenSSL-Dokumentation für nicht blockierende BIOs. Ermittle, wie SSL_ERROR_WANT_READ und SSL_ERROR_WANT_WRITE im nicht blockierenden Modus behandelt werden sollten; als abgeschlossen gilt die Aufgabe, wenn der Shutdown-Pfad das dokumentierte Verhalten korrekt unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
According to the documentation, SSL_shutdown can:
If the underlying BIO is nonblocking, SSL_shutdown() will also return when the underlying BIO could not satisfy the needs of SSL_shutdown() to continue the handshake. In this case a call to SSL_get_error() with the return value of SSL_shutdown() will yield SSL_ERROR_WANT_READ or SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after taking appropriate action to satisfy the needs of SSL_shutdown(). The action depends on the underlying BIO. When using a nonblocking socket, nothing is to be done, but select() can be used to check for the required condition. When using a buffering BIO, like a BIO pair, data must be written into or retrieved out of the BIO before being able to continue.
I don't know if we need to explicitly handle this when in non-blocking mode or not, but I'd assume so until otherwise confirmed/checked.
- Vorherrschende Sprache
- C
- Sterne
- 276
- Forks
- 204
- Ø Merge
- 1 T. 3 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
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 ruby/openssl
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())Evtl. vergeben @kou hat das vor 14 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 53/100
ruby/openssl#1125 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
ruby/openssl#1118 · 6 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Expose XOFs like SHAKE128 and SHAKE256Evtl. vergeben @rhenium hat das vor 111 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
ruby/openssl#1082 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
ruby/openssl#1075 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Unchecked *_set_* callsEvtl. vergeben @ndossche hat das vor 181 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
ruby/openssl#1038 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
JustAResearcher/gpu-unlock-ada#98 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
bug intrinsic medium priority rt_lib
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
[CLI] Clarify distinction between 'capture camera' and 'capture screen' in help text and outputOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
espressif/esp-vision#18 ·