From: Tobias Brunner Date: Tue, 10 Aug 2010 15:36:38 +0000 (+0200) Subject: pluto: Completely removed orphaned_holds. X-Git-Tag: 4.5.0~279 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=03ee9623f36b77ebf5afc23a3930cdf5c1f613cf;p=thirdparty%2Fstrongswan.git pluto: Completely removed orphaned_holds. --- diff --git a/src/pluto/kernel.c b/src/pluto/kernel.c index c7a9dd54d6..e7fa90bccb 100644 --- a/src/pluto/kernel.c +++ b/src/pluto/kernel.c @@ -144,12 +144,6 @@ static void DBG_bare_shunt(const char *op, const struct bare_shunt *bs) #define DBG_bare_shunt(op, bs) {} #endif /* !DEBUG */ -/* The orphaned_holds table records %holds for which we - * scan_proc_shunts found no representation of in any connection. - * The corresponding ACQUIRE message might have been lost. - */ -struct eroute_info *orphaned_holds = NULL; - /* forward declaration */ static bool shunt_eroute(connection_t *c, struct spd_route *sr, enum routing_t rt_kind, unsigned int op, @@ -239,27 +233,6 @@ void record_and_initiate_opportunistic(const ip_subnet *ours, networkof(his, &dst); initiate_opportunistic(&src, &dst, transport_proto, TRUE, NULL_FD); } - - /* if present, remove from orphaned_holds list. - * NOTE: we do this last in case ours or his is a pointer into a member. - */ - { - struct eroute_info **pp, *p; - - for (pp = &orphaned_holds; (p = *pp) != NULL; pp = &p->next) - { - if (samesubnet(ours, &p->ours) - && samesubnet(his, &p->his) - && transport_proto == p->transport_proto - && portof(&ours->addr) == portof(&p->ours.addr) - && portof(&his->addr) == portof(&p->his.addr)) - { - *pp = p->next; - free(p); - break; - } - } - } } #endif /* KLIPS */ diff --git a/src/pluto/kernel.h b/src/pluto/kernel.h index 9b1d57a884..b1bc023d5e 100644 --- a/src/pluto/kernel.h +++ b/src/pluto/kernel.h @@ -121,20 +121,6 @@ struct kernel_ops { extern const struct kernel_ops *kernel_ops; -/* information from /proc/net/ipsec_eroute */ - -struct eroute_info { - unsigned long count; - ip_subnet ours; - ip_subnet his; - ip_address dst; - ip_said said; - int transport_proto; - struct eroute_info *next; -}; - -extern struct eroute_info *orphaned_holds; - extern void show_shunt_status(void); #endif diff --git a/src/pluto/kernel_pfkey.c b/src/pluto/kernel_pfkey.c index 99ba4ff301..9c0dfd1bed 100644 --- a/src/pluto/kernel_pfkey.c +++ b/src/pluto/kernel_pfkey.c @@ -447,19 +447,6 @@ pfkey_dequeue(void) pfkey_iq_head = it->next; free(it); } - - /* Handle any orphaned holds, but only if no pfkey input is pending. - * For each, we initiate Opportunistic. - * note: we don't need to advance the pointer because - * record_and_initiate_opportunistic will remove the current - * record each time we call it. - */ - while (orphaned_holds != NULL && !pfkey_input_ready()) - record_and_initiate_opportunistic(&orphaned_holds->ours - , &orphaned_holds->his - , orphaned_holds->transport_proto - , "%hold found-pfkey"); - } /* asynchronous messages directly from PF_KEY socket */