summaryrefslogtreecommitdiffstats
path: root/common/os
diff options
context:
space:
mode:
Diffstat (limited to 'common/os')
-rw-r--r--common/os/tls.cxx5
-rw-r--r--common/os/tls.h13
2 files changed, 18 insertions, 0 deletions
diff --git a/common/os/tls.cxx b/common/os/tls.cxx
index 5ef8898a..cd67ce78 100644
--- a/common/os/tls.cxx
+++ b/common/os/tls.cxx
@@ -38,6 +38,11 @@ using namespace std;
#ifndef HAVE_GNUTLS_X509_CRT_PRINT
+/* Ancient GNUTLS... */
+#if !defined(GNUTLS_VERSION_NUMBER) && !defined(LIBGNUTLS_VERSION_NUMBER)
+#define GNUTLS_DIG_SHA1 GNUTLS_DIG_SHA
+#endif
+
#define UNKNOWN_SUBJECT(err) \
do { \
ss << "unknown subject (" << gnutls_strerror(err) << "), "; \
diff --git a/common/os/tls.h b/common/os/tls.h
index a6d09da4..6dd0f324 100644
--- a/common/os/tls.h
+++ b/common/os/tls.h
@@ -26,6 +26,19 @@
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
+#ifndef HAVE_GNUTLS_DATUM_T
+typedef gnutls_datum gnutls_datum_t;
+#endif
+#ifndef HAVE_GNUTLS_CRT_T
+typedef gnutls_x509_crt gnutls_x509_crt_t;
+#endif
+#ifndef HAVE_GNUTLS_PK_ALGORITHM_T
+typedef gnutls_pk_algorithm gnutls_pk_algorithm_t;
+#endif
+#ifndef HAVE_GNUTLS_SIGN_ALGORITHM_T
+typedef gnutls_sign_algorithm gnutls_sign_algorithm_t;
+#endif
+
#ifndef HAVE_GNUTLS_X509_CRT_PRINT
#ifdef WIN32
#error "Please install more recent GNUTLS with gnutls_x509_crt_print() function"