This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 bootstrap-configure  |    1 +
 configure.ac         |   21 +++++++++--
 plugins/Makefile.am  |   10 +++--
 plugins/resolvfile.c |   92 --------------------------------------------------
 src/connman.h        |    3 ++
 src/main.c           |    8 +---
 src/resolver.c       |   62 +++++++++++++++++++++++++++++++++
 7 files changed, 91 insertions(+), 106 deletions(-)

New commits:
commit 18a1d464eceb21cfb1956f4991fa6d5ddc7b31c2
Author: Marcel Holtmann <[email protected]>
Date:   Sat Jan 3 12:01:18 2009 +0100

    Fix minor spelling mistake

commit d8d3470ebc609dd702a1bce7b1ab07b105f9e4ca
Author: Marcel Holtmann <[email protected]>
Date:   Sat Jan 3 11:58:22 2009 +0100

    Use correct flags for PPP plugin

commit 264e2b2c025b44104ac97f084ba3ad2ff3ed67c9
Author: Marcel Holtmann <[email protected]>
Date:   Sat Jan 3 11:57:07 2009 +0100

    Add option for selecting resolvconf support

commit 136ce2c05ed1fdd3033215bd9f15867c56b6dc4f
Author: Marcel Holtmann <[email protected]>
Date:   Sat Jan 3 11:49:58 2009 +0100

    Make /etc/resolv.conf modification part of the daemon

commit ef15fdd2b73da041cb3cd623ca0b4ce0c856644a
Author: Marcel Holtmann <[email protected]>
Date:   Sat Jan 3 11:41:53 2009 +0100

    Remove some empty lines to make it more readable


Diff in this email is a maximum of 400 lines.
diff --git a/bootstrap-configure b/bootstrap-configure
index c9d8ebe..5abeb4b 100755
--- a/bootstrap-configure
+++ b/bootstrap-configure
@@ -20,6 +20,7 @@ fi
                --enable-wifi \
                --enable-udhcp \
                --enable-dhclient \
+               --enable-resolvconf \
                --enable-novatel \
                --enable-huawei \
                --enable-hso \
diff --git a/configure.ac b/configure.ac
index 2a4900c..39dbced 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,7 +57,7 @@ fi
 AM_CONDITIONAL(WIFI, test "${enable_wifi}" = "yes")
 
 AC_ARG_WITH(udhcpc, AC_HELP_STRING([--with-udhcpc=PROGRAM],
-       [specific location of udhcpc binary]), [path_udhcpc=${withval}])
+       [specify location of udhcpc binary]), [path_udhcpc=${withval}])
 
 AC_ARG_ENABLE(UDHCP, AC_HELP_STRING([--enable-udhcp],
                [enable uDHCP support]), [enable_udhcp=${enableval}])
@@ -72,7 +72,7 @@ fi
 AM_CONDITIONAL(UDHCP, test "${enable_udhcp}" = "yes")
 
 AC_ARG_WITH(dhclient, AC_HELP_STRING([--with-dhclient=PROGRAM],
-       [specific location of dhclient binary]), [path_dhclient=${withval}])
+       [specify location of dhclient binary]), [path_dhclient=${withval}])
 
 AC_ARG_ENABLE(DHCLIENT, AC_HELP_STRING([--enable-dhclient],
                [enable dhclient support]), [enable_dhclient=${enableval}])
@@ -86,7 +86,20 @@ if (test "${enable_dhclient}" = "yes"); then
 fi
 AM_CONDITIONAL(DHCLIENT, test "${enable_dhclient}" = "yes")
 
-AC_PATH_PROG(RESOLVCONF, [resolvconf], [], $PATH:/sbin:/usr/sbin)
+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}])
+if (test "${enable_resolvconf}" = "yes"); then
+       if (test -z "${path_resolvconf}"); then
+               AC_PATH_PROG(RESOLVCONF, [resolvconf], [], 
$PATH:/sbin:/usr/sbin)
+       else
+               UDHCPC="${path_resolvconf}"
+               AC_SUBST(RESOLVCONF)
+       fi
+fi
+AM_CONDITIONAL(RESOLVCONF, test "${enable_resolvconf}" = "yes")
 
 AC_ARG_ENABLE(novatel, AC_HELP_STRING([--enable-novatel],
                [enable Novatel support]), [enable_novatel=${enableval}])
@@ -101,7 +114,7 @@ AC_ARG_ENABLE(hso, AC_HELP_STRING([--enable-hso],
 AM_CONDITIONAL(HSO, test "${enable_hso}" = "yes")
 
 AC_ARG_WITH(pppd, AC_HELP_STRING([--with-pppd=PROGRAM],
-       [specific location of pppd binary]), [path_pppd=${withval}])
+       [specify location of pppd binary]), [path_pppd=${withval}])
 
 AC_ARG_ENABLE(ppp, AC_HELP_STRING([--enable-ppp],
                [enable PPP support]), [enable_ppp=${enableval}])
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 597da4b..f2b280c 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -1,8 +1,7 @@
 
 plugindir = $(libdir)/connman/plugins
 
-plugin_LTLIBRARIES = ethernet.la bluetooth.la \
-                       ipv4.la dnsproxy.la resolvconf.la resolvfile.la
+plugin_LTLIBRARIES = ethernet.la bluetooth.la ipv4.la dnsproxy.la
 
 if LOOPBACK
 plugin_LTLIBRARIES += loopback.la
@@ -62,14 +61,17 @@ if PPPD
 plugin_LTLIBRARIES += pppd.la
 
 pppd_la_SOURCES = pppd.c
