diff options
Diffstat (limited to 'sockets.c')
| -rw-r--r-- | sockets.c | 20 | 
1 files changed, 20 insertions, 0 deletions
@@ -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); +  } +}  | 
