]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix adding subnet routes without a source address on OpenBSD.
authorRoy Marples <roy@marples.name>
Wed, 23 Nov 2016 19:15:41 +0000 (19:15 +0000)
committerRoy Marples <roy@marples.name>
Wed, 23 Nov 2016 19:15:41 +0000 (19:15 +0000)
if-bsd.c

index 3cfba2d309cf5d2a68b622c2d2c5f58bdcafda5b..5d8b2db48231b6964bb0b2e8b317fd333a9dfd29 100644 (file)
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -419,11 +419,12 @@ if_route(unsigned char cmd, const struct rt *rt)
                bool netmask_bcast = sa_is_allones(&rt->rt_netmask);
 
                rtm->rtm_flags |= RTF_UP;
-               rtm->rtm_addrs |= RTA_GATEWAY | RTA_IFP;
+               rtm->rtm_addrs |= RTA_GATEWAY;
                if (!(rtm->rtm_flags & RTF_REJECT) &&
                    !sa_is_loopback(&rt->rt_gateway))
                {
-                       rtm->rtm_addrs |= RTA_IFP;
+                       if (!gateway_unspec)
+                               rtm->rtm_addrs |= RTA_IFP;
                        if (!sa_is_unspecified(&rt->rt_ifa))
                                rtm->rtm_addrs |= RTA_IFA;
                }