… | |
… | |
277 | } |
277 | } |
278 | |
278 | |
279 | free (fname); |
279 | free (fname); |
280 | } |
280 | } |
281 | |
281 | |
282 | if (!::thisnode || !strcmp (node->nodename, ::thisnode)) |
282 | if (::thisnode && !strcmp (node->nodename, ::thisnode)) |
283 | thisnode = node; |
283 | thisnode = node; |
284 | } |
284 | } |
285 | else if (!strcmp (var, "private-key")) |
285 | else if (!strcmp (var, "private-key")) |
286 | prikeyfile = strdup (val); |
286 | prikeyfile = strdup (val); |
287 | else if (!strcmp (var, "ifpersist")) |
287 | else if (!strcmp (var, "ifpersist")) |
… | |
… | |
421 | |
421 | |
422 | if (need_keys) |
422 | if (need_keys) |
423 | exit (EXIT_FAILURE); |
423 | exit (EXIT_FAILURE); |
424 | } |
424 | } |
425 | |
425 | |
|
|
426 | if (need_keys && ::thisnode |
426 | if (need_keys && rsa_key && thisnode && thisnode->rsa_key) |
427 | && rsa_key && thisnode && thisnode->rsa_key) |
427 | if (BN_cmp (rsa_key->n, thisnode->rsa_key->n) != 0 |
428 | if (BN_cmp (rsa_key->n, thisnode->rsa_key->n) != 0 |
428 | || BN_cmp (rsa_key->e, thisnode->rsa_key->e) != 0) |
429 | || BN_cmp (rsa_key->e, thisnode->rsa_key->e) != 0) |
429 | { |
430 | { |
430 | slog (L_NOTICE, _("private hostkey and public node key mismatch: is '%s' the correct node?"), ::thisnode); |
431 | slog (L_NOTICE, _("private hostkey and public node key mismatch: is '%s' the correct node?"), ::thisnode); |
431 | exit (EXIT_FAILURE); |
432 | exit (EXIT_FAILURE); |