summaryrefslogtreecommitdiff
path: root/cipher/dsa.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2008-09-12 14:47:28 +0000
committerWerner Koch <wk@gnupg.org>2008-09-12 14:47:28 +0000
commitce93e7a99301293d45331c01a888d67c8a098101 (patch)
tree45a651e2215fd58c99d93866fbec12d3e787170e /cipher/dsa.c
parent89ad60d0181758ac374a412cffd4214e5d323b57 (diff)
downloadlibgcrypt-ce93e7a99301293d45331c01a888d67c8a098101.tar.gz
Only run required tests during power-up self-test.
Enter error state after a failed key generation tests.
Diffstat (limited to 'cipher/dsa.c')
-rw-r--r--cipher/dsa.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cipher/dsa.c b/cipher/dsa.c
index e16d008e..6b63d1d7 100644
--- a/cipher/dsa.c
+++ b/cipher/dsa.c
@@ -342,6 +342,7 @@ generate (DSA_secret_key *sk, unsigned int nbits, unsigned int qbits,
gcry_mpi_release (sk->g); sk->g = NULL;
gcry_mpi_release (sk->y); sk->y = NULL;
gcry_mpi_release (sk->x); sk->x = NULL;
+ fips_signal_error ("self-test after key generation failed");
return GPG_ERR_SELFTEST_FAILED;
}
return 0;
@@ -703,10 +704,12 @@ selftests_dsa (selftest_report_func_t report)
/* Run a full self-test for ALGO and return 0 on success. */
static gpg_err_code_t
-run_selftests (int algo, selftest_report_func_t report)
+run_selftests (int algo, int extended, selftest_report_func_t report)
{
gpg_err_code_t ec;
+ (void)extended;
+
switch (algo)
{
case GCRY_PK_DSA: