Module Name:    src
Committed By:   snj
Date:           Sun Mar 28 16:36:57 UTC 2010

Modified Files:
        src/crypto/dist/ipsec-tools/src/racoon [netbsd-5]: handler.c

Log Message:
Pull up following revision(s) (requested by hubertf in ticket #1341):
        crypto/dist/ipsec-tools/src/racoon/handler.c: revision 1.31, 1.32
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.
--
PR/42363: Yasuoka Masahiko: Second part of the patch: iterate only on the
phase2 handles that are bound by the given phase1 handle.


To generate a diff of this commit:
cvs rdiff -u -r1.21.4.1 -r1.21.4.2 \
    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.21.4.1 src/crypto/dist/ipsec-tools/src/racoon/handler.c:1.21.4.2
--- src/crypto/dist/ipsec-tools/src/racoon/handler.c:1.21.4.1	Sun Feb  8 18:42:16 2009
+++ src/crypto/dist/ipsec-tools/src/racoon/handler.c	Sun Mar 28 16:36:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: handler.c,v 1.21.4.1 2009/02/08 18:42:16 snj Exp $	*/
+/*	$NetBSD: handler.c,v 1.21.4.2 2010/03/28 16:36:57 snj Exp $	*/
 
 /* Id: handler.c,v 1.28 2006/05/26 12:17:29 manubsd Exp */
 
@@ -478,7 +478,7 @@
 {
 	struct ph2handle *p;
 
-	LIST_FOREACH(p, &ph2tree, chain) {
+	LIST_FOREACH(p, &iph1->ph2tree, ph1bind) {
 		if (p->msgid == msgid)
 			return p;
 	}

Reply via email to