A peer sends both his local id and remote id he expects us to be. So far we
authorpatrick <patrick@openbsd.org>
Fri, 26 Nov 2021 16:22:44 +0000 (16:22 +0000)
committerpatrick <patrick@openbsd.org>
Fri, 26 Nov 2021 16:22:44 +0000 (16:22 +0000)
commite3f5cf2ee26929d75dc2df9e86d97c36b2a94268
treebd329ad47b826766259164c872b85c19449a9102
parentacf1bec55e9ad79e5385eab3e58702adcd02a571
A peer sends both his local id and remote id he expects us to be.  So far we
have only looked at the peer's local id, so that we can find a policy with the
matching dstid set.  Hence dstid is involved in the decision making.  While we
do send out our local id, which the peer will use to verify his policies, we
do not yet make a decision based on the id the peer expects us to have.  If you
have two policies configured with only srcid set, we will always pick the same.
To be able to choose a policy that matches the peer's expectations, save the
local id the peer expects us to have and use it during policy lookup.

ok tobhe@
sbin/iked/iked.h
sbin/iked/ikev2_msg.c
sbin/iked/ikev2_pld.c
sbin/iked/policy.c