X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/b817bfc642225b8c3c0b6a7e42d1fb949b61a606..f94b972d1c0389e4e9203cc9919ceaadbe655b61:/dh-param.c diff --git a/dh-param.c b/dh-param.c index 2e31c83..5ecb3cb 100644 --- a/dh-param.c +++ b/dh-param.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: dh-param.c,v 1.2 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Reading Diffie-Hellman parameters * @@ -78,7 +78,7 @@ fail: #include "fibrand.h" -int main(void) +int main(int argc, char *argv[]) { const pentry *pe; const char *e; @@ -86,24 +86,31 @@ int main(void) grand *gr; gr = fibrand_create(0); - fputs("checking standard prime fields: ", stdout); + fputs("checking standard prime fields...\n", stdout); for (pe = ptab; pe->name; pe++) { dh_param dp; group *g; getinfo(&dp, pe->data); + printf(" %s: ", pe->name); g = group_prime(&dp); + if (mp_bits(dp.q) > 2048 && + (!argv[1] || strcmp(argv[1], "keen") != 0)) { + fputs("skipping\n", stdout); + continue; + } + fflush(stdout); e = G_CHECK(g, gr); G_DESTROYGROUP(g); dh_paramfree(&dp); if (e) { - fprintf(stderr, "\n*** group %s fails: %s\n", pe->name, e); + printf("fails: %s\n", e); ok = 0; - } - putchar('.'); - fflush(stdout); + } else + fputs("ok\n", stdout); } gr->ops->destroy(gr); - fputs(ok ? " ok\n" : " failed\n", stdout); + if (ok) + fputs("all ok\n", stdout); return (!ok); }