From 8869477885718844d368b48774f926489385e3b3 Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Sun, 12 May 2019 22:47:29 +0100 Subject: Make using TLS for clients connecting to the bouncer optional. --- sockets.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'sockets.c') diff --git a/sockets.c b/sockets.c index 0f78b21..c5ea41f 100644 --- a/sockets.c +++ b/sockets.c @@ -165,3 +165,23 @@ void configure_context(SSL_CTX *ctx, char *certfile, char *keyfile) { exit(EXIT_FAILURE); } } + +// Read from a socket, whether or not using TLS +int sockread(SSL *fd, char *buf, int bufsize, int tls) { + if (tls) { + return SSL_read(fd, buf, bufsize); + } else { + // Cast the supposed SSL *fd to a long int if we're not using TLS + return recv((long int)fd, buf, bufsize, 0); + } +} + +// Write to a socket, whether or not using TLS +int socksend(SSL *fd, char *buf, int bufsize, int tls) { + if (tls) { + return SSL_write(fd, buf, bufsize); + } else { + // Cast the supposed SSL *fd to a long int if we're not using TLS + return send((long int)fd, buf, bufsize, 0); + } +} -- cgit v1.2.3