version 1.17.2.2, 2002/10/11 14:53:06 |
version 1.18, 2001/12/27 18:22:16 |
|
|
/* Ignore leading whitespace */ |
/* Ignore leading whitespace */ |
if (*arg == '\0') |
if (*arg == '\0') |
arg = strdelim(&cp); |
arg = strdelim(&cp); |
if (!arg || !*arg || *arg == '#') |
if (!*arg || *arg == '#') |
return 0; |
return 0; |
|
|
/* time */ |
/* time */ |
|
|
return (1); |
return (1); |
|
|
failclean: |
failclean: |
BN_clear_free(dhg->g); |
BN_free(dhg->g); |
BN_clear_free(dhg->p); |
BN_free(dhg->p); |
fail: |
fail: |
error("Bad prime description in line %d", linenum); |
error("Bad prime description in line %d", linenum); |
return (0); |
return (0); |
|
|
linenum++; |
linenum++; |
if (!parse_prime(linenum, line, &dhg)) |
if (!parse_prime(linenum, line, &dhg)) |
continue; |
continue; |
BN_clear_free(dhg.g); |
BN_free(dhg.g); |
BN_clear_free(dhg.p); |
BN_free(dhg.p); |
|
|
if (dhg.size > max || dhg.size < min) |
if (dhg.size > max || dhg.size < min) |
continue; |
continue; |
|
|
if ((dhg.size > max || dhg.size < min) || |
if ((dhg.size > max || dhg.size < min) || |
dhg.size != best || |
dhg.size != best || |
linenum++ != which) { |
linenum++ != which) { |
BN_clear_free(dhg.g); |
BN_free(dhg.g); |
BN_clear_free(dhg.p); |
BN_free(dhg.p); |
continue; |
continue; |
} |
} |
break; |
break; |
|
|
BN_num_bits(dh->p), 2*need); |
BN_num_bits(dh->p), 2*need); |
do { |
do { |
if (dh->priv_key != NULL) |
if (dh->priv_key != NULL) |
BN_clear_free(dh->priv_key); |
BN_free(dh->priv_key); |
if ((dh->priv_key = BN_new()) == NULL) |
if ((dh->priv_key = BN_new()) == NULL) |
fatal("dh_gen_key: BN_new failed"); |
fatal("dh_gen_key: BN_new failed"); |
/* generate a 2*need bits random private exponent */ |
/* generate a 2*need bits random private exponent */ |