summaryrefslogtreecommitdiff
path: root/src/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/connection.c')
-rw-r--r--src/connection.c347
1 files changed, 173 insertions, 174 deletions
diff --git a/src/connection.c b/src/connection.c
index c7b1f62..e98ccb5 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -2,8 +2,8 @@
*
* Connection Manager
*
- * Copyright (C) 2007-2012 Intel Corporation. All rights reserved.
- * Copyright (C) 2011 BMW Car IT GmbH. All rights reserved.
+ * Copyright (C) 2007-2013 Intel Corporation. All rights reserved.
+ * Copyright (C) 2011-2013 BMW Car IT GmbH. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -33,11 +33,11 @@
#include "connman.h"
struct gateway_config {
- gboolean active;
+ bool active;
char *gateway;
/* VPN extra data */
- gboolean vpn;
+ bool vpn;
char *vpn_ip;
int vpn_phy_index;
char *vpn_phy_ip;
@@ -49,7 +49,7 @@ struct gateway_data {
unsigned int order;
struct gateway_config *ipv4_gateway;
struct gateway_config *ipv6_gateway;
- connman_bool_t default_checked;
+ bool default_checked;
};
static GHashTable *gateway_hash = NULL;
@@ -59,22 +59,22 @@ static struct gateway_config *find_gateway(int index, const char *gateway)
GHashTableIter iter;
gpointer value, key;
- if (gateway == NULL)
+ if (!gateway)
return NULL;
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (data->ipv4_gateway != NULL && data->index == index &&
+ if (data->ipv4_gateway && data->index == index &&
g_str_equal(data->ipv4_gateway->gateway,
- gateway) == TRUE)
+ gateway))
return data->ipv4_gateway;
- if (data->ipv6_gateway != NULL && data->index == index &&
+ if (data->ipv6_gateway && data->index == index &&
g_str_equal(data->ipv6_gateway->gateway,
- gateway) == TRUE)
+ gateway))
return data->ipv6_gateway;
}
@@ -86,19 +86,19 @@ static struct gateway_data *lookup_gateway_data(struct gateway_config *config)
GHashTableIter iter;
gpointer value, key;
- if (config == NULL)
+ if (!config)
return NULL;
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (data->ipv4_gateway != NULL &&
+ if (data->ipv4_gateway &&
data->ipv4_gateway == config)
return data;
- if (data->ipv6_gateway != NULL &&
+ if (data->ipv6_gateway &&
data->ipv6_gateway == config)
return data;
}
@@ -111,22 +111,22 @@ static struct gateway_data *find_vpn_gateway(int index, const char *gateway)
GHashTableIter iter;
gpointer value, key;
- if (gateway == NULL)
+ if (!gateway)
return NULL;
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (data->ipv4_gateway != NULL && data->index == index &&
+ if (data->ipv4_gateway && data->index == index &&
g_str_equal(data->ipv4_gateway->gateway,
- gateway) == TRUE)
+ gateway))
return data;
- if (data->ipv6_gateway != NULL && data->index == index &&
+ if (data->ipv6_gateway && data->index == index &&
g_str_equal(data->ipv6_gateway->gateway,
- gateway) == TRUE)
+ gateway))
return data;
}
@@ -152,7 +152,7 @@ static void get_gateway_cb(const char *gateway, int index, void *user_data)
params->vpn_index, params->vpn_gateway);
data = find_vpn_gateway(params->vpn_index, params->vpn_gateway);
- if (data == NULL) {
+ if (!data) {
DBG("Cannot find VPN link route, index %d addr %s",
params->vpn_index, params->vpn_gateway);
goto out;
@@ -199,18 +199,18 @@ static void set_vpn_routes(struct gateway_data *new_gateway,
} else
return;
- if (config != NULL) {
+ if (config) {
int index = __connman_ipconfig_get_index(ipconfig);
struct get_gateway_params *params;
- config->vpn = TRUE;
- if (peer != NULL)
+ config->vpn = true;
+ if (peer)
config->vpn_ip = g_strdup(peer);
- else if (gateway != NULL)
+ else if (gateway)
config->vpn_ip = g_strdup(gateway);
params = g_try_malloc(sizeof(struct get_gateway_params));
- if (params == NULL)
+ if (!params)
return;
params->vpn_index = index;
@@ -222,7 +222,7 @@ static void set_vpn_routes(struct gateway_data *new_gateway,
__connman_inet_get_route(gateway, get_gateway_cb, params);
}
- if (active_gateway == NULL)
+ if (!active_gateway)
return;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4) {
@@ -232,7 +232,7 @@ static void set_vpn_routes(struct gateway_data *new_gateway,
* the VPN. The route might already exist depending
* on network topology.
*/
- if (active_gateway->ipv4_gateway == NULL)
+ if (!active_gateway->ipv4_gateway)
return;
DBG("active gw %s", active_gateway->ipv4_gateway->gateway);
@@ -248,7 +248,7 @@ static void set_vpn_routes(struct gateway_data *new_gateway,
} else if (type == CONNMAN_IPCONFIG_TYPE_IPV6) {
- if (active_gateway->ipv6_gateway == NULL)
+ if (!active_gateway->ipv6_gateway)
return;
DBG("active gw %s", active_gateway->ipv6_gateway->gateway);
@@ -268,17 +268,17 @@ static int del_routes(struct gateway_data *data,
enum connman_ipconfig_type type)
{
int status4 = 0, status6 = 0;
- int do_ipv4 = FALSE, do_ipv6 = FALSE;
+ bool do_ipv4 = false, do_ipv6 = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
- do_ipv4 = TRUE;
+ do_ipv4 = true;
else if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
- do_ipv6 = TRUE;
+ do_ipv6 = true;
else
- do_ipv4 = do_ipv6 = TRUE;
+ do_ipv4 = do_ipv6 = true;
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL) {
- if (data->ipv4_gateway->vpn == TRUE) {
+ if (do_ipv4 && data->ipv4_gateway) {
+ if (data->ipv4_gateway->vpn) {
status4 = connman_inet_clear_gateway_address(
data->index,
data->ipv4_gateway->vpn_ip);
@@ -296,8 +296,8 @@ static int del_routes(struct gateway_data *data,
}
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL) {
- if (data->ipv6_gateway->vpn == TRUE) {
+ if (do_ipv6 && data->ipv6_gateway) {
+ if (data->ipv6_gateway->vpn) {
status6 = connman_inet_clear_ipv6_gateway_address(
data->index,
data->ipv6_gateway->vpn_ip);
@@ -320,20 +320,20 @@ static int del_routes(struct gateway_data *data,
static int disable_gateway(struct gateway_data *data,
enum connman_ipconfig_type type)
{
- gboolean active = FALSE;
+ bool active = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4) {
- if (data->ipv4_gateway != NULL)
+ if (data->ipv4_gateway)
active = data->ipv4_gateway->active;
} else if (type == CONNMAN_IPCONFIG_TYPE_IPV6) {
- if (data->ipv6_gateway != NULL)
+ if (data->ipv6_gateway)
active = data->ipv6_gateway->active;
} else
- active = TRUE;
+ active = true;
DBG("type %d active %d", type, active);
- if (active == TRUE)
+ if (active)
return del_routes(data, type);
return 0;
@@ -346,17 +346,17 @@ static struct gateway_data *add_gateway(struct connman_service *service,
struct gateway_data *data, *old;
struct gateway_config *config;
- if (gateway == NULL || strlen(gateway) == 0)
+ if (!gateway || strlen(gateway) == 0)
return NULL;
data = g_try_new0(struct gateway_data, 1);
- if (data == NULL)
+ if (!data)
return NULL;
data->index = index;
config = g_try_new0(struct gateway_config, 1);
- if (config == NULL) {
+ if (!config) {
g_free(data);
return NULL;
}
@@ -364,9 +364,9 @@ static struct gateway_data *add_gateway(struct connman_service *service,
config->gateway = g_strdup(gateway);
config->vpn_ip = NULL;
config->vpn_phy_ip = NULL;
- config->vpn = FALSE;
+ config->vpn = false;
config->vpn_phy_index = -1;
- config->active = FALSE;
+ config->active = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
data->ipv4_gateway = config;
@@ -390,7 +390,7 @@ static struct gateway_data *add_gateway(struct connman_service *service,
* from old gateway settings.
*/
old = g_hash_table_lookup(gateway_hash, service);
- if (old != NULL) {
+ if (old) {
DBG("Replacing gw %p ipv4 %p ipv6 %p", old,
old->ipv4_gateway, old->ipv6_gateway);
disable_gateway(old, type);
@@ -418,22 +418,22 @@ static void set_default_gateway(struct gateway_data *data,
{
int index;
int status4 = 0, status6 = 0;
- int do_ipv4 = FALSE, do_ipv6 = FALSE;
+ bool do_ipv4 = false, do_ipv6 = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
- do_ipv4 = TRUE;
+ do_ipv4 = true;
else if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
- do_ipv6 = TRUE;
+ do_ipv6 = true;
else
- do_ipv4 = do_ipv6 = TRUE;
+ do_ipv4 = do_ipv6 = true;
DBG("type %d gateway ipv4 %p ipv6 %p", type, data->ipv4_gateway,
data->ipv6_gateway);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL &&
- data->ipv4_gateway->vpn == TRUE) {
+ if (do_ipv4 && data->ipv4_gateway &&
+ data->ipv4_gateway->vpn) {
connman_inet_set_gateway_interface(data->index);
- data->ipv4_gateway->active = TRUE;
+ data->ipv4_gateway->active = true;
DBG("set %p index %d vpn %s index %d phy %s",
data, data->index, data->ipv4_gateway->vpn_ip,
@@ -445,10 +445,10 @@ static void set_default_gateway(struct gateway_data *data,
return;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL &&
- data->ipv6_gateway->vpn == TRUE) {
+ if (do_ipv6 && data->ipv6_gateway &&
+ data->ipv6_gateway->vpn) {
connman_inet_set_ipv6_gateway_interface(data->index);
- data->ipv6_gateway->active = TRUE;
+ data->ipv6_gateway->active = true;
DBG("set %p index %d vpn %s index %d phy %s",
data, data->index, data->ipv6_gateway->vpn_ip,
@@ -462,7 +462,7 @@ static void set_default_gateway(struct gateway_data *data,
index = __connman_service_get_index(data->service);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL &&
+ if (do_ipv4 && data->ipv4_gateway &&
g_strcmp0(data->ipv4_gateway->gateway,
"0.0.0.0") == 0) {
if (connman_inet_set_gateway_interface(index) < 0)
@@ -470,7 +470,7 @@ static void set_default_gateway(struct gateway_data *data,
goto done;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL &&
+ if (do_ipv6 && data->ipv6_gateway &&
g_strcmp0(data->ipv6_gateway->gateway,
"::") == 0) {
if (connman_inet_set_ipv6_gateway_interface(index) < 0)
@@ -478,13 +478,13 @@ static void set_default_gateway(struct gateway_data *data,
goto done;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL)
- status6 = connman_inet_set_ipv6_gateway_address(index,
- data->ipv6_gateway->gateway);
+ if (do_ipv6 && data->ipv6_gateway)
+ status6 = __connman_inet_add_default_to_table(RT_TABLE_MAIN,
+ index, data->ipv6_gateway->gateway);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL)
- status4 = connman_inet_set_gateway_address(index,
- data->ipv4_gateway->gateway);
+ if (do_ipv4 && data->ipv4_gateway)
+ status4 = __connman_inet_add_default_to_table(RT_TABLE_MAIN,
+ index, data->ipv4_gateway->gateway);
if (status4 < 0 || status6 < 0)
return;
@@ -497,22 +497,22 @@ static void unset_default_gateway(struct gateway_data *data,
enum connman_ipconfig_type type)
{
int index;
- int do_ipv4 = FALSE, do_ipv6 = FALSE;
+ bool do_ipv4 = false, do_ipv6 = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
- do_ipv4 = TRUE;
+ do_ipv4 = true;
else if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
- do_ipv6 = TRUE;
+ do_ipv6 = true;
else
- do_ipv4 = do_ipv6 = TRUE;
+ do_ipv4 = do_ipv6 = true;
DBG("type %d gateway ipv4 %p ipv6 %p", type, data->ipv4_gateway,
data->ipv6_gateway);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL &&
- data->ipv4_gateway->vpn == TRUE) {
+ if (do_ipv4 && data->ipv4_gateway &&
+ data->ipv4_gateway->vpn) {
connman_inet_clear_gateway_interface(data->index);
- data->ipv4_gateway->active = FALSE;
+ data->ipv4_gateway->active = false;
DBG("unset %p index %d vpn %s index %d phy %s",
data, data->index, data->ipv4_gateway->vpn_ip,
@@ -522,10 +522,10 @@ static void unset_default_gateway(struct gateway_data *data,
return;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL &&
- data->ipv6_gateway->vpn == TRUE) {
+ if (do_ipv6 && data->ipv6_gateway &&
+ data->ipv6_gateway->vpn) {
connman_inet_clear_ipv6_gateway_interface(data->index);
- data->ipv6_gateway->active = FALSE;
+ data->ipv6_gateway->active = false;
DBG("unset %p index %d vpn %s index %d phy %s",
data, data->index, data->ipv6_gateway->vpn_ip,
@@ -537,25 +537,25 @@ static void unset_default_gateway(struct gateway_data *data,
index = __connman_service_get_index(data->service);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL &&
+ if (do_ipv4 && data->ipv4_gateway &&
g_strcmp0(data->ipv4_gateway->gateway,
"0.0.0.0") == 0) {
connman_inet_clear_gateway_interface(index);
return;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL &&
+ if (do_ipv6 && data->ipv6_gateway &&
g_strcmp0(data->ipv6_gateway->gateway,
"::") == 0) {
connman_inet_clear_ipv6_gateway_interface(index);
return;
}
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL)
+ if (do_ipv6 && data->ipv6_gateway)
connman_inet_clear_ipv6_gateway_address(index,
data->ipv6_gateway->gateway);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL)
+ if (do_ipv4 && data->ipv4_gateway)
connman_inet_clear_gateway_address(index,
data->ipv4_gateway->gateway);
}
@@ -569,10 +569,10 @@ static struct gateway_data *find_default_gateway(void)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (found == NULL || data->order > order) {
+ if (!found || data->order > order) {
found = data;
order = data->order;
@@ -583,48 +583,48 @@ static struct gateway_data *find_default_gateway(void)
return found;
}
-static gboolean choose_default_gateway(struct gateway_data *data,
+static bool choose_default_gateway(struct gateway_data *data,
struct gateway_data *candidate)
{
- gboolean downgraded = FALSE;
+ bool downgraded = false;
/*
* If the current default is not active, then we mark
* this one as default. If the other one is already active
* we mark this one as non default.
*/
- if (data->ipv4_gateway != NULL) {
- if (candidate->ipv4_gateway != NULL &&
- candidate->ipv4_gateway->active == FALSE) {
+ if (data->ipv4_gateway) {
+ if (candidate->ipv4_gateway &&
+ !candidate->ipv4_gateway->active) {
DBG("ipv4 downgrading %p", candidate);
unset_default_gateway(candidate,
CONNMAN_IPCONFIG_TYPE_IPV4);
}
- if (candidate->ipv4_gateway != NULL &&
- candidate->ipv4_gateway->active == TRUE &&
+ if (candidate->ipv4_gateway &&
+ candidate->ipv4_gateway->active &&
candidate->order > data->order) {
DBG("ipv4 downgrading this %p", data);
unset_default_gateway(data,
CONNMAN_IPCONFIG_TYPE_IPV4);
- downgraded = TRUE;
+ downgraded = true;
}
}
- if (data->ipv6_gateway != NULL) {
- if (candidate->ipv6_gateway != NULL &&
- candidate->ipv6_gateway->active == FALSE) {
+ if (data->ipv6_gateway) {
+ if (candidate->ipv6_gateway &&
+ !candidate->ipv6_gateway->active) {
DBG("ipv6 downgrading %p", candidate);
unset_default_gateway(candidate,
CONNMAN_IPCONFIG_TYPE_IPV6);
}
- if (candidate->ipv6_gateway != NULL &&
- candidate->ipv6_gateway->active == TRUE &&
+ if (candidate->ipv6_gateway &&
+ candidate->ipv6_gateway->active &&
candidate->order > data->order) {
DBG("ipv6 downgrading this %p", data);
unset_default_gateway(data,
CONNMAN_IPCONFIG_TYPE_IPV6);
- downgraded = TRUE;
+ downgraded = true;
}
}
@@ -637,15 +637,15 @@ static void connection_newgateway(int index, const char *gateway)
struct gateway_data *data;
GHashTableIter iter;
gpointer value, key;
- gboolean found = FALSE;
+ bool found = false;
DBG("index %d gateway %s", index, gateway);
config = find_gateway(index, gateway);
- if (config == NULL)
+ if (!config)
return;
- config->active = TRUE;
+ config->active = true;
/*
* It is possible that we have two default routes atm
@@ -653,10 +653,10 @@ static void connection_newgateway(int index, const char *gateway)
* same time.
*/
data = lookup_gateway_data(config);
- if (data == NULL)
+ if (!data)
return;
- if (data->default_checked == TRUE)
+ if (data->default_checked)
return;
/*
@@ -666,26 +666,26 @@ static void connection_newgateway(int index, const char *gateway)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *candidate = value;
if (candidate == data)
continue;
found = choose_default_gateway(data, candidate);
- if (found == TRUE)
+ if (found)
break;
}
- if (found == FALSE) {
- if (data->ipv4_gateway != NULL)
+ if (!found) {
+ if (data->ipv4_gateway)
set_default_gateway(data, CONNMAN_IPCONFIG_TYPE_IPV4);
- if (data->ipv6_gateway != NULL)
+ if (data->ipv6_gateway)
set_default_gateway(data, CONNMAN_IPCONFIG_TYPE_IPV6);
}
- data->default_checked = TRUE;
+ data->default_checked = true;
}
static void remove_gateway(gpointer user_data)
@@ -694,14 +694,14 @@ static void remove_gateway(gpointer user_data)
DBG("gateway ipv4 %p ipv6 %p", data->ipv4_gateway, data->ipv6_gateway);
- if (data->ipv4_gateway != NULL) {
+ if (data->ipv4_gateway) {
g_free(data->ipv4_gateway->gateway);
g_free(data->ipv4_gateway->vpn_ip);
g_free(data->ipv4_gateway->vpn_phy_ip);
g_free(data->ipv4_gateway);
}
- if (data->ipv6_gateway != NULL) {
+ if (data->ipv6_gateway) {
g_free(data->ipv6_gateway->gateway);
g_free(data->ipv6_gateway->vpn_ip);
g_free(data->ipv6_gateway->vpn_phy_ip);
@@ -719,11 +719,11 @@ static void connection_delgateway(int index, const char *gateway)
DBG("index %d gateway %s", index, gateway);
config = find_gateway(index, gateway);
- if (config != NULL)
- config->active = FALSE;
+ if (config)
+ config->active = false;
data = find_default_gateway();
- if (data != NULL)
+ if (data)
set_default_gateway(data, CONNMAN_IPCONFIG_TYPE_ALL);
}
@@ -742,15 +742,15 @@ static struct gateway_data *find_active_gateway(void)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (data->ipv4_gateway != NULL &&
- data->ipv4_gateway->active == TRUE)
+ if (data->ipv4_gateway &&
+ data->ipv4_gateway->active)
return data;
- if (data->ipv6_gateway != NULL &&
- data->ipv6_gateway->active == TRUE)
+ if (data->ipv6_gateway &&
+ data->ipv6_gateway->active)
return data;
}
@@ -766,7 +766,7 @@ static void update_order(void)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
data->order = __connman_service_get_order(data->service);
@@ -779,16 +779,16 @@ void __connman_connection_gateway_activate(struct connman_service *service,
struct gateway_data *data = NULL;
data = g_hash_table_lookup(gateway_hash, service);
- if (data == NULL)
+ if (!data)
return;
DBG("gateway %p/%p type %d", data->ipv4_gateway,
data->ipv6_gateway, type);
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
- data->ipv4_gateway->active = TRUE;
+ data->ipv4_gateway->active = true;
else if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
- data->ipv6_gateway->active = TRUE;
+ data->ipv6_gateway->active = true;
}
static void add_host_route(int family, int index, const char *gateway,
@@ -859,17 +859,17 @@ int __connman_connection_gateway_add(struct connman_service *service,
* gateway for ipv4 is 0.0.0.0 and for ipv6 is ::, meaning the
* interface
*/
- if (gateway == NULL && type == CONNMAN_IPCONFIG_TYPE_IPV4)
+ if (!gateway && type == CONNMAN_IPCONFIG_TYPE_IPV4)
gateway = "0.0.0.0";
- if (gateway == NULL && type == CONNMAN_IPCONFIG_TYPE_IPV6)
+ if (!gateway && type == CONNMAN_IPCONFIG_TYPE_IPV6)
gateway = "::";
DBG("service %p index %d gateway %s vpn ip %s type %d",
service, index, gateway, peer, type);
new_gateway = add_gateway(service, index, gateway, type);
- if (new_gateway == NULL)
+ if (!new_gateway)
return -EINVAL;
active_gateway = find_active_gateway();
@@ -878,7 +878,7 @@ int __connman_connection_gateway_add(struct connman_service *service,
active_gateway ? active_gateway->index : -1, new_gateway);
if (type == CONNMAN_IPCONFIG_TYPE_IPV4 &&
- new_gateway->ipv4_gateway != NULL) {
+ new_gateway->ipv4_gateway) {
add_host_route(AF_INET, index, gateway, service_type);
__connman_service_nameserver_add_routes(service,
new_gateway->ipv4_gateway->gateway);
@@ -886,7 +886,7 @@ int __connman_connection_gateway_add(struct connman_service *service,
}
if (type == CONNMAN_IPCONFIG_TYPE_IPV6 &&
- new_gateway->ipv6_gateway != NULL) {
+ new_gateway->ipv6_gateway) {
add_host_route(AF_INET6, index, gateway, service_type);
__connman_service_nameserver_add_routes(service,
new_gateway->ipv6_gateway->gateway);
@@ -900,34 +900,32 @@ int __connman_connection_gateway_add(struct connman_service *service,
} else {
if (type == CONNMAN_IPCONFIG_TYPE_IPV4 &&
- new_gateway->ipv4_gateway != NULL)
- new_gateway->ipv4_gateway->vpn = FALSE;
+ new_gateway->ipv4_gateway)
+ new_gateway->ipv4_gateway->vpn = false;
if (type == CONNMAN_IPCONFIG_TYPE_IPV6 &&
- new_gateway->ipv6_gateway != NULL)
- new_gateway->ipv6_gateway->vpn = FALSE;
+ new_gateway->ipv6_gateway)
+ new_gateway->ipv6_gateway->vpn = false;
}
- if (active_gateway == NULL) {
+ if (!active_gateway) {
set_default_gateway(new_gateway, type);
goto done;
}
if (type == CONNMAN_IPCONFIG_TYPE_IPV4 &&
- new_gateway->ipv4_gateway != NULL &&
- new_gateway->ipv4_gateway->vpn == TRUE) {
- if (__connman_service_is_split_routing(new_gateway->service) ==
- FALSE)
+ new_gateway->ipv4_gateway &&
+ new_gateway->ipv4_gateway->vpn) {
+ if (!__connman_service_is_split_routing(new_gateway->service))
connman_inet_clear_gateway_address(
active_gateway->index,
active_gateway->ipv4_gateway->gateway);
}
if (type == CONNMAN_IPCONFIG_TYPE_IPV6 &&
- new_gateway->ipv6_gateway != NULL &&
- new_gateway->ipv6_gateway->vpn == TRUE) {
- if (__connman_service_is_split_routing(new_gateway->service) ==
- FALSE)
+ new_gateway->ipv6_gateway &&
+ new_gateway->ipv6_gateway->vpn) {
+ if (!__connman_service_is_split_routing(new_gateway->service))
connman_inet_clear_ipv6_gateway_address(
active_gateway->index,
active_gateway->ipv6_gateway->gateway);
@@ -950,29 +948,29 @@ void __connman_connection_gateway_remove(struct connman_service *service,
enum connman_ipconfig_type type)
{
struct gateway_data *data = NULL;
- gboolean set_default4 = FALSE, set_default6 = FALSE;
- int do_ipv4 = FALSE, do_ipv6 = FALSE;
+ bool set_default4 = false, set_default6 = false;
+ bool do_ipv4 = false, do_ipv6 = false;
int err;
DBG("service %p type %d", service, type);
if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
- do_ipv4 = TRUE;
+ do_ipv4 = true;
else if (type == CONNMAN_IPCONFIG_TYPE_IPV6)
- do_ipv6 = TRUE;
+ do_ipv6 = true;
else
- do_ipv4 = do_ipv6 = TRUE;
+ do_ipv4 = do_ipv6 = true;
__connman_service_nameserver_del_routes(service, type);
data = g_hash_table_lookup(gateway_hash, service);
- if (data == NULL)
+ if (!data)
return;
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL)
+ if (do_ipv4 && data->ipv4_gateway)
set_default4 = data->ipv4_gateway->vpn;
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL)
+ if (do_ipv6 && data->ipv6_gateway)
set_default6 = data->ipv6_gateway->vpn;
DBG("ipv4 gateway %s ipv6 gateway %s vpn %d/%d",
@@ -980,14 +978,15 @@ void __connman_connection_gateway_remove(struct connman_service *service,
data->ipv6_gateway ? data->ipv6_gateway->gateway : "<null>",
set_default4, set_default6);
- if (do_ipv4 == TRUE && data->ipv4_gateway != NULL &&
- data->ipv4_gateway->vpn == TRUE && data->index >= 0)
- connman_inet_del_host_route(data->index,
+ if (do_ipv4 && data->ipv4_gateway &&
+ data->ipv4_gateway->vpn && data->index >= 0)
+ connman_inet_del_host_route(data->ipv4_gateway->vpn_phy_index,
data->ipv4_gateway->gateway);
- if (do_ipv6 == TRUE && data->ipv6_gateway != NULL &&
- data->ipv6_gateway->vpn == TRUE && data->index >= 0)
- connman_inet_del_ipv6_host_route(data->index,
+ if (do_ipv6 && data->ipv6_gateway &&
+ data->ipv6_gateway->vpn && data->index >= 0)
+ connman_inet_del_ipv6_host_route(
+ data->ipv6_gateway->vpn_phy_index,
data->ipv6_gateway->gateway);
err = disable_gateway(data, type);
@@ -997,10 +996,10 @@ void __connman_connection_gateway_remove(struct connman_service *service,
* settings are to be removed.
*/
if (do_ipv4 == do_ipv6 ||
- (data->ipv4_gateway != NULL && data->ipv6_gateway == NULL
- && do_ipv4 == TRUE) ||
- (data->ipv6_gateway != NULL && data->ipv4_gateway == NULL
- && do_ipv6 == TRUE)
+ (data->ipv4_gateway && !data->ipv6_gateway
+ && do_ipv4) ||
+ (data->ipv6_gateway && !data->ipv4_gateway
+ && do_ipv6)
) {
connman_service_unref(service);
g_hash_table_remove(gateway_hash, service);
@@ -1016,19 +1015,19 @@ void __connman_connection_gateway_remove(struct connman_service *service,
*/
if (set_default4 || set_default6 || err < 0) {
data = find_default_gateway();
- if (data != NULL)
+ if (data)
set_default_gateway(data, type);
}
}
-gboolean __connman_connection_update_gateway(void)
+bool __connman_connection_update_gateway(void)
{
struct gateway_data *default_gateway;
- gboolean updated = FALSE;
+ bool updated = false;
GHashTableIter iter;
gpointer value, key;
- if (gateway_hash == NULL)
+ if (!gateway_hash)
return updated;
update_order();
@@ -1045,30 +1044,30 @@ gboolean __connman_connection_update_gateway(void)
*/
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *active_gateway = value;
if (active_gateway == default_gateway)
continue;
- if (active_gateway->ipv4_gateway != NULL &&
- active_gateway->ipv4_gateway->active == TRUE) {
+ if (active_gateway->ipv4_gateway &&
+ active_gateway->ipv4_gateway->active) {
unset_default_gateway(active_gateway,
CONNMAN_IPCONFIG_TYPE_IPV4);
- updated = TRUE;
+ updated = true;
}
- if (active_gateway->ipv6_gateway != NULL &&
- active_gateway->ipv6_gateway->active == TRUE) {
+ if (active_gateway->ipv6_gateway &&
+ active_gateway->ipv6_gateway->active) {
unset_default_gateway(active_gateway,
CONNMAN_IPCONFIG_TYPE_IPV6);
- updated = TRUE;
+ updated = true;
}
}
- if (updated && default_gateway != NULL) {
+ if (updated && default_gateway) {
if (default_gateway->ipv4_gateway)
set_default_gateway(default_gateway,
CONNMAN_IPCONFIG_TYPE_IPV4);
@@ -1088,14 +1087,14 @@ int __connman_connection_get_vpn_index(int phy_index)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
- if (data->ipv4_gateway != NULL &&
+ if (data->ipv4_gateway &&
data->ipv4_gateway->vpn_phy_index == phy_index)
return data->index;
- if (data->ipv6_gateway != NULL &&
+ if (data->ipv6_gateway &&
data->ipv6_gateway->vpn_phy_index == phy_index)
return data->index;
}
@@ -1130,7 +1129,7 @@ void __connman_connection_cleanup(void)
g_hash_table_iter_init(&iter, gateway_hash);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
struct gateway_data *data = value;
disable_gateway(data, CONNMAN_IPCONFIG_TYPE_ALL);