int kx_init(keyexch *kx, peer *p, keyset **ks, unsigned f)
{
- if ((kx->kpriv = km_findpriv(tag_priv)) == 0) goto fail_0;
+ if ((kx->kpriv = km_findpriv(p_privtag(p))) == 0) goto fail_0;
if ((kx->kpub = km_findpub(p_tag(p))) == 0) goto fail_1;
- if (!km_samealgsp(kx->kpriv, kx->kpub)) {
- a_warn("KX", "?PEER", kx->p, "algorithms-mismatch",
- "local-private-key", "%s", tag_priv,
+ if (!group_samep(kx->kpriv->g, kx->kpub->g)) {
+ a_warn("KX", "?PEER", kx->p, "group-mismatch",
+ "local-private-key", "%s", p_privtag(p),
"peer-public-key", "%s", p_tag(p),
A_END);
goto fail_2;