Author: bz
Date: Mon Apr 20 11:22:51 2009
New Revision: 191305
URL: http://svn.freebsd.org/changeset/base/191305

Log:
  Back out r186308:
  
  in case of AF_LINK, which the kernel still returns for an RTAX_GATEWAY
  as an empty sockaddr_dl in the classic tun<n> case.
  Copying the address into the message payload, but not the RTA_GATEWAY
  flag results in rt_xaddrs() in the kernel tripping over that and parsing
  the next attribute set with a flag, i.e. RTA_NETMASK, with the gateway
  address, resulting in bogus route entry.
  
  MFC after:    3 days

Modified:
  head/usr.sbin/ppp/route.c

Modified: head/usr.sbin/ppp/route.c
==============================================================================
--- head/usr.sbin/ppp/route.c   Mon Apr 20 10:40:42 2009        (r191304)
+++ head/usr.sbin/ppp/route.c   Mon Apr 20 11:22:51 2009        (r191305)
@@ -910,10 +910,8 @@ rt_Update(struct bundle *bundle, const s
     p += memcpy_roundup(p, dst, dst->sa_len);
   }
 
-  if (gw != NULL && (gw->sa_family != AF_LINK))
-    rtmes.m_rtm.rtm_addrs |= RTA_GATEWAY;
+  rtmes.m_rtm.rtm_addrs |= RTA_GATEWAY;
   p += memcpy_roundup(p, gw, gw->sa_len);
-
   if (mask) {
     rtmes.m_rtm.rtm_addrs |= RTA_NETMASK;
     p += memcpy_roundup(p, mask, mask->sa_len);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to