diff options
author | Dan Winship <danw@gnome.org> | 2012-09-26 10:22:21 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2012-09-26 10:24:33 -0400 |
commit | 89b08a0243e3f6a6fd556e1a99ffe0ebf86c9710 (patch) | |
tree | 237a07398a98c5e5719e2716c459a37f5f3c858f | |
parent | bbbf9ad37b295282125d5ea78044d06e74d6b116 (diff) |
ipv6: restore the ability to set a default IPv6 route via a device (rh #829010)
replace_default_ip6_route() was mistakenly requiring gw to be
non-NULL, which meant it could only set the route via a gateway, not
via a device (thus breaking IPv6-over-openconnect)
-rw-r--r-- | src/nm-system.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nm-system.c b/src/nm-system.c index 09e1da58..bcff5092 100644 --- a/src/nm-system.c +++ b/src/nm-system.c @@ -1160,12 +1160,16 @@ replace_default_ip6_route (int ifindex, const struct in6_addr *gw, int mss) char gw_str[INET6_ADDRSTRLEN + 1]; g_return_val_if_fail (ifindex > 0, FALSE); - g_return_val_if_fail (gw != NULL, FALSE); if (nm_logging_level_enabled (LOGL_DEBUG)) { - memset (gw_str, 0, sizeof (gw_str)); - if (inet_ntop (AF_INET6, gw, gw_str, sizeof (gw_str) - 1)) - nm_log_dbg (LOGD_IP6, "Setting IPv6 default route via %s", gw_str); + if (gw) { + memset (gw_str, 0, sizeof (gw_str)); + if (inet_ntop (AF_INET6, gw, gw_str, sizeof (gw_str) - 1)) + nm_log_dbg (LOGD_IP6, "Setting IPv6 default route via %s", gw_str); + } else { + nm_log_dbg (LOGD_IP6, "Setting IPv6 default route via %s", + nm_netlink_index_to_iface (ifindex)); + } } /* We can't just use NLM_F_REPLACE here like in the IPv4 case, because |