diff options
author | Martin Willi <martin@revosec.ch> | 2011-06-28 17:19:20 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-06-28 17:19:20 +0200 |
commit | 6a5c8ee7a53d3652bd95eeb97a77c2d18b7737d4 (patch) | |
tree | b41e5c84751ac982c825bcf59693dd79772335a2 /src/libcharon | |
parent | 06356a29810a216be8d3cc582a39b987f7e3115a (diff) | |
download | strongswan-6a5c8ee7a53d3652bd95eeb97a77c2d18b7737d4.tar.bz2 strongswan-6a5c8ee7a53d3652bd95eeb97a77c2d18b7737d4.tar.xz |
Initialize trap_manager listener with INIT macro, too
Diffstat (limited to 'src/libcharon')
-rw-r--r-- | src/libcharon/sa/trap_manager.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/libcharon/sa/trap_manager.c b/src/libcharon/sa/trap_manager.c index 4cefb35d7..bb5c3f0b5 100644 --- a/src/libcharon/sa/trap_manager.c +++ b/src/libcharon/sa/trap_manager.c @@ -155,8 +155,8 @@ METHOD(trap_manager_t, install, u_int32_t, other->destroy(other); /* while we don't know the finally negotiated protocol (ESP|AH), we - * could iterate all proposals for a best guest (TODO). But as we - * support ESP only for now, we set here. */ + * could iterate all proposals for a best guess (TODO). But as we + * support ESP only for now, we set it here. */ child_sa->set_protocol(child_sa, PROTO_ESP); child_sa->set_mode(child_sa, child->get_mode(child)); status = child_sa->add_policies(child_sa, my_ts, other_ts); @@ -375,15 +375,16 @@ trap_manager_t *trap_manager_create(void) .acquire = _acquire, .destroy = _destroy, }, + .listener = { + .traps = this, + .listener = { + .ike_state_change = _ike_state_change, + .child_state_change = _child_state_change, + }, + }, .traps = linked_list_create(), .lock = rwlock_create(RWLOCK_TYPE_DEFAULT), ); - - /* register listener for IKE state changes */ - this->listener.traps = this; - memset(&this->listener.listener, 0, sizeof(listener_t)); - this->listener.listener.ike_state_change = _ike_state_change; - this->listener.listener.child_state_change = _child_state_change; charon->bus->add_listener(charon->bus, &this->listener.listener); return &this->public; |