From 29dd555bdd7d93bac3fa10f94ff77c337e2be387 Mon Sep 17 00:00:00 2001 From: itojun Date: Mon, 15 Apr 2002 02:00:03 +0000 Subject: correct initial contact handling. PR 15949 --- security/racoon/distinfo | 3 ++- security/racoon/patches/patch-ag | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 security/racoon/patches/patch-ag (limited to 'security') diff --git a/security/racoon/distinfo b/security/racoon/distinfo index 2e3920fa6ba..3ce0076943c 100644 --- a/security/racoon/distinfo +++ b/security/racoon/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.11 2001/12/14 17:09:50 itojun Exp $ +$NetBSD: distinfo,v 1.12 2002/04/15 02:00:03 itojun Exp $ SHA1 (racoon-20011215a.tar.gz) = 7bd8e851c58cd67f97bec57fca06b49ab519b3c2 Size (racoon-20011215a.tar.gz) = 620361 bytes @@ -8,3 +8,4 @@ SHA1 (patch-ac) = 29ff53ca5a23785253321a9629c32065da56ca9f SHA1 (patch-ad) = d4718088c04c72ccfe34c4b53ec4a2f830600877 SHA1 (patch-ae) = 55daf1b5d19be76792e8eecb3f37eced594d184d SHA1 (patch-af) = 84263904d7018929aecf5df5b4173623505dc5f6 +SHA1 (patch-ag) = 55a08bc604d40c9d4871e389da083535326643f9 diff --git a/security/racoon/patches/patch-ag b/security/racoon/patches/patch-ag new file mode 100644 index 00000000000..efd8dd91dbb --- /dev/null +++ b/security/racoon/patches/patch-ag @@ -0,0 +1,34 @@ +$NetBSD: patch-ag,v 1.1 2002/04/15 02:00:04 itojun Exp $ + +--- isakmp_inf.c.orig Tue Dec 11 13:39:32 2001 ++++ isakmp_inf.c Mon Apr 15 10:57:48 2002 +@@ -1058,10 +1058,13 @@ + * racoon only deletes SA which is matched both the + * source address and the destination accress. + */ +- if ((cmpsaddrwop(iph1->local, src) +- && cmpsaddrwop(iph1->remote, dst)) +- || (cmpsaddrwop(iph1->remote, src) +- && cmpsaddrwop(iph1->local, dst))) { ++ if (cmpsaddrwop(iph1->local, src) == 0 && ++ cmpsaddrwop(iph1->remote, dst) == 0) ++ ; ++ else if (cmpsaddrwop(iph1->remote, src) == 0 && ++ cmpsaddrwop(iph1->local, dst) == 0) ++ ; ++ else { + msg = next; + continue; + } +@@ -1076,8 +1079,10 @@ + msg->sadb_msg_satype) + break; + } +- if (i == pfkey_nsatypes) ++ if (i == pfkey_nsatypes) { ++ msg = next; + continue; ++ } + + plog(LLV_INFO, LOCATION, NULL, + "purging spi=%u.\n", ntohl(sa->sadb_sa_spi)); -- cgit v1.2.3