diff options
author | Martin Willi <martin@revosec.ch> | 2012-08-24 12:31:24 +0000 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-08-30 16:43:42 +0200 |
commit | 497ce2cf51d3e80302e24e5bdf7df566d80b4828 (patch) | |
tree | 311e91603cae7981db1ace7009a0e880cb87eed5 /src/libcharon/sa/ikev1/phase1.c | |
parent | 101d26babeae0a6444bf7a355cbd3fb2e7497fae (diff) | |
download | strongswan-497ce2cf51d3e80302e24e5bdf7df566d80b4828.tar.bz2 strongswan-497ce2cf51d3e80302e24e5bdf7df566d80b4828.tar.xz |
Support multiple address pools configured on a peer_cfg
Diffstat (limited to 'src/libcharon/sa/ikev1/phase1.c')
-rw-r--r-- | src/libcharon/sa/ikev1/phase1.c | 15 |
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, |