summaryrefslogtreecommitdiff
path: root/src/ipconfig.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-05-12 18:37:03 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-05-12 18:37:03 +0200
commit1722ac7307ac20824bb70a7cc3dc2fbd31995d45 (patch)
treefff37c74d39167d2d1df0638026c2fd3ef894066 /src/ipconfig.c
parent49fb5a015eb88cbbcaf89d49ac11ab2eb3d68b7e (diff)
downloadconnman-1722ac7307ac20824bb70a7cc3dc2fbd31995d45.tar.gz
connman-1722ac7307ac20824bb70a7cc3dc2fbd31995d45.tar.bz2
connman-1722ac7307ac20824bb70a7cc3dc2fbd31995d45.zip
Export IPv4 gateway properly information if available
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r--src/ipconfig.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 5b51ef0e..220f3a66 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -848,6 +848,9 @@ void connman_ipconfig_set_data(struct connman_ipconfig *ipconfig, void *data)
*/
int connman_ipconfig_get_index(struct connman_ipconfig *ipconfig)
{
+ if (ipconfig == NULL)
+ return -1;
+
if (ipconfig->origin != NULL)
return ipconfig->origin->index;
@@ -864,6 +867,9 @@ const char *connman_ipconfig_get_ifname(struct connman_ipconfig *ipconfig)
{
struct connman_ipdevice *ipdevice;
+ if (ipconfig == NULL)
+ return NULL;
+
if (ipconfig->index < 0)
return NULL;
@@ -1109,6 +1115,10 @@ void __connman_ipconfig_append_ipv4(struct connman_ipconfig *ipconfig,
connman_dbus_dict_append_basic(iter, "Netmask",
DBUS_TYPE_STRING, &mask);
}
+
+ if (ipconfig->system->gateway != NULL)
+ connman_dbus_dict_append_basic(iter, "Gateway",
+ DBUS_TYPE_STRING, &ipconfig->address->gateway);
}
void __connman_ipconfig_append_ipv4config(struct connman_ipconfig *ipconfig,
@@ -1148,10 +1158,11 @@ void __connman_ipconfig_append_ipv4config(struct connman_ipconfig *ipconfig,
mask = inet_ntoa(netmask);
connman_dbus_dict_append_basic(iter, "Netmask",
DBUS_TYPE_STRING, &mask);
+ }
+ if (ipconfig->address->gateway != NULL)
connman_dbus_dict_append_basic(iter, "Gateway",
DBUS_TYPE_STRING, &ipconfig->address->gateway);
- }
}
int __connman_ipconfig_set_ipv4config(struct connman_ipconfig *ipconfig,