X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Ftls-gnu.c;h=23f8bd6adb01815b338254c8967bcac49a60d05d;hb=0ca0cf52fa9c635984937a3cc813d38fcdacd7ab;hp=c26a9bac6b551677acc7f1a12b91f0465a0652cf;hpb=36f12725ebda2bfd6ed4fe98b0eeaf1ce01f2604;p=exim.git diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c index c26a9bac6..23f8bd6ad 100644 --- a/src/src/tls-gnu.c +++ b/src/src/tls-gnu.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/tls-gnu.c,v 1.22 2009/10/14 13:52:48 nm4 Exp $ */ +/* $Cambridge: exim/src/src/tls-gnu.c,v 1.24 2009/11/16 19:50:37 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ /* This module provides TLS (aka SSL) support for Exim using the GnuTLS @@ -792,6 +792,18 @@ if (verify_requirement != VERIFY_NONE) gnutls_db_set_cache_expiration(session, ssl_session_timeout); +/* Reduce security in favour of increased compatibility, if the admin +decides to make that trade-off. */ +if (gnutls_compat_mode) + { +#if LIBGNUTLS_VERSION_NUMBER >= 0x020104 + DEBUG(D_tls) debug_printf("lowering GnuTLS security, compatibility mode\n"); + gnutls_session_enable_compatibility_mode(session); +#else + DEBUG(D_tls) debug_printf("Unable to set gnutls_compat_mode - GnuTLS version too old\n"); +#endif + } + DEBUG(D_tls) debug_printf("initialized GnuTLS session\n"); return session; } @@ -1314,8 +1326,10 @@ Returns: nothing void tls_version_report(FILE *f) { -fprintf(f, "GnuTLS compile-time version: %s\n", LIBGNUTLS_VERSION); -fprintf(f, "GnuTLS runtime version: %s\n", gnutls_check_version(NULL)); +fprintf(f, "Library version: GnuTLS: Compile: %s\n" + " Runtime: %s\n", + LIBGNUTLS_VERSION, + gnutls_check_version(NULL)); } /* End of tls-gnu.c */