(_krb5_dh_group_ok): return DH group name on success.
(krb5_get_init_creds_opt_set_pkinit): use moduli file if it exists git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16140 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -2796,14 +2796,17 @@ _krb5_parse_moduli(krb5_context context, const char *file,
|
|||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_dh_group_ok(krb5_context context, unsigned long bits,
|
_krb5_dh_group_ok(krb5_context context, unsigned long bits,
|
||||||
heim_integer *p, heim_integer *g, heim_integer *q,
|
heim_integer *p, heim_integer *g, heim_integer *q,
|
||||||
struct krb5_dh_moduli **moduli)
|
struct krb5_dh_moduli **moduli,
|
||||||
|
char **name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; moduli[i] != NULL; i++) {
|
for (i = 0; moduli[i] != NULL; i++) {
|
||||||
if (heim_integer_cmp(&moduli[i]->g, g) == 0 &&
|
if (heim_integer_cmp(&moduli[i]->g, g) == 0 &&
|
||||||
heim_integer_cmp(&moduli[i]->p, p) == 0 &&
|
heim_integer_cmp(&moduli[i]->p, p) == 0 &&
|
||||||
(moduli[i]->q->length == 0 || heim_integer_cmp(&moduli[i]->q, q) == 0))
|
(moduli[i]->q.length == 0 || heim_integer_cmp(&moduli[i]->q, q) == 0))
|
||||||
{
|
{
|
||||||
|
if (name)
|
||||||
|
*name = strdup(moduli[i]->name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2929,7 +2932,7 @@ krb5_get_init_creds_opt_set_pkinit(krb5_context context,
|
|||||||
moduli_file = krb5_config_get_string(context, NULL,
|
moduli_file = krb5_config_get_string(context, NULL,
|
||||||
"libdefaults", "moduli", NULL);
|
"libdefaults", "moduli", NULL);
|
||||||
|
|
||||||
ret = _krb5_parse_moduli(context, NULL,
|
ret = _krb5_parse_moduli(context, moduli_file,
|
||||||
&opt->private->pk_init_ctx->m);
|
&opt->private->pk_init_ctx->m);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
_krb5_get_init_creds_opt_free_pkinit(opt);
|
_krb5_get_init_creds_opt_free_pkinit(opt);
|
||||||
|
Reference in New Issue
Block a user