Added a non-blocking, skipping variant of IKE_SA enumerator
This commit is contained in:
@@ -228,7 +228,7 @@ static void rekey_segment(private_ha_cache_t *this, u_int segment)
|
||||
list = linked_list_create();
|
||||
|
||||
enumerator = charon->ike_sa_manager->create_enumerator(
|
||||
charon->ike_sa_manager);
|
||||
charon->ike_sa_manager, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
if (ike_sa->get_state(ike_sa) == IKE_ESTABLISHED &&
|
||||
|
||||
@@ -166,7 +166,8 @@ static void enable_disable(private_ha_segments_t *this, u_int segment,
|
||||
|
||||
if (changes)
|
||||
{
|
||||
enumerator = charon->ike_sa_manager->create_enumerator(charon->ike_sa_manager);
|
||||
enumerator = charon->ike_sa_manager->create_enumerator(
|
||||
charon->ike_sa_manager, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
if (ike_sa->get_state(ike_sa) != old)
|
||||
|
||||
@@ -632,7 +632,8 @@ static gboolean disconnect(NMVPNPlugin *plugin, GError **err)
|
||||
u_int id;
|
||||
|
||||
/* our ike_sa pointer might be invalid, lookup sa */
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
if (priv->ike_sa == ike_sa)
|
||||
|
||||
@@ -208,7 +208,8 @@ static void request_query_ikesa(xmlTextReaderPtr reader, xmlTextWriterPtr writer
|
||||
/* <ikesalist> */
|
||||
xmlTextWriterStartElement(writer, "ikesalist");
|
||||
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
ike_sa_id_t *id;
|
||||
@@ -394,7 +395,8 @@ static void request_control_terminate(xmlTextReaderPtr reader,
|
||||
enumerator_t *enumerator;
|
||||
ike_sa_t *ike_sa;
|
||||
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
if (streq(str, ike_sa->get_name(ike_sa)))
|
||||
|
||||
@@ -287,7 +287,8 @@ METHOD(stroke_control_t, terminate, void,
|
||||
|
||||
ike_list = linked_list_create();
|
||||
child_list = linked_list_create();
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
child_sa_t *child_sa;
|
||||
@@ -366,7 +367,8 @@ METHOD(stroke_control_t, rekey, void,
|
||||
DBG1(DBG_CFG, "error parsing specifier string");
|
||||
return;
|
||||
}
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
child_sa_t *child_sa;
|
||||
@@ -442,7 +444,8 @@ METHOD(stroke_control_t, terminate_srcip, void,
|
||||
chunk_end = end->get_address(end);
|
||||
}
|
||||
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
vip = ike_sa->get_virtual_ip(ike_sa, FALSE);
|
||||
@@ -493,7 +496,8 @@ METHOD(stroke_control_t, purge_ike, void,
|
||||
info.level = msg->output_verbosity;
|
||||
|
||||
list = linked_list_create();
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
iterator = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
|
||||
@@ -530,7 +530,8 @@ METHOD(stroke_list_t, status, void,
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
fprintf(out, "Security Associations:\n");
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
bool ike_printed = FALSE;
|
||||
|
||||
@@ -92,7 +92,8 @@ static void status(private_uci_control_t *this, char *name)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
sas = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
sas = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (sas->enumerate(sas, &ike_sa))
|
||||
{
|
||||
if (!streq(ike_sa->get_name(ike_sa), peer_cfg->get_name(peer_cfg)))
|
||||
@@ -174,7 +175,8 @@ static void terminate(private_uci_control_t *this, char *name)
|
||||
ike_sa_t *ike_sa;
|
||||
u_int id;
|
||||
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(charon->controller);
|
||||
enumerator = charon->controller->create_ike_sa_enumerator(
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
if (streq(name, ike_sa->get_name(ike_sa)))
|
||||
|
||||
Reference in New Issue
Block a user