aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2017-03-23 08:48:46 +0100
committerMartin Willi <martin@strongswan.org>2017-03-24 08:17:01 +0100
commit3610d7607e2193d8b088bcba4362f58297dbca0f (patch)
tree93a89bb806e5571cb3dd4608b6df835da3f72e6f /src/libcharon
parentdb12675ec45c9c9bfe5b6ae000a38c76bdf6aad5 (diff)
downloadstrongswan-3610d7607e2193d8b088bcba4362f58297dbca0f.tar.bz2
strongswan-3610d7607e2193d8b088bcba4362f58297dbca0f.tar.xz
addrblock: Narrow selectors when rekeying a CHILD_SA as original responder
If a the original responder narrows the selectors of its peer in addrblock, the peer gets a subset of that selectors. However, once the original responder initiates rekeying of that CHILD_SA, it sends the full selectors to the peer, and then narrows the received selectors locally for the installation, only. This is insufficient, as the peer ends up with wider selectors, sending traffic that the original responder will reject to the stricter IPsec policy. So additionally narrow the selectors when rekeying CHILD_SAs before sending the TS list to the peer.
Diffstat (limited to 'src/libcharon')
-rw-r--r--src/libcharon/plugins/addrblock/addrblock_narrow.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libcharon/plugins/addrblock/addrblock_narrow.c b/src/libcharon/plugins/addrblock/addrblock_narrow.c
index 97040aa34..3b3b72ff8 100644
--- a/src/libcharon/plugins/addrblock/addrblock_narrow.c
+++ b/src/libcharon/plugins/addrblock/addrblock_narrow.c
@@ -105,6 +105,7 @@ METHOD(listener_t, narrow, bool,
switch (type)
{
case NARROW_RESPONDER:
+ case NARROW_INITIATOR_PRE_AUTH:
case NARROW_INITIATOR_POST_AUTH:
case NARROW_INITIATOR_POST_NOAUTH:
narrow_addrblock(this, ike_sa, remote);