Alfred E. Heggestad 2013-06-11 17:58:03 +00:00
parent abf42bc3d3
commit a9a0f8459c

View file

@ -127,6 +127,8 @@ static int tls_connect(struct tls_conn *tc)
if (r <= 0) {
const int ssl_err = SSL_get_error(tc->ssl, r);
ERR_clear_error();
switch (ssl_err) {
case SSL_ERROR_WANT_READ:
@ -152,6 +154,8 @@ static int tls_accept(struct tls_conn *tc)
if (r <= 0) {
const int ssl_err = SSL_get_error(tc->ssl, r);
ERR_clear_error();
switch (ssl_err) {
case SSL_ERROR_WANT_READ:
@ -237,6 +241,8 @@ static bool recv_handler(int *err, struct mbuf *mb, bool *estab, void *arg)
if (n < 0) {
const int ssl_err = SSL_get_error(tc->ssl, n);
ERR_clear_error();
switch (ssl_err) {
case SSL_ERROR_WANT_READ:
@ -270,6 +276,7 @@ static bool send_handler(int *err, struct mbuf *mb, void *arg)
r = SSL_write(tc->ssl, mbuf_buf(mb), (int)mbuf_get_left(mb));
if (r <= 0) {
DEBUG_WARNING("SSL_write: %d\n", SSL_get_error(tc->ssl, r));
ERR_clear_error();
*err = EPROTO;
}