diff options
author | Martin Willi <martin@revosec.ch> | 2014-02-11 09:49:44 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-06-16 15:59:17 +0200 |
commit | 7fc98a840b0f6fe0abace9b28db85234ca84b5ec (patch) | |
tree | fec1ae64c936d946a5752a6978af4e2901799837 /src/libcharon | |
parent | 9d257034d86c6ed47dbd0d6d0e0c6f618dd0a6af (diff) | |
download | strongswan-7fc98a840b0f6fe0abace9b28db85234ca84b5ec.tar.bz2 strongswan-7fc98a840b0f6fe0abace9b28db85234ca84b5ec.tar.xz |
ikev1: Invoke the assign_vips() bus hook for IKEv1 as well
Diffstat (limited to 'src/libcharon')
-rw-r--r-- | src/libcharon/bus/listeners/listener.h | 6 | ||||
-rw-r--r-- | src/libcharon/sa/ikev1/tasks/mode_config.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/libcharon/bus/listeners/listener.h b/src/libcharon/bus/listeners/listener.h index 57445df01..9eee72264 100644 --- a/src/libcharon/bus/listeners/listener.h +++ b/src/libcharon/bus/listeners/listener.h @@ -192,10 +192,10 @@ struct listener_t { narrow_hook_t type, linked_list_t *local, linked_list_t *remote); /** - * Virtual IP address assignment hook + * Virtual IP address assignment hook. * - * This hook gets invoked when a a Virtual IP address is assigned to an - * IKE_SA (assign = TRUE) and again when it is released (assign = FALSE) + * This hook gets invoked after virtual IPs have been assigned to a peer + * for a specific IKE_SA, and again before they get released. * * @param ike_sa IKE_SA the VIPs are assigned to * @param assign TRUE if assigned to IKE_SA, FALSE if released diff --git a/src/libcharon/sa/ikev1/tasks/mode_config.c b/src/libcharon/sa/ikev1/tasks/mode_config.c index d678f1942..9a33f49f6 100644 --- a/src/libcharon/sa/ikev1/tasks/mode_config.c +++ b/src/libcharon/sa/ikev1/tasks/mode_config.c @@ -393,6 +393,8 @@ static status_t build_set(private_mode_config_t *this, message_t *message) any4->destroy(any4); any6->destroy(any6); + charon->bus->assign_vips(charon->bus, this->ike_sa, TRUE); + /* query registered providers for additional attributes to include */ pools = linked_list_create_from_enumerator( config->create_pool_enumerator(config)); @@ -502,6 +504,8 @@ static status_t build_reply(private_mode_config_t *this, message_t *message) } enumerator->destroy(enumerator); + charon->bus->assign_vips(charon->bus, this->ike_sa, TRUE); + /* query registered providers for additional attributes to include */ enumerator = hydra->attributes->create_responder_enumerator( hydra->attributes, pools, id, vips); |