}
if (ph1_c->policy & (POLICY_XAUTH_RSASIG | POLICY_XAUTH_PSK) &&
- ph1_c->xauth_identity)
+ ph1_c->xauth_identity && !c->xauth_identity)
{
DBG(DBG_CONTROL,
DBG_log("inheriting XAUTH identity %Y", ph1_c->xauth_identity)
)
- DESTROY_IF(c->xauth_identity);
c->xauth_identity = ph1_c->xauth_identity->clone(ph1_c->xauth_identity);
}
* instantiate, carrying over authenticated peer ID
*/
host_t *vip = c->spd.that.host_srcip;
- identification_t *xauth_id = c->xauth_identity;
p = rw_instantiate(p, &c->spd.that.host_addr, md->sender_port
, his_net, c->spd.that.id);
}
if (c->policy & (POLICY_XAUTH_RSASIG | POLICY_XAUTH_PSK) &&
- xauth_id)
+ c->xauth_identity && !p->xauth_identity)
{
DBG(DBG_CONTROL,
- DBG_log("inheriting XAUTH identity %Y", xauth_id)
+ DBG_log("inheriting XAUTH identity %Y", c->xauth_identity)
)
- DESTROY_IF(p->xauth_identity);
- p->xauth_identity = xauth_id->clone(xauth_id);
+ p->xauth_identity = c->xauth_identity->clone(c->xauth_identity);
}
}
}