Fix to unload gost dynamic library module for leak test.

git-svn-id: file:///svn/unbound/trunk@2161 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2010-06-22 12:27:19 +00:00
parent afc09709ad
commit 4ed18b1108
8 changed files with 32 additions and 1 deletions

View file

@ -131,6 +131,9 @@
/* Define to 1 if you have the `kill' function. */
#undef HAVE_KILL
/* Define to 1 if you have the `ldns_key_EVP_unload_gost' function. */
#undef HAVE_LDNS_KEY_EVP_UNLOAD_GOST
/* Define to 1 if you have the <ldns/ldns.h> header file. */
#undef HAVE_LDNS_LDNS_H

11
configure vendored
View file

@ -16360,6 +16360,17 @@ if test "x$ac_cv_func_ldns_key_EVP_load_gost_id" = x""yes; then :
fi
for ac_func in ldns_key_EVP_unload_gost
do :
ac_fn_c_check_func "$LINENO" "ldns_key_EVP_unload_gost" "ac_cv_func_ldns_key_EVP_unload_gost"
if test "x$ac_cv_func_ldns_key_EVP_unload_gost" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LDNS_KEY_EVP_UNLOAD_GOST 1
_ACEOF
fi
done
else
ac_cv_func_ldns_key_EVP_load_gost_id="yes"
fi

View file

@ -639,6 +639,7 @@ if test "$use_ldns_builtin" = "no"; then
AC_CHECK_FUNC(ldns_b32_ntop_extended_hex)
if test x$use_gost = xyes; then
AC_CHECK_FUNC(ldns_key_EVP_load_gost_id)
AC_CHECK_FUNCS([ldns_key_EVP_unload_gost])
else
ac_cv_func_ldns_key_EVP_load_gost_id="yes"
fi

View file

@ -532,6 +532,9 @@ daemon_delete(struct daemon* daemon)
ub_c_lex_destroy();
#endif
/* libcrypto cleanup */
#if defined(USE_GOST) && defined(HAVE_LDNS_KEY_EVP_UNLOAD_GOST)
ldns_key_EVP_unload_gost();
#endif
#if HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS
sk_SSL_COMP_free(comp_meth);
#endif

View file

@ -1,5 +1,6 @@
22 June 2010: Wouter
- Unbound reports libev or libevent correctly in logs in verbose mode.
- Fix to unload gost dynamic library module for leak testing.
18 June 2010: Wouter
- iana portlist updated.

Binary file not shown.

View file

@ -339,8 +339,13 @@ main(int argc, char* argv[])
fake_event_cleanup();
for(c=1; c<pass_argc; c++)
free(pass_argv[c]);
if(res == 0)
if(res == 0) {
log_info("Testbound Exit Success");
#ifdef HAVE_PTHREAD
/* dlopen frees its thread state (dlopen of gost engine) */
pthread_exit(NULL);
#endif
}
return res;
}

View file

@ -522,6 +522,9 @@ main(int argc, char* argv[])
msgparse_test();
checklock_stop();
printf("%d checks ok.\n", testcount);
#if defined(USE_GOST) && defined(HAVE_LDNS_KEY_EVP_UNLOAD_GOST)
ldns_key_EVP_unload_gost();
#endif
#ifdef HAVE_OPENSSL_CONFIG
EVP_cleanup();
ENGINE_cleanup();
@ -531,5 +534,9 @@ main(int argc, char* argv[])
ERR_remove_state(0);
ERR_free_strings();
RAND_cleanup();
#ifdef HAVE_PTHREAD
/* dlopen frees its thread specific state */
pthread_exit(NULL);
#endif
return 0;
}