--enable-ofono \
--enable-udhcp \
--enable-dhclient \
- --enable-resolvconf \
--enable-dnsproxy \
--enable-google \
--enable-meego \
endif
endif
-if RESOLVCONF
-if RESOLVCONF_BUILTIN
-builtin_modules += resolvconf
-builtin_sources += plugins/resolvconf.c
-builtin_cflags += -DRESOLVCONF=\"@RESOLVCONF@\"
-else
-plugin_LTLIBRARIES += plugins/resolvconf.la
-plugin_objects += $(plugins_resolvconf_la_OBJECTS)
-plugins_resolvconf_la_CFLAGS = $(plugin_cflags) -DRESOLVCONF=\"@RESOLVCONF@\"
-plugins_resolvconf_la_LDFLAGS = $(plugin_ldflags)
-endif
-endif
-
if OPENCONNECT
if OPENCONNECT_BUILTIN
builtin_modules += openconnect
Also plugins with additional features are available:
- DHCP plugins (uDHCP and dhclient)
- - Resolver plugins (resolvconf and DNS proxy)
+ - Resolver plugin (DNS proxy)
- Loopback setup
- PolicyKit support
It is important that this is not used together with other
DNS proxy solution like dnsmasq.
- --enable-resolvconf
-
- Enable resolvconf support for Debian/Ubuntu based systems
-
- The resolvconf package from Debian can be used to handle
- configuration of the /etc/resolv.conf file.
-
- It is safe to select this option even when resolvconf is not
- installed. A missing resolvconf will be detected and in that
- case it falls back to modifying /etc/resolv.conf directly.
-
- The location of the resolvconf binary is auto-detected, but it
- can be overwritten via --with-resolvconf=<path-to-binary>.
-
--enable-loopback
Enable setup of loopback device
--enable-udhcp=builtin \
--enable-dhclient=builtin \
--enable-openconnect=builtin \
- --enable-resolvconf=builtin \
--enable-dnsproxy=builtin \
--enable-google=builtin \
--enable-meego=builtin \
AM_CONDITIONAL(DHCLIENT, test "${enable_dhclient}" != "no")
AM_CONDITIONAL(DHCLIENT_BUILTIN, test "${enable_dhclient}" = "builtin")
-AC_ARG_WITH(resolvconf, AC_HELP_STRING([--with-resolvconf=PROGRAM],
- [specify location of resolvconf binary]), [path_resolvconf=${withval}])
-
-AC_ARG_ENABLE(resolvconf,
- AC_HELP_STRING([--enable-resolvconf], [enable resolvconf support]),
- [enable_resolvconf=${enableval}], [enable_resolvconf="no"])
-if (test "${enable_resolvconf}" != "no"); then
- if (test -z "${path_resolvconf}"); then
- AC_PATH_PROG(RESOLVCONF, [resolvconf], [], $PATH:/sbin:/usr/sbin)
- else
- RESOLVCONF="${path_resolvconf}"
- AC_SUBST(RESOLVCONF)
- fi
-fi
-AM_CONDITIONAL(RESOLVCONF, test "${enable_resolvconf}" != "no")
-AM_CONDITIONAL(RESOLVCONF_BUILTIN, test "${enable_resolvconf}" = "builtin")
-
AC_ARG_WITH(openconnect, AC_HELP_STRING([--with-openconnect=PROGRAM],
[specify location of openconnect binary]), [path_openconnect=${withval}])
+++ /dev/null
-/*
- *
- * Connection Manager
- *
- * Copyright (C) 2007-2010 Intel Corporation. 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
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#define CONNMAN_API_SUBJECT_TO_CHANGE
-#include <connman/plugin.h>
-#include <connman/resolver.h>
-#include <connman/log.h>
-
-#include <glib.h>
-
-static int resolvconf_append(const char *interface, const char *domain,
- const char *server)
-{
- char *cmd;
- int err;
-
- DBG("interface %s server %s", interface, server);
-
- if (access(RESOLVCONF, X_OK) < 0)
- return -errno;
-
- if (interface == NULL)
- return 0;
-
- cmd = g_strdup_printf("echo \"nameserver %s\" | %s -a %s",
- server, RESOLVCONF, interface);
-
- DBG("%s", cmd);
-
- err = system(cmd);
-
- g_free(cmd);
-
- return err;
-}
-
-static int resolvconf_remove(const char *interface, const char *domain,
- const char *server)
-{
- char *cmd;
- int err;
-
- DBG("interface %s server %s", interface, server);
-
- if (interface == NULL)
- return 0;
-
- cmd = g_strdup_printf("%s -d %s", RESOLVCONF, interface);
-
- DBG("%s", cmd);
-
- err = system(cmd);
-
- g_free(cmd);
-
- return err;
-}
-
-static struct connman_resolver resolvconf_resolver = {
- .name = "resolvconf",
- .priority = CONNMAN_RESOLVER_PRIORITY_DEFAULT,
- .append = resolvconf_append,
- .remove = resolvconf_remove,
-};
-
-static int resolvconf_init(void)
-{
- return connman_resolver_register(&resolvconf_resolver);
-}
-
-static void resolvconf_exit(void)
-{
- connman_resolver_unregister(&resolvconf_resolver);
-}
-
-CONNMAN_PLUGIN_DEFINE(resolvconf, "Name resolver plugin", VERSION,
- CONNMAN_PLUGIN_PRIORITY_DEFAULT, resolvconf_init, resolvconf_exit)