]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
pluto: Completely removed orphaned_holds.
authorTobias Brunner <tobias@strongswan.org>
Tue, 10 Aug 2010 15:36:38 +0000 (17:36 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 2 Sep 2010 17:04:23 +0000 (19:04 +0200)
src/pluto/kernel.c
src/pluto/kernel.h
src/pluto/kernel_pfkey.c

index c7a9dd54d612dfc3b4fc7ba7f1b32bb203c915c7..e7fa90bccb90e4bc1b1bf360ca6b86a487d21f31 100644 (file)
@@ -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 */
index 9b1d57a8846b579f6cdee99619c274fccbfbe164..b1bc023d5e925f8420c05b274178da0fecfda593 100644 (file)
@@ -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
 
index 99ba4ff30111d8d9ccad2377c8920bb405fb1021..9c0dfd1beda9ce86d8a0022af38201cff41422d2 100644 (file)
@@ -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 */