diff options
author | Martin Willi <martin@strongswan.org> | 2009-11-02 10:44:11 +0100 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-11-12 13:37:06 +0000 |
commit | 20d144e72fd96569c59434e81f9378b4ad2b353f (patch) | |
tree | fb6c51522aee07bb3b3863773c4e113cdd26fd31 /src | |
parent | ee3d4ef8016c151a0e19dc91bd0445f4aac1e2ef (diff) | |
download | strongswan-20d144e72fd96569c59434e81f9378b4ad2b353f.tar.bz2 strongswan-20d144e72fd96569c59434e81f9378b4ad2b353f.tar.xz |
Invoke message hook before generation, allowing plugins to mangle it
Diffstat (limited to 'src')
-rw-r--r-- | src/charon/sa/task_manager.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/charon/sa/task_manager.c b/src/charon/sa/task_manager.c index d12b291cd..3fac12552 100644 --- a/src/charon/sa/task_manager.c +++ b/src/charon/sa/task_manager.c @@ -454,6 +454,7 @@ static status_t build_request(private_task_manager_t *this) /* update exchange type if a task changed it */ this->initiating.type = message->get_exchange_type(message); + charon->bus->message(charon->bus, message, FALSE); status = this->ike_sa->generate_message(this->ike_sa, message, &this->initiating.packet); if (status != SUCCESS) @@ -465,8 +466,6 @@ static status_t build_request(private_task_manager_t *this) charon->bus->ike_updown(charon->bus, this->ike_sa, FALSE); return DESTROY_ME; } - - charon->bus->message(charon->bus, message, FALSE); message->destroy(message); return retransmit(this, this->initiating.mid); @@ -644,9 +643,9 @@ static status_t build_response(private_task_manager_t *this, message_t *request) /* message complete, send it */ DESTROY_IF(this->responding.packet); this->responding.packet = NULL; + charon->bus->message(charon->bus, message, FALSE); status = this->ike_sa->generate_message(this->ike_sa, message, &this->responding.packet); - charon->bus->message(charon->bus, message, FALSE); message->destroy(message); if (status != SUCCESS) { |