aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-07-26 15:45:49 +0200
committerMartin Willi <martin@revosec.ch>2012-07-26 15:45:49 +0200
commit777bcdc0d5c96ee8036f2aa417fd455852f4ef8d (patch)
tree724181fc293a3b4bf68a6391625d9caa02460b9b /src
parent8b560a45659f7ee3b839d71a07c0fefaf78dae36 (diff)
downloadstrongswan-777bcdc0d5c96ee8036f2aa417fd455852f4ef8d.tar.bz2
strongswan-777bcdc0d5c96ee8036f2aa417fd455852f4ef8d.tar.xz
Don't include acquiring packet traffic selectors in IKEv1
As we only can negotiate a single TS in IKEv1, don't prepend the triggering packet TS, as we do in IKEv2. Otherwise we don't establish the TS of the configuration, but only that of the triggering packet. Fixes #207.
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/trap_manager.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libcharon/sa/trap_manager.c b/src/libcharon/sa/trap_manager.c
index e03e30695..b3d9e1597 100644
--- a/src/libcharon/sa/trap_manager.c
+++ b/src/libcharon/sa/trap_manager.c
@@ -290,6 +290,11 @@ METHOD(trap_manager_t, acquire, void,
{
ike_sa->set_peer_cfg(ike_sa, peer);
}
+ if (ike_sa->get_version(ike_sa) == IKEV1)
+ { /* in IKEv1, don't prepend the acquiring packet TS, as we only
+ * have a single TS that we can establish in a Quick Mode. */
+ src = dst = NULL;
+ }
if (ike_sa->initiate(ike_sa, child, reqid, src, dst) != DESTROY_ME)
{
/* make sure the entry is still there */