From 89b08a0243e3f6a6fd556e1a99ffe0ebf86c9710 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 26 Sep 2012 10:22:21 -0400 Subject: [PATCH] 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) --- src/nm-system.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/nm-system.c b/src/nm-system.c index 09e1da5865..bcff5092c2 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