From fa2780a40da9313337b7cca0ba68783a6829b5e3 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Sun, 21 Sep 2014 03:18:00 +0200
Subject: Fix the TLS/SSL transport
---
ponymap.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ponymap.c b/ponymap.c
index 1dc1792..0f0b64e 100644
--- a/ponymap.c
+++ b/ponymap.c
@@ -1003,6 +1003,7 @@ transport_tls_init (struct unit *u)
struct transport_tls_data *data = xcalloc (1, sizeof *data);
data->ssl = ssl;
+ // XXX: maybe set `ssl_rx_want_tx' to force a handshake?
u->transport_data = data;
return true;
}
@@ -1063,10 +1064,10 @@ transport_tls_on_readable (struct unit *u)
case SSL_ERROR_ZERO_RETURN:
return TRANSPORT_IO_EOF;
case SSL_ERROR_WANT_READ:
- return true;
+ return TRANSPORT_IO_OK;
case SSL_ERROR_WANT_WRITE:
data->ssl_rx_want_tx = true;
- return true;
+ return TRANSPORT_IO_OK;
case XSSL_ERROR_TRY_AGAIN:
continue;
default:
--
cgit v1.2.3-70-g09d2