X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fconnection.c;h=303e99223a70e17371a4337c287aeb105a498a8a;hb=dd3cccc5e67548dcc2dd6c6254ed6c97859085d5;hp=7a1fbcee1a42e12d59581f90fe29033aa5f39d12;hpb=6b2381a2adabea7d8309ff158ef675ff88184305;p=platform%2Fupstream%2Fconnman.git diff --git a/src/connection.c b/src/connection.c index 7a1fbce..303e992 100644 --- a/src/connection.c +++ b/src/connection.c @@ -234,6 +234,15 @@ static void set_vpn_routes(struct gateway_data *new_gateway, if (!active_gateway->ipv4_gateway) return; + + /* + * If VPN server is on same subnet as we are, skip adding + * route. + */ + if (connman_inet_compare_subnet(active_gateway->index, + gateway)) + return; + DBG("active gw %s", active_gateway->ipv4_gateway->gateway); if (g_strcmp0(active_gateway->ipv4_gateway->gateway, @@ -250,6 +259,10 @@ static void set_vpn_routes(struct gateway_data *new_gateway, if (!active_gateway->ipv6_gateway) return; + if (connman_inet_compare_ipv6_subnet(active_gateway->index, + gateway)) + return; + DBG("active gw %s", active_gateway->ipv6_gateway->gateway); if (g_strcmp0(active_gateway->ipv6_gateway->gateway, @@ -958,7 +971,7 @@ void __connman_connection_gateway_remove(struct connman_service *service, data->ipv6_gateway, do_ipv6); /* with vpn this will be called after the network was deleted, - * we need to call set_default here because we will not recieve any + * we need to call set_default here because we will not receive any * gateway delete notification. * We hit the same issue if remove_gateway() fails. */