diff options
author | Peter Powell <petpow@saberuk.com> | 2014-08-25 13:04:17 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2014-10-25 02:57:51 +0100 |
commit | a49fd4cba6a44334eb5a39c6fbe8f6cebd55d0c7 (patch) | |
tree | 706c35ce73e092c9e3b032d3cf037f5d2da1900c | |
parent | 0035820e13a915a3bf1a440fcedf8ce25fe37a22 (diff) |
Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.
This is a modified version of 690c372. Fixes #905.
-rw-r--r-- | make/utilities.pm | 9 | ||||
-rw-r--r-- | src/modules/extra/m_ssl_gnutls.cpp | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/make/utilities.pm b/make/utilities.pm index 42dd6b547..ae16ce3dc 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -319,6 +319,15 @@ sub translate_functions($$) die "Developers should no longer use backticks in configuration macros. Please use exec() and eval() macros instead. Offending line: $line (In module: $module)"; } + if ($line =~ /if(gt|lt)\("(.+?)","(.+?)"\)/) { + chomp(my $result = `$2 2>/dev/null`); + if (($1 eq 'gt' && $result le $3) || ($1 eq 'lt' && $result ge $3)) { + $line = substr $line, 0, $-[0]; + } else { + $line =~ s/if$1\("$2","$3"\)//; + } + } + if ($line =~ /ifuname\(\!"(\w+)"\)/) { my $uname = $1; diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 228ceb994..3b67a6180 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -22,9 +22,6 @@ #include "inspircd.h" -#ifndef _WIN32 -#include <gcrypt.h> -#endif #include <gnutls/gnutls.h> #include <gnutls/x509.h> #include "ssl.h" @@ -35,8 +32,8 @@ #endif /* $ModDesc: Provides SSL support for clients */ -/* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") exec("libgcrypt-config --cflags") */ -/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") exec("libgcrypt-config --libs") */ +/* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") iflt("pkg-config --modversion gnutls","2.12") exec("libgcrypt-config --cflags") */ +/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") iflt("pkg-config --modversion gnutls","2.12") exec("libgcrypt-config --libs") */ /* $NoPedantic */ #ifndef GNUTLS_VERSION_MAJOR @@ -55,7 +52,7 @@ typedef gnutls_certificate_credentials_t gnutls_certificate_credentials; typedef gnutls_dh_params_t gnutls_dh_params; #endif -#if (defined(_WIN32) && (GNUTLS_VERSION_MAJOR > 2 || (GNUTLS_VERSION_MAJOR == 2 && GNUTLS_VERSION_MINOR >= 12))) +#if (GNUTLS_VERSION_MAJOR > 2 || (GNUTLS_VERSION_MAJOR == 2 && GNUTLS_VERSION_MINOR >= 12)) # define GNUTLS_HAS_RND # include <gnutls/crypto.h> #else |