summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2016-03-09 12:14:33 +0100
committerLinus Nordberg <linus@nordu.net>2016-09-21 13:15:11 +0200
commit668f81b43785cd4181ffc1ca898f6301100b094f (patch)
tree41214927589758a5de13fd0fa46efce304070ec4
parent71a1cfdf066012ea4a8c8049cb3dc3554348d2b2 (diff)
Stop accessing ssl->rbio directly.
-rw-r--r--dtls.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/dtls.c b/dtls.c
index 8f8c90a..4b04675 100644
--- a/dtls.c
+++ b/dtls.c
@@ -168,8 +168,8 @@ int dtlsread(SSL *ssl, struct gqueue *q, unsigned char *buf, int num, int timeou
rbio = getrbio(ssl, q, timeout);
if (!rbio)
return 0;
- BIO_free(ssl->rbio);
- ssl->rbio = rbio;
+ BIO_free(SSL_get_rbio(ssl));
+ SSL_set_bio(ssl, rbio, SSL_get_wbio(ssl));
cnt = 0;
continue;
case SSL_ERROR_WANT_WRITE:
@@ -210,9 +210,9 @@ SSL *dtlsacccon(uint8_t acc, SSL_CTX *ctx, int s, struct sockaddr *addr, struct
if (res == 0)
break;
if (SSL_get_error(ssl, res) == SSL_ERROR_WANT_READ) {
- BIO_free(ssl->rbio);
- ssl->rbio = getrbio(ssl, rbios, 5);
- if (!ssl->rbio)
+ BIO_free(SSL_get_rbio(ssl));
+ SSL_set_bio(ssl, getrbio(ssl, rbios, 5), SSL_get_wbio(ssl));
+ if (!SSL_get_rbio(ssl))
break;
}
while ((error = ERR_get_error()))