]> arthur.barton.de Git - ngircd-alex.git/commitdiff
GNUTLS: define new API types when installed library is too old
authorAlexander Barton <alex@barton.de>
Tue, 11 Nov 2008 21:03:11 +0000 (22:03 +0100)
committerAlexander Barton <alex@barton.de>
Tue, 11 Nov 2008 21:03:11 +0000 (22:03 +0100)
This patch enables ngIRCd to use GNUTLS in really old versions, tested
with version 1.0.16, that don't define the "new" data types ending in
xxx_t. LIBGNUTLS_VERSION_MAJOR isn't defined there as well, so we use
it to test if we must define the new types on our own.

src/ngircd/conf-ssl.h

index 35ba28f4f667235189f863e11dccebb321dba755..e88d3e89886d3cd88681753df8b157410da3639f 100644 (file)
 #ifdef HAVE_LIBGNUTLS
 #define SSL_SUPPORT
 #include <gnutls/gnutls.h>
+#ifndef LIBGNUTLS_VERSION_MAJOR
+#define gnutls_certificate_credentials_t gnutls_certificate_credentials
+#define gnutls_cipher_algorithm_t gnutls_cipher_algorithm
+#define gnutls_datum_t gnutls_datum
+#define gnutls_dh_params_t gnutls_dh_params
+#define gnutls_session_t gnutls_session
+#define gnutls_transport_ptr_t gnutls_transport_ptr
+#endif
 #endif
 
 #ifdef SSL_SUPPORT
@@ -21,17 +29,19 @@ struct ConnSSL_State {
        SSL *ssl;
 #endif
 #ifdef HAVE_LIBGNUTLS
-       gnutls_session_t gnutls_session;
-       void *cookie;   /* pointer to server configuration structure (for outgoing connections), or NULL. */
+       gnutls_session gnutls_session;
+       void *cookie;           /* pointer to server configuration structure
+                                  (for outgoing connections), or NULL. */
 #endif
 };
 
-
 bool
 ConnSSL_InitLibrary(void);
 #else
 static inline bool
 ConnSSL_InitLibrary(void) { return true; }
 #endif /* SSL_SUPPORT */
+
 #endif /* conf_ssl_h */
+
 /* -eof- */