Apply FreeBSD rev 1.17:
authorJeffrey Hsu <hsu@dragonflybsd.org>
Sun, 3 Dec 2006 03:16:24 +0000 (03:16 +0000)
committerJeffrey Hsu <hsu@dragonflybsd.org>
Sun, 3 Dec 2006 03:16:24 +0000 (03:16 +0000)
  date: 2004-09-25 19:01:27 -0700;  author: sam;  state: Exp;  lines: +0 -5;
  Correct handling of SADB_UPDATE and SADB_ADD requests.  key_align may split
  the mbuf due to use of m_pulldown.  Discarding the result because of this
  does not make sense as no subsequent code depends on the entire msg being
  linearized (only the individual pieces).  It's likely something else is wrong
  here but for now this appears to get things back to a working state.

  Submitted by:   Roselyn Lee

sys/netproto/ipsec/key.c

index 60b3d6d..ce9c656 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netipsec/key.c,v 1.3.2.1 2003/01/24 05:11:35 sam Exp $        */
-/*     $DragonFly: src/sys/netproto/ipsec/key.c,v 1.22 2006/12/03 02:52:44 hsu Exp $   */
+/*     $DragonFly: src/sys/netproto/ipsec/key.c,v 1.23 2006/12/03 03:16:24 hsu Exp $   */
 /*     $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $   */
 
 /*
@@ -6387,11 +6387,6 @@ key_parse(struct mbuf *m, struct socket *so)
        if (error)
                return error;
 
-       if (m->m_next) {        /*XXX*/
-               m_freem(m);
-               return ENOBUFS;
-       }
-
        msg = mh.msg;
 
        /* check SA type */