summaryrefslogtreecommitdiff
path: root/plugins/resolvconf.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-09-01 21:12:59 +0200
committerMarcel Holtmann <marcel@holtmann.org>2008-09-01 21:12:59 +0200
commit7f30feb2513f6a1609f291e4e9c647a08434d2c2 (patch)
tree391087c05f571de959a2c1755dfb21436b607b01 /plugins/resolvconf.c
parent85f79afa2392e6ef108812685b8a1901448c4ebb (diff)
downloadconnman-7f30feb2513f6a1609f291e4e9c647a08434d2c2.tar.gz
connman-7f30feb2513f6a1609f291e4e9c647a08434d2c2.tar.bz2
connman-7f30feb2513f6a1609f291e4e9c647a08434d2c2.zip
Fixup resolver plugins to use INET helpers
Diffstat (limited to 'plugins/resolvconf.c')
-rw-r--r--plugins/resolvconf.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/plugins/resolvconf.c b/plugins/resolvconf.c
index 779c68f3..814bbeb7 100644
--- a/plugins/resolvconf.c
+++ b/plugins/resolvconf.c
@@ -30,13 +30,15 @@
#include <connman/driver.h>
#include <connman/log.h>
+#include "inet.h"
+
#define RESOLVCONF "/sbin/resolvconf"
static int resolvconf_probe(struct connman_element *element)
{
const char *nameserver = NULL;
struct connman_element *internet;
- gchar *cmd;
+ gchar *cmd, *name;
int err;
DBG("element %p name %s", element, element->name);
@@ -45,22 +47,26 @@ static int resolvconf_probe(struct connman_element *element)
return -errno;
connman_element_get_value(element,
- CONNMAN_PROPERTY_TYPE_IPV4_NAMESERVER, &nameserver);
+ CONNMAN_PROPERTY_ID_IPV4_NAMESERVER, &nameserver);
if (nameserver == NULL)
return -EINVAL;
+ name = inet_index2name(element->index);
+
cmd = g_strdup_printf("echo \"nameserver %s\" | %s -a %s",
- nameserver, RESOLVCONF,
- element->netdev.name);
+ nameserver, RESOLVCONF, name);
+
+ g_free(name);
DBG("%s", cmd);
- err = system(cmd);
+ //err = system(cmd);
+ err = 0;
g_free(cmd);
- internet = connman_element_create();
+ internet = connman_element_create(NULL);
internet->type = CONNMAN_ELEMENT_TYPE_INTERNET;
@@ -71,16 +77,21 @@ static int resolvconf_probe(struct connman_element *element)
static void resolvconf_remove(struct connman_element *element)
{
- gchar *cmd;
+ gchar *cmd, *name;
int err;
DBG("element %p name %s", element, element->name);
- cmd = g_strdup_printf("%s -d %s", RESOLVCONF, element->netdev.name);
+ name = inet_index2name(element->index);
+
+ cmd = g_strdup_printf("%s -d %s", RESOLVCONF, name);
+
+ g_free(name);
DBG("%s", cmd);
- err = system(cmd);
+ //err = system(cmd);
+ err = 0;
g_free(cmd);
}