summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-12-29 02:25:03 +0000
committerBenny Prijono <bennylp@teluu.com>2006-12-29 02:25:03 +0000
commit9c94a9ad48af2c455204712312479ca98f5bc2da (patch)
tree0a97c4ae590edc8cca79397d1f52f27c7713a761 /pjsip
parent2bc4a02f1f482398dff021ee249685a6b137ce4b (diff)
Fixed TLS transport when IOCP is used
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@872 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip/sip_transport_tls_ossl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/pjsip/src/pjsip/sip_transport_tls_ossl.c b/pjsip/src/pjsip/sip_transport_tls_ossl.c
index 97d820f7..a20f8ff0 100644
--- a/pjsip/src/pjsip/sip_transport_tls_ossl.c
+++ b/pjsip/src/pjsip/sip_transport_tls_ossl.c
@@ -2043,7 +2043,15 @@ static void on_read_complete(pj_ioqueue_key_t *key,
*/
flags = PJ_IOQUEUE_ALWAYS_ASYNC;
} else {
- flags = 0;
+ /* This doesn't work too well when IOCP is used, as it seems that
+ * IOCP refuses to do MSG_PEEK when WSARecv() is called without
+ * OVERLAP structure. With OpenSSL it gives this error:
+ * error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version
+ * number
+ *
+ * flags = 0
+ */
+ flags = PJ_IOQUEUE_ALWAYS_ASYNC;
}
/* Read next packet from the network. Remember, we need to use