Date: Wed, 22 Apr 2009 08:22:16 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r191372 - stable/7/usr.sbin/ppp Message-ID: <200904220822.n3M8MGh7048146@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bz Date: Wed Apr 22 08:22:16 2009 New Revision: 191372 URL: http://svn.freebsd.org/changeset/base/191372 Log: MFC r191305: Back out r186308 (r191014 in stable/7): 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. Approved by: re (kensmith) Modified: stable/7/usr.sbin/ppp/ (props changed) stable/7/usr.sbin/ppp/route.c Modified: stable/7/usr.sbin/ppp/route.c ============================================================================== --- stable/7/usr.sbin/ppp/route.c Wed Apr 22 06:33:26 2009 (r191371) +++ stable/7/usr.sbin/ppp/route.c Wed Apr 22 08:22:16 2009 (r191372) @@ -902,10 +902,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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904220822.n3M8MGh7048146>