aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/sa/ikev1/phase1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/sa/ikev1/phase1.c')
-rw-r--r--src/libcharon/sa/ikev1/phase1.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcharon/sa/ikev1/phase1.c b/src/libcharon/sa/ikev1/phase1.c
index 791f72827..fea2f2c60 100644
--- a/src/libcharon/sa/ikev1/phase1.c
+++ b/src/libcharon/sa/ikev1/phase1.c
@@ -611,6 +611,20 @@ METHOD(phase1_t, has_virtual_ip, bool,
return found;
}
+METHOD(phase1_t, has_pool, bool,
+ private_phase1_t *this, peer_cfg_t *peer_cfg)
+{
+ enumerator_t *enumerator;
+ bool found = FALSE;
+ char *pool;
+
+ enumerator = peer_cfg->create_pool_enumerator(peer_cfg);
+ found = enumerator->enumerate(enumerator, &pool);
+ enumerator->destroy(enumerator);
+
+ return found;
+}
+
METHOD(phase1_t, save_sa_payload, bool,
private_phase1_t *this, message_t *message)
{
@@ -751,6 +765,7 @@ phase1_t *phase1_create(ike_sa_t *ike_sa, bool initiator)
.get_id = _get_id,
.select_config = _select_config,
.has_virtual_ip = _has_virtual_ip,
+ .has_pool = _has_pool,
.verify_auth = _verify_auth,
.build_auth = _build_auth,
.save_sa_payload = _save_sa_payload,