summaryrefslogtreecommitdiff
path: root/sbin/iked/config.c
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@cvs.openbsd.org>2016-06-01 11:16:42 +0000
committerPatrick Wildt <patrick@cvs.openbsd.org>2016-06-01 11:16:42 +0000
commit4575b37ca8b82872b7a79df6fc7fbe1c9c06d09e (patch)
treee846e0590421658ee857868b589ee09854279133 /sbin/iked/config.c
parentc2ffcb36fc8b8cd9ae7e69149b01f49ff053623b (diff)
Implement a second address pool specifically for IPv6, so that
clients can be given an IPv4 and IPv6 address at the same time, thus enabling dual stack usage. ok markus@ mikeb@
Diffstat (limited to 'sbin/iked/config.c')
-rw-r--r--sbin/iked/config.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sbin/iked/config.c b/sbin/iked/config.c
index 16502585894..c28c68f91a7 100644
--- a/sbin/iked/config.c
+++ b/sbin/iked/config.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: config.c,v 1.41 2015/12/07 12:46:37 reyk Exp $ */
+/* $OpenBSD: config.c,v 1.42 2016/06/01 11:16:41 patrick Exp $ */
/*
* Copyright (c) 2010-2013 Reyk Floeter <reyk@openbsd.org>
@@ -104,6 +104,10 @@ config_free_sa(struct iked *env, struct iked_sa *sa)
(void)RB_REMOVE(iked_addrpool, &env->sc_addrpool, sa);
free(sa->sa_addrpool);
}
+ if (sa->sa_addrpool6) {
+ (void)RB_REMOVE(iked_addrpool6, &env->sc_addrpool6, sa);
+ free(sa->sa_addrpool6);
+ }
if (sa->sa_policy) {
TAILQ_REMOVE(&sa->sa_policy->pol_sapeers, sa, sa_peer_entry);