Merge branch 'ikev1-clean' into ikev1-master
Conflicts: configure.in man/ipsec.conf.5.in src/libcharon/daemon.c src/libcharon/plugins/eap_ttls/eap_ttls_peer.c src/libcharon/plugins/eap_radius/eap_radius_accounting.c src/libcharon/plugins/eap_radius/eap_radius_forward.c src/libcharon/plugins/farp/farp_listener.c src/libcharon/sa/ike_sa.c src/libcharon/sa/keymat.c src/libcharon/sa/task_manager.c src/libcharon/sa/trap_manager.c src/libstrongswan/plugins/x509/x509_cert.c src/libstrongswan/utils.h Applied lost changes of moved files keymat.c and task_manager.c. Updated listener_t.message hook signature in new plugins.
This commit is contained in:
@@ -284,26 +284,29 @@ METHOD(trap_manager_t, acquire, void,
|
||||
|
||||
ike_sa = charon->ike_sa_manager->checkout_by_config(
|
||||
charon->ike_sa_manager, peer);
|
||||
if (ike_sa->get_peer_cfg(ike_sa) == NULL)
|
||||
if (ike_sa)
|
||||
{
|
||||
ike_sa->set_peer_cfg(ike_sa, peer);
|
||||
}
|
||||
if (ike_sa->initiate(ike_sa, child, reqid, src, dst) != DESTROY_ME)
|
||||
{
|
||||
/* make sure the entry is still there */
|
||||
this->lock->read_lock(this->lock);
|
||||
if (this->traps->find_first(this->traps, NULL,
|
||||
(void**)&found) == SUCCESS)
|
||||
if (ike_sa->get_peer_cfg(ike_sa) == NULL)
|
||||
{
|
||||
found->ike_sa = ike_sa;
|
||||
ike_sa->set_peer_cfg(ike_sa, peer);
|
||||
}
|
||||
if (ike_sa->initiate(ike_sa, child, reqid, src, dst) != DESTROY_ME)
|
||||
{
|
||||
/* make sure the entry is still there */
|
||||
this->lock->read_lock(this->lock);
|
||||
if (this->traps->find_first(this->traps, NULL,
|
||||
(void**)&found) == SUCCESS)
|
||||
{
|
||||
found->ike_sa = ike_sa;
|
||||
}
|
||||
this->lock->unlock(this->lock);
|
||||
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
|
||||
}
|
||||
else
|
||||
{
|
||||
charon->ike_sa_manager->checkin_and_destroy(
|
||||
charon->ike_sa_manager, ike_sa);
|
||||
}
|
||||
this->lock->unlock(this->lock);
|
||||
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
|
||||
}
|
||||
else
|
||||
{
|
||||
charon->ike_sa_manager->checkin_and_destroy(
|
||||
charon->ike_sa_manager, ike_sa);
|
||||
}
|
||||
peer->destroy(peer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user