Replaced ike_sa_t.create_child_sa_iterator with enumerator.
This required two new methods on ike_sa_t. One returns the number of CHILD_SAs and one allows to remove a CHILD_SA.
This commit is contained in:
@@ -196,12 +196,12 @@ METHOD(ha_cache_t, delete_, void,
|
||||
*/
|
||||
static status_t rekey_children(ike_sa_t *ike_sa)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
child_sa_t *child_sa;
|
||||
status_t status = SUCCESS;
|
||||
|
||||
iterator = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
while (iterator->iterate(iterator, (void**)&child_sa))
|
||||
enumerator = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
while (enumerator->enumerate(enumerator, (void**)&child_sa))
|
||||
{
|
||||
DBG1(DBG_CFG, "resyncing CHILD_SA");
|
||||
status = ike_sa->rekey_child_sa(ike_sa, child_sa->get_protocol(child_sa),
|
||||
@@ -211,7 +211,7 @@ static status_t rekey_children(ike_sa_t *ike_sa)
|
||||
break;
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ static void request_query_ikesa(xmlTextReaderPtr reader, xmlTextWriterPtr writer
|
||||
{
|
||||
ike_sa_id_t *id;
|
||||
host_t *local, *remote;
|
||||
iterator_t *children;
|
||||
enumerator_t *children;
|
||||
child_sa_t *child_sa;
|
||||
|
||||
id = ike_sa->get_id(ike_sa);
|
||||
@@ -264,8 +264,8 @@ static void request_query_ikesa(xmlTextReaderPtr reader, xmlTextWriterPtr writer
|
||||
|
||||
/* <childsalist> */
|
||||
xmlTextWriterStartElement(writer, "childsalist");
|
||||
children = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
while (children->iterate(children, (void**)&child_sa))
|
||||
children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
while (children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
write_child(writer, child_sa);
|
||||
}
|
||||
|
||||
@@ -294,12 +294,12 @@ METHOD(stroke_control_t, terminate, void,
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
child_sa_t *child_sa;
|
||||
iterator_t *children;
|
||||
enumerator_t *children;
|
||||
|
||||
if (child)
|
||||
{
|
||||
children = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
while (children->iterate(children, (void**)&child_sa))
|
||||
children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
while (children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
if (streq(name, child_sa->get_name(child_sa)))
|
||||
{
|
||||
@@ -374,12 +374,12 @@ METHOD(stroke_control_t, rekey, void,
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
child_sa_t *child_sa;
|
||||
iterator_t *children;
|
||||
enumerator_t *children;
|
||||
|
||||
if (child)
|
||||
{
|
||||
children = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
while (children->iterate(children, (void**)&child_sa))
|
||||
children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
while (children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
if ((name && streq(name, child_sa->get_name(child_sa))) ||
|
||||
(id && id == child_sa->get_reqid(child_sa)))
|
||||
@@ -486,8 +486,7 @@ METHOD(stroke_control_t, terminate_srcip, void,
|
||||
METHOD(stroke_control_t, purge_ike, void,
|
||||
private_stroke_control_t *this, stroke_msg_t *msg, FILE *out)
|
||||
{
|
||||
enumerator_t *enumerator;
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator, *children;
|
||||
ike_sa_t *ike_sa;
|
||||
child_sa_t *child_sa;
|
||||
linked_list_t *list;
|
||||
@@ -502,13 +501,13 @@ METHOD(stroke_control_t, purge_ike, void,
|
||||
charon->controller, TRUE);
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
iterator = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
if (!iterator->iterate(iterator, (void**)&child_sa))
|
||||
children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
if (!children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
list->insert_last(list,
|
||||
(void*)(uintptr_t)ike_sa->get_unique_id(ike_sa));
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
children->destroy(children);
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
|
||||
@@ -576,7 +576,7 @@ METHOD(stroke_list_t, status, void,
|
||||
while (enumerator->enumerate(enumerator, &ike_sa))
|
||||
{
|
||||
bool ike_printed = FALSE;
|
||||
iterator_t *children = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
enumerator_t *children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
|
||||
if (name == NULL || streq(name, ike_sa->get_name(ike_sa)))
|
||||
{
|
||||
@@ -585,7 +585,7 @@ METHOD(stroke_list_t, status, void,
|
||||
ike_printed = TRUE;
|
||||
}
|
||||
|
||||
while (children->iterate(children, (void**)&child_sa))
|
||||
while (children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
if (name == NULL || streq(name, child_sa->get_name(child_sa)))
|
||||
{
|
||||
|
||||
@@ -76,8 +76,7 @@ static void write_fifo(private_uci_control_t *this, char *format, ...)
|
||||
*/
|
||||
static void status(private_uci_control_t *this, char *name)
|
||||
{
|
||||
enumerator_t *configs, *sas;
|
||||
iterator_t *children;
|
||||
enumerator_t *configs, *sas, *children;
|
||||
ike_sa_t *ike_sa;
|
||||
child_sa_t *child_sa;
|
||||
peer_cfg_t *peer_cfg;
|
||||
@@ -111,8 +110,8 @@ static void status(private_uci_control_t *this, char *name)
|
||||
fprintf(out, "%-8s %-20D %-16H ", ike_sa->get_name(ike_sa),
|
||||
ike_sa->get_other_id(ike_sa), ike_sa->get_other_host(ike_sa));
|
||||
|
||||
children = ike_sa->create_child_sa_iterator(ike_sa);
|
||||
while (children->iterate(children, (void**)&child_sa))
|
||||
children = ike_sa->create_child_sa_enumerator(ike_sa);
|
||||
while (children->enumerate(children, (void**)&child_sa))
|
||||
{
|
||||
fprintf(out, "%#R",
|
||||
child_sa->get_traffic_selectors(child_sa, FALSE));
|
||||
|
||||
Reference in New Issue
Block a user