From 0fb550cabac2bac275b4c99a626bcb923f58f684 Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" Date: Mon, 20 Apr 2009 11:51:35 +0000 Subject: [PATCH] While we currently still seem to have a gateway address, for future stability, check for gw to be set before adding the flag and the address to the routing message. r186308, backed out in r191305, already tried to do that, and in addition ignore AF_LINK types of gateway addresses to work around a problem that r167797 had introduced on the kernel side always setting RTF_GATEWAY if a gateway address was passed into the kernel. The proper solution for this is still under discussion so I am hesitant to re-add the special AF_LINK treatment for now. MFC after: 3 days --- usr.sbin/ppp/route.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.sbin/ppp/route.c b/usr.sbin/ppp/route.c index f5efe639f8c6..d55a06bcec96 100644 --- a/usr.sbin/ppp/route.c +++ b/usr.sbin/ppp/route.c @@ -910,8 +910,11 @@ rt_Update(struct bundle *bundle, const struct sockaddr *dst, p += memcpy_roundup(p, dst, dst->sa_len); } - rtmes.m_rtm.rtm_addrs |= RTA_GATEWAY; - p += memcpy_roundup(p, gw, gw->sa_len); + if (gw) { + 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);