=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/moduli.c,v retrieving revision 1.1.4.2 retrieving revision 1.2 diff -u -r1.1.4.2 -r1.2 --- src/usr.bin/ssh/moduli.c 2004/03/04 18:18:15 1.1.4.2 +++ src/usr.bin/ssh/moduli.c 2003/11/21 11:57:03 1.2 @@ -1,4 +1,4 @@ -/* $OpenBSD: moduli.c,v 1.1.4.2 2004/03/04 18:18:15 brad Exp $ */ +/* $OpenBSD: moduli.c,v 1.2 2003/11/21 11:57:03 djm Exp $ */ /* * Copyright 1994 Phil Karn * Copyright 1996-1998, 2003 William Allen Simpson @@ -44,7 +44,16 @@ #include + /* + * Debugging defines + */ + +/* define DEBUG_LARGE 1 */ +/* define DEBUG_SMALL 1 */ +/* define DEBUG_TEST 1 */ + +/* * File output defines */ @@ -72,10 +81,9 @@ #define QTEST_JACOBI (0x08) #define QTEST_ELLIPTIC (0x10) -/* - * Size: decimal. +/* Size: decimal. * Specifies the number of the most significant bit (0 to M). - * WARNING: internally, usually 1 to N. + ** WARNING: internally, usually 1 to N. */ #define QSIZE_MINIMUM (511) @@ -170,7 +178,7 @@ { u_int32_t r, u; - debug3("sieve_large %u", s); + debug2("sieve_large %u", s); largetries++; /* r = largebase mod s */ r = BN_mod_word(largebase, s); @@ -475,7 +483,6 @@ debug2("%10u: known composite", count_in); continue; } - /* tries */ in_tries = strtoul(cp, &cp, 10); @@ -500,20 +507,13 @@ in_size += 1; generator_known = 0; break; - case QTYPE_UNSTRUCTURED: - case QTYPE_SAFE: - case QTYPE_SCHNOOR: - case QTYPE_STRONG: - case QTYPE_UNKNOWN: + default: debug2("%10u: (%u)", count_in, in_type); a = p; BN_hex2bn(&a, cp); /* q = (p-1) / 2 */ BN_rshift(q, p, 1); break; - default: - debug2("Unknown prime type"); - break; } /* @@ -533,7 +533,6 @@ in_tries += trials; else in_tries = trials; - /* * guess unknown generator */ @@ -545,8 +544,9 @@ else { u_int32_t r = BN_mod_word(p, 10); - if (r == 3 || r == 7) + if (r == 3 || r == 7) { generator_known = 5; + } } } /* @@ -559,15 +559,6 @@ continue; } - /* - * Primes with no known generator are useless for DH, so - * skip those. - */ - if (generator_known == 0) { - debug2("%10u: no known generator", count_in); - continue; - } - count_possible++; /* @@ -578,7 +569,7 @@ * vast majority of composite q's. */ if (BN_is_prime(q, 1, NULL, ctx, NULL) <= 0) { - debug("%10u: q failed first possible prime test", + debug2("%10u: q failed first possible prime test", count_in); continue; } @@ -591,7 +582,7 @@ * doesn't hurt to specify a high iteration count. */ if (!BN_is_prime(p, trials, NULL, ctx, NULL)) { - debug("%10u: p is not prime", count_in); + debug2("%10u: p is not prime", count_in); continue; } debug("%10u: p is almost certainly prime", count_in);