Non-blocking socket not handled correctly.
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- networking, security
Hướng nghiên cứu
Bắt đầu với ext/openssl/ossl_ssl.c quanh dòng 2124 và so sánh hành vi của SSL_shutdown tại đó với tài liệu OpenSSL được trích dẫn về các BIO không chặn. Xác định cách cần xử lý SSL_ERROR_WANT_READ và SSL_ERROR_WANT_WRITE trong chế độ không chặn; hoàn tất khi đường dẫn shutdown hỗ trợ đúng hành vi được tài liệu mô tả.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 276
- Fork
- 204
- Merge trung bình
- 1 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ruby/openssl
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())Có thể đã có người làm @kou đã nhận 14 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 53/100
ruby/openssl#1125 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
ruby/openssl#1118 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Expose XOFs like SHAKE128 and SHAKE256Có thể đã có người làm @rhenium đã nhận 110 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
ruby/openssl#1082 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
ruby/openssl#1075 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Unchecked *_set_* callsCó thể đã có người làm @ndossche đã nhận 181 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
ruby/openssl#1038 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
[CLI] Clarify distinction between 'capture camera' and 'capture screen' in help text and outputĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
espressif/esp-vision#18 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 61/100
HexaCluster/credcheck#94 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
JS_SetPropertyInternal2 loses the value when a lazy property on the prototype runs out of memoryĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
quickjs-ng/quickjs#1852 ·
Maintainer thường phản hồi trong vòng 2 ngày