Module Name:    src
Committed By:   christos
Date:           Sun Nov 22 19:34:56 UTC 2009

Modified Files:
        src/crypto/dist/ipsec-tools/src/racoon: handler.c

Log Message:
PR/42363: Yasuoka Masahiko:

racoon uses a wrong IPsec-SA handle that is for other peer in case it
receives a ISAKMP message for IPsec-SA that has the same message-id as
the message-id that is received before.

racoon uses message-id to find the handle of IPsec-SA.  The message-id
is a unique number for each peer, but different peers may use the same
value.

Different Windows Vista or Windows 7 peers seem to use the same
message-id.  racoon can handle the first Windows's Phase-2, but it
cannot handle the second Windows.  Because racoon misunderstands the
message for the second Windows as the message for the first Windows.

>Category:       bin
>Synopsis:       racoon uses a wrong IPsec-SA that is for different peer
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 22 18:25:00 +0000 2009
>Originator:     yasu...@iij.ad.jp


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/crypto/dist/ipsec-tools/src/racoon/handler.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/dist/ipsec-tools/src/racoon/handler.c
diff -u src/crypto/dist/ipsec-tools/src/racoon/handler.c:1.30 src/crypto/dist/ipsec-tools/src/racoon/handler.c:1.31
--- src/crypto/dist/ipsec-tools/src/racoon/handler.c:1.30	Thu Sep  3 05:29:07 2009
+++ src/crypto/dist/ipsec-tools/src/racoon/handler.c	Sun Nov 22 14:34:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: handler.c,v 1.30 2009/09/03 09:29:07 tteras Exp $	*/
+/*	$NetBSD: handler.c,v 1.31 2009/11/22 19:34:55 christos Exp $	*/
 
 /* Id: handler.c,v 1.28 2006/05/26 12:17:29 manubsd Exp */
 
@@ -573,7 +573,7 @@
 {
 	struct ph2handle *p;
 
-	LIST_FOREACH(p, &ph2tree, chain) {
+	LIST_FOREACH(p, &iph1->ph2tree, chain) {
 		if (p->msgid == msgid && p->ph1 == iph1)
 			return p;
 	}

Reply via email to