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