From: Nikos Mavrogiannopoulos Date: Thu, 30 Oct 2003 19:03:48 +0000 (+0000) Subject: added version check against libtasn1 X-Git-Tag: gnutls_0_9_95~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=51ecb3e44227b3224ebda11a0ded9b0eddb240d7;p=thirdparty%2Fgnutls.git added version check against libtasn1 --- diff --git a/configure.in b/configure.in index 6d79d43ed5..9f8405c265 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,9 @@ GNUTLS_VERSION=$GNUTLS_MAJOR_VERSION.$GNUTLS_MINOR_VERSION.$GNUTLS_MICRO_VERSION AC_DEFINE_UNQUOTED(GNUTLS_VERSION, "$GNUTLS_VERSION", [version of gnutls]) GNUTLS_GCRYPT_VERSION=1.1.44 -AC_DEFINE_UNQUOTED(GNUTLS_GCRYPT_VERSION, "$GNUTLS_GCRYPT_VERSION", [version of gnutls]) +GNUTLS_LIBTASN1_VERSION=0.2.5 +AC_DEFINE_UNQUOTED(GNUTLS_GCRYPT_VERSION, "$GNUTLS_GCRYPT_VERSION", [version of gcrypt]) +AC_DEFINE_UNQUOTED(GNUTLS_LIBTASN1_VERSION, "$GNUTLS_LIBTASN1_VERSION", [version of libtasn1]) AM_INIT_AUTOMAKE(gnutls, $GNUTLS_VERSION, [version of gnutls]) AM_CONFIG_HEADER(config.h) diff --git a/lib/gnutls_errors.c b/lib/gnutls_errors.c index e56eb26896..9a59bf7fdf 100644 --- a/lib/gnutls_errors.c +++ b/lib/gnutls_errors.c @@ -125,6 +125,9 @@ static gnutls_error_entry error_algorithms[] = { GNUTLS_E_LIBRARY_VERSION_MISMATCH, 1 ), ERROR_ENTRY("The gcrypt library version is too old.", GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY, 1 ), + + ERROR_ENTRY("The tasn1 library version is too old.", + GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY, 1 ), ERROR_ENTRY("The specified GnuPG TrustDB version is not supported. TrustDB v4 is supported.", GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED, 1 ), ERROR_ENTRY("The initialization of LZO has failed.", GNUTLS_E_LZO_INIT_FAILED, 1 ), diff --git a/lib/gnutls_errors_int.h b/lib/gnutls_errors_int.h index 30dc5e1376..0642bc064c 100644 --- a/lib/gnutls_errors_int.h +++ b/lib/gnutls_errors_int.h @@ -119,6 +119,7 @@ #define GNUTLS_E_BASE64_ENCODING_ERROR -201 #define GNUTLS_E_INCOMPATIBLE_GCRYPT_LIBRARY -202 +#define GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY -203 #define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 diff --git a/lib/gnutls_global.c b/lib/gnutls_global.c index 0af34fa73d..f4d59e7c76 100644 --- a/lib/gnutls_global.c +++ b/lib/gnutls_global.c @@ -201,6 +201,11 @@ int gnutls_global_init( void) * This should not deal with files in the final * version. */ + + if (asn1_check_version(GNUTLS_LIBTASN1_VERSION)==NULL) { + gnutls_assert(); + return GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY; + } res=asn1_array2tree( pkix_asn1_tab, &_gnutls_pkix1_asn, NULL); if (res != ASN1_SUCCESS) {