Почему я получающий “error:1409F07F:SSL routines:SSL3_WRITE_PENDING: плохо запишите повторную попытку” ошибка при попытке SSL_write?

Я получающий следующую ошибку при попытке SSL_write:

error:1409F07F:SSL routines:SSL3_WRITE_PENDING: плохо запишите повторную попытку

14
задан tshepang 13 June 2014 в 15:27
поделиться

1 ответ

Причина довольно проста: когда SSL_Write возвращается с SSL_ERROR_WANT_WRITE или SSL_ERROR_WANT_READ, вы должны повторить вызов SSL_write с точно такими же параметрами снова, после того как условие будет выполнено (чтение/запись доступны на сокете).

Вызов с другими параметрами приведет к ошибке 1409F07F bad write retry.

Например, когда SSL_write(ssl, ptr, size) с ptr = 0xABCDEFGH, size = 4096 не срабатывает с ошибкой SSL_ERROR_WANT_READ или SSL_ERROR_WANT_WRITE, при повторном вызове SSL_write параметры ptr и size должны быть одинаковыми. Это не эквивалентно, если ptr является другим указателем, указывающим на копию того же содержимого, что и в исходном вызове.

Однако это поведение SSL_write по умолчанию может быть изменено установкой SSL_MODE_ENABLE_PARTIAL_WRITE и/или SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER.


Спасибо @ShriramV за уточняющие комментарии, интегрированные в ответ

22
ответ дан 1 December 2019 в 12:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: