From 05281d7a0d98102edfda24c18fc9d82af5eee4c2 Mon Sep 17 00:00:00 2001 From: Aaron Jones Date: Tue, 15 Nov 2016 12:16:03 +0000 Subject: [PATCH] TLS backends: Move some library-dependent functions to the proper location The comment incorrectly stated these were library-agnostic; infact, they use library-dependent data types or macro names. --- librb/src/gnutls.c | 35 +++++++++++++---------------- librb/src/mbedtls.c | 55 +++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 48 deletions(-) diff --git a/librb/src/gnutls.c b/librb/src/gnutls.c index 6308844d..d07c148d 100644 --- a/librb/src/gnutls.c +++ b/librb/src/gnutls.c @@ -76,9 +76,6 @@ struct ssl_connect static const char *rb_ssl_strerror(int); static void rb_ssl_connect_realcb(rb_fde_t *, int, struct ssl_connect *); -static ssize_t rb_sock_net_recv(gnutls_transport_ptr_t, void *, size_t); -static ssize_t rb_sock_net_xmit(gnutls_transport_ptr_t, const void *, size_t); - /* @@ -120,6 +117,22 @@ rb_ssl_cert_auth_cb(gnutls_session_t session, return 0; } +static ssize_t +rb_sock_net_recv(gnutls_transport_ptr_t context_ptr, void *const buf, const size_t count) +{ + const int fd = rb_get_fd((rb_fde_t *)context_ptr); + + return recv(fd, buf, count, 0); +} + +static ssize_t +rb_sock_net_xmit(gnutls_transport_ptr_t context_ptr, const void *const buf, const size_t count) +{ + const int fd = rb_get_fd((rb_fde_t *)context_ptr); + + return send(fd, buf, count, 0); +} + static void rb_ssl_init_fd(rb_fde_t *const F, const rb_fd_tls_direction dir) { @@ -788,22 +801,6 @@ rb_ssl_tryconn(rb_fde_t *const F, const int status, void *const data) rb_ssl_connect_common(F, sconn); } -static ssize_t -rb_sock_net_recv(gnutls_transport_ptr_t context_ptr, void *const buf, const size_t count) -{ - const int fd = rb_get_fd((rb_fde_t *)context_ptr); - - return recv(fd, buf, count, 0); -} - -static ssize_t -rb_sock_net_xmit(gnutls_transport_ptr_t context_ptr, const void *const buf, const size_t count) -{ - const int fd = rb_get_fd((rb_fde_t *)context_ptr); - - return send(fd, buf, count, 0); -} - /* diff --git a/librb/src/mbedtls.c b/librb/src/mbedtls.c index cf388cb8..1f3c9460 100644 --- a/librb/src/mbedtls.c +++ b/librb/src/mbedtls.c @@ -81,9 +81,6 @@ struct ssl_connect static const char *rb_ssl_strerror(int); static void rb_ssl_connect_realcb(rb_fde_t *, int, struct ssl_connect *); -static int rb_sock_net_recv(void *, unsigned char *, size_t); -static int rb_sock_net_xmit(void *, const unsigned char *, size_t); - /* @@ -118,6 +115,32 @@ rb_mbedtls_cfg_decref(rb_mbedtls_cfg_context *const cfg) rb_free(cfg); } +static int +rb_sock_net_recv(void *const context_ptr, unsigned char *const buf, const size_t count) +{ + const int fd = rb_get_fd((rb_fde_t *)context_ptr); + + const int ret = (int) read(fd, buf, count); + + if(ret < 0 && rb_ignore_errno(errno)) + return MBEDTLS_ERR_SSL_WANT_READ; + + return ret; +} + +static int +rb_sock_net_xmit(void *const context_ptr, const unsigned char *const buf, const size_t count) +{ + const int fd = rb_get_fd((rb_fde_t *)context_ptr); + + const int ret = (int) write(fd, buf, count); + + if(ret < 0 && rb_ignore_errno(errno)) + return MBEDTLS_ERR_SSL_WANT_WRITE; + + return ret; +} + static void rb_ssl_init_fd(rb_fde_t *const F, const rb_fd_tls_direction dir) { @@ -753,32 +776,6 @@ rb_ssl_tryconn(rb_fde_t *const F, const int status, void *const data) rb_ssl_connect_common(F, sconn); } -static int -rb_sock_net_recv(void *const context_ptr, unsigned char *const buf, const size_t count) -{ - const int fd = rb_get_fd((rb_fde_t *)context_ptr); - - const int ret = (int) read(fd, buf, count); - - if(ret < 0 && rb_ignore_errno(errno)) - return MBEDTLS_ERR_SSL_WANT_READ; - - return ret; -} - -static int -rb_sock_net_xmit(void *const context_ptr, const unsigned char *const buf, const size_t count) -{ - const int fd = rb_get_fd((rb_fde_t *)context_ptr); - - const int ret = (int) write(fd, buf, count); - - if(ret < 0 && rb_ignore_errno(errno)) - return MBEDTLS_ERR_SSL_WANT_WRITE; - - return ret; -} - /*