mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-13 04:32:09 +01:00
the patch should fix reconnection on unstable lines but contained a memory leak. This is an update of the same patch.
72 lines
2.0 KiB
Diff
72 lines
2.0 KiB
Diff
Index: src/racoon/admin.c
|
|
===================================================================
|
|
RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/admin.c,v
|
|
retrieving revision 1.32
|
|
diff -u -r1.32 admin.c
|
|
--- src/racoon/admin.c 3 Sep 2009 09:29:07 -0000 1.32
|
|
+++ src/racoon/admin.c 10 Dec 2009 14:38:47 -0000
|
|
@@ -299,9 +299,8 @@
|
|
break;
|
|
|
|
case ADMIN_DELETE_SA: {
|
|
- struct ph1handle *iph1;
|
|
- struct ph1selector sel;
|
|
char *loc, *rem;
|
|
+ struct ph1selector sel;
|
|
|
|
memset(&sel, 0, sizeof(sel));
|
|
sel.local = (struct sockaddr *)
|
|
@@ -319,6 +318,7 @@
|
|
plog(LLV_INFO, LOCATION, NULL,
|
|
"admin delete-sa %s %s\n", loc, rem);
|
|
enumph1(&sel, admin_ph1_delete_sa, NULL);
|
|
+ remcontacted(sel.remote);
|
|
|
|
racoon_free(loc);
|
|
racoon_free(rem);
|
|
Index: src/racoon/handler.c
|
|
===================================================================
|
|
RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/handler.c,v
|
|
retrieving revision 1.31
|
|
diff -u -r1.31 handler.c
|
|
--- src/racoon/handler.c 22 Nov 2009 19:34:55 -0000 1.31
|
|
+++ src/racoon/handler.c 10 Dec 2009 14:38:48 -0000
|
|
@@ -966,6 +966,22 @@
|
|
}
|
|
|
|
void
|
|
+remcontacted(remote)
|
|
+ struct sockaddr *remote;
|
|
+{
|
|
+ struct contacted *p;
|
|
+
|
|
+ LIST_FOREACH(p, &ctdtree, chain) {
|
|
+ if (cmpsaddr(remote, p->remote) == 0) {
|
|
+ LIST_REMOVE(p, chain);
|
|
+ racoon_free(p->remote);
|
|
+ racoon_free(p);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+}
|
|
+
|
|
+void
|
|
initctdtree()
|
|
{
|
|
LIST_INIT(&ctdtree);
|
|
Index: src/racoon/handler.h
|
|
===================================================================
|
|
RCS file: /cvsroot/src/crypto/dist/ipsec-tools/src/racoon/handler.h,v
|
|
retrieving revision 1.22
|
|
diff -u -r1.22 handler.h
|
|
--- src/racoon/handler.h 3 Sep 2009 09:29:07 -0000 1.22
|
|
+++ src/racoon/handler.h 10 Dec 2009 14:38:48 -0000
|
|
@@ -518,6 +518,7 @@
|
|
|
|
extern struct contacted *getcontacted __P((struct sockaddr *));
|
|
extern int inscontacted __P((struct sockaddr *));
|
|
+extern void remcontacted __P((struct sockaddr *));
|
|
extern void initctdtree __P((void));
|
|
|
|
extern int check_recvdpkt __P((struct sockaddr *,
|