+pppd_la_CFLAGS = @GLIB_CFLAGS@ -DPPPD=\"@p...@\"
 endif
 
 dnsproxy_la_SOURCES = dnsproxy.c
 
+if RESOLVCONF
+plugin_LTLIBRARIES += resolvconf.la
+
 resolvconf_la_SOURCES = resolvconf.c
 resolvconf_la_CFLAGS = @GLIB_CFLAGS@ -DRESOLVCONF=\"@resolvc...@\"
-
-resolvfile_la_SOURCES = resolvfile.c
+endif
 
 if POLKIT
 plugin_LTLIBRARIES += polkit.la
diff --git a/plugins/resolvfile.c b/plugins/resolvfile.c
deleted file mode 100644
index e89b2ca..0000000
--- a/plugins/resolvfile.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- *
- *  Connection Manager
- *
- *  Copyright (C) 2007-2009  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 <stdio.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#define CONNMAN_API_SUBJECT_TO_CHANGE
-#include <connman/plugin.h>
-#include <connman/resolver.h>
-#include <connman/log.h>
-
-#include <glib.h>
-
-static int resolvfile_append(const char *interface, const char *domain,
-                                                       const char *server)
-{
-       char *cmd;
-       int fd, len, err;
-
-       DBG("server %s", server);
-
-       fd = open("/etc/resolv.conf", O_RDWR | O_CREAT,
-                                       S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
-       if (fd < 0)
-               return errno;
-
-       err = ftruncate(fd, 0);
-
-       cmd = g_strdup_printf("nameserver %s\n", server);
-
-       len = write(fd, cmd, strlen(cmd));
-
-       g_free(cmd);
-
-       close(fd);
-
-       return 0;
-}
-
-static int resolvfile_remove(const char *interface, const char *domain,
-                                                       const char *server)
-{
-       DBG("server %s", server);
-
-       return 0;
-}
-
-static struct connman_resolver resolvfile_resolver = {
-       .name           = "resolvfile",
-       .priority       = CONNMAN_RESOLVER_PRIORITY_LOW,
-       .append         = resolvfile_append,
-       .remove         = resolvfile_remove,
-};
-
-static int resolvfile_init(void)
-{
-       return connman_resolver_register(&resolvfile_resolver);
-}
-
-static void resolvfile_exit(void)
-{
-       connman_resolver_unregister(&resolvfile_resolver);
-}
-
-CONNMAN_PLUGIN_DEFINE(resolvfile, "Name resolver plugin", VERSION,
-                                       resolvfile_init, resolvfile_exit)
diff --git a/src/connman.h b/src/connman.h
index e410ac1..cb5f72a 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -77,6 +77,9 @@ enum connman_ipv4_method __connman_ipv4_string2method(const 
char *method);
 
 #include <connman/resolver.h>
 
+int __connman_resolver_init(void);
+void __connman_resolver_cleanup(void);
+
 int __connman_resolver_selftest(void);
 
 #include <connman/driver.h>
diff --git a/src/main.c b/src/main.c
index 65cc9d4..971359d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -153,15 +153,13 @@ int main(int argc, char *argv[])
        __connman_dbus_init(conn);
 
        __connman_storage_init();
-
        __connman_element_init(conn, option_device);
 
        __connman_agent_init(conn);
-
        __connman_manager_init(conn, option_compat);
-
        __connman_profile_init(conn);
 
+       __connman_resolver_init();
        __connman_rtnl_init();
        __connman_udev_init();
 
@@ -184,15 +182,13 @@ int main(int argc, char *argv[])
 
        __connman_udev_cleanup();
        __connman_rtnl_cleanup();
+       __connman_resolver_cleanup();
 
        __connman_profile_cleanup();
-
        __connman_manager_cleanup();
-
        __connman_agent_cleanup();
 
        __connman_element_cleanup();
-
        __connman_storage_cleanup();
 
        __connman_dbus_cleanup();
diff --git a/src/resolver.c b/src/resolver.c
index 0f35188..de60cf1 100644
--- a/src/resolver.c
+++ b/src/resolver.c
@@ -23,6 +23,13 @@
 #include <config.h>
 #endif
 
+#include <stdio.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/stat.h>
+
 #include "connman.h"
 
 struct entry_data {
@@ -231,3 +238,58 @@ int __connman_resolver_selftest(void)
 
        return 0;
 }
+
+static int resolvfile_append(const char *interface, const char *domain,
+                                                       const char *server)
+{
+       char *cmd;
+       int fd, len, err;
+
+       DBG("interface %s server %s", interface, server);
+
+       fd = open("/etc/resolv.conf", O_RDWR | O_CREAT,
+                                       S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+       if (fd < 0)
+               return errno;
+
+       err = ftruncate(fd, 0);
+
+       cmd = g_strdup_printf("nameserver %s\n", server);
+
+       len = write(fd, cmd, strlen(cmd));
+
+       g_free(cmd);
+
+       close(fd);
+
+       return 0;
+}
+
+static int resolvfile_remove(const char *interface, const char *domain,
+                                                       const char *server)
+{
+       DBG("interface %s server %s", interface, server);
+
+       return 0;
+}
+
+static struct connman_resolver resolvfile_resolver = {
+       .name           = "resolvfile",
+       .priority       = CONNMAN_RESOLVER_PRIORITY_LOW,
+       .append         = resolvfile_append,
+       .remove         = resolvfile_remove,
+};
+
+int __connman_resolver_init(void)
+{
+       DBG("");
+
+       return connman_resolver_register(&resolvfile_resolver);
+}
+
+void __connman_resolver_cleanup(void)
+{
+       DBG("");
+
+       connman_resolver_unregister(&resolvfile_resolver);
+}
_______________________________________________
Commits mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/commits

Reply via email to