[IOMultiplexerV2] added GnuTLS support
[NextIRCd.git] / src / IOHandler / IOSSLBackend.h
index 879537e9fdbc5557ac796f2515a13e8fb5a5fdfc..68253e84c01b1b8b5c18c153b498f2592614e9c2 100644 (file)
 
 struct _IOSocket;
 
-#ifdef HAVE_OPENSSL_SSL_H
+#if defined(HAVE_GNUTLS_GNUTLS_H)
+#include <gnutls/gnutls.h>
+struct IOSSLDescriptor {
+       union {
+               struct {
+                       gnutls_session_t session;
+                       gnutls_certificate_client_credentials credentials;
+               } client;
+               struct {
+                       gnutls_priority_t priority;
+                       gnutls_certificate_credentials_t credentials;
+               } server;
+       } ssl;
+};
+
+#elif defined(HAVE_OPENSSL_SSL_H)
 #include <openssl/rand.h>
 #include <openssl/ssl.h>
 #include <openssl/err.h>
 
 struct IOSSLDescriptor {
-       unsigned int flags : 8;
     SSL *sslHandle;
     SSL_CTX *sslContext;
 };