20 #ifndef _freetds_tls_h_
21 #define _freetds_tls_h_
24 #error tds.h must be included before tls.h
28 # if defined(_THREAD_SAFE) && defined(TDS_HAVE_PTHREAD_MUTEX)
29 # include <freetds/thread.h>
30 # ifndef GNUTLS_USE_NETTLE
34 # include <gnutls/gnutls.h>
35 # include <gnutls/x509.h>
36 #elif defined(HAVE_OPENSSL)
37 # include <openssl/ssl.h>
38 # include <openssl/x509v3.h>
39 # include <openssl/err.h>
42 #include <freetds/pushvis.h>
44 #if defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL)
53 return gnutls_record_check_pending((gnutls_session_t) conn->tls_session);
57 tds_ssl_read(
TDSCONNECTION *conn,
unsigned char *buf,
int buflen)
59 return gnutls_record_recv((gnutls_session_t) conn->tls_session, buf, buflen);
63 tds_ssl_write(
TDSCONNECTION *conn,
const unsigned char *buf,
int buflen)
65 return gnutls_record_send((gnutls_session_t) conn->tls_session, buf, buflen);
70 #ifdef LIBRESSL_VERSION_NUMBER
71 #define TLS_ST_OK SSL_ST_OK
77 return SSL_pending((SSL *) conn->tls_session);
81 tds_ssl_read(
TDSCONNECTION *conn,
unsigned char *buf,
int buflen)
83 return SSL_read((SSL *) conn->tls_session, buf, buflen);
87 tds_ssl_write(
TDSCONNECTION *conn,
const unsigned char *buf,
int buflen)
89 return SSL_write((SSL *) conn->tls_session, buf, buflen);
111 tds_ssl_read(
TDSCONNECTION *conn,
unsigned char *buf,
int buflen)
117 tds_ssl_write(
TDSCONNECTION *conn,
const unsigned char *buf,
int buflen)
123 #include <freetds/popvis.h>