20#ifndef _tdsguard_hpUeh3TzYOzN1FtT39tMHz_
21#define _tdsguard_hpUeh3TzYOzN1FtT39tMHz_
23#ifndef _tdsguard_hfOrWb5znoUCWdBPoNQvqN_
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)
45TDSRET tds_ssl_init(
TDSSOCKET *tds,
bool full);
53 return gnutls_record_check_pending((gnutls_session_t) conn->tls_session);
57tds_ssl_read(
TDSCONNECTION *conn,
unsigned char *buf,
int buflen)
59 return gnutls_record_recv((gnutls_session_t) conn->tls_session, buf, buflen);
63tds_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);
81tds_ssl_read(
TDSCONNECTION *conn,
unsigned char *buf,
int buflen)
83 return SSL_read((SSL *) conn->tls_session, buf, buflen);
87tds_ssl_write(
TDSCONNECTION *conn,
const unsigned char *buf,
int buflen)
89 return SSL_write((SSL *) conn->tls_session, buf, buflen);
94tds_ssl_init(
TDSSOCKET *tds TDS_UNUSED,
bool full TDS_UNUSED)
111tds_ssl_read(
TDSCONNECTION *conn TDS_UNUSED,
unsigned char *buf TDS_UNUSED,
int buflen TDS_UNUSED)
117tds_ssl_write(
TDSCONNECTION *conn TDS_UNUSED,
const unsigned char *buf TDS_UNUSED,
int buflen TDS_UNUSED)
123#include <freetds/popvis.h>
Information for a server connection.
Definition tds.h:1162