src/wifi.c src/storage.c src/dbus.c src/config.c \
src/technology.c src/counter.c src/location.c \
src/session.c src/tethering.c src/ondemand.c \
- src/wpad.c src/wispr.c src/stats.c src/iptables.c
+ src/wpad.c src/wispr.c src/stats.c src/iptables.c \
+ src/dnsproxy.c
src_connmand_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
@CAPNG_LIBS@ @XTABLES_LIBS@ -lresolv -ldl
--enable-wifi \
--enable-bluetooth \
--enable-ofono \
- --enable-dnsproxy \
--enable-pacrunner \
--enable-google \
--enable-meego \
endif
endif
-if DNSPROXY
-if DNSPROXY_BUILTIN
-builtin_modules += dnsproxy
-builtin_sources += plugins/dnsproxy.c
-else
-plugin_LTLIBRARIES += plugins/dnsproxy.la
-plugin_objects += $(plugins_dnsproxy_la_OBJECTS)
-plugins_dnsproxy_la_CFLAGS = $(plugin_cflags)
-plugins_dnsproxy_la_LDFLAGS = $(plugin_ldflags)
-endif
-endif
-
if PACRUNNER
if PACRUNNER_BUILTIN
builtin_modules += pacrunner
- Generic plugin infrastructure
- Device and network abstraction (with basic storage support)
- IPv4, routing and DNS configuration
+ - DNS Proxy
Various plugins can be enabled for networking support:
- Ethernet plugin
- Bluetooth plugin
Also plugins with additional features are available:
- - Resolver plugin (DNS proxy)
- Loopback setup
- PolicyKit support
Enable support for Bluetooth devices (requires BlueZ)
- --enable-dnsproxy
-
- Enable DNS proxy support for /etc/resolv.conf abstraction
-
- The best solution for multiple connections and proper DNS
- handling is a DNS proxy server. This binds a DNS proxy
- server to port 53 on the loopback interface (127.0.0.1).
-
- The /etc/resolv.conf file needs a "nameserver 127.0.0.1"
- entry, but can now set the immutable bit or be on a read-only
- filesystem. No further modification to that file will be made.
-
- It is important that this is not used together with other
- DNS proxy solution like dnsmasq.
-
--enable-loopback
Enable setup of loopback device
AM_CONDITIONAL(LOOPBACK, test "${enable_loopback}" != "no")
AM_CONDITIONAL(LOOPBACK_BUILTIN, test "${enable_loopback}" = "builtin")
-AC_ARG_ENABLE(dnsproxy,
- AC_HELP_STRING([--enable-dnsproxy], [enable DNS proxy support]),
- [enable_dnsproxy=${enableval}], [enable_dnsproxy="no"])
-
-AM_CONDITIONAL(DNSPROXY, test "${enable_dnsproxy}" != "no")
-AM_CONDITIONAL(DNSPROXY_BUILTIN, test "${enable_dnsproxy}" = "builtin")
-
AC_ARG_ENABLE(pacrunner,
AC_HELP_STRING([--enable-pacrunner], [enable PAC runner support]),
[enable_pacrunner=${enableval}], [enable_pacrunner="no"])
int __connman_iptables_command(const char *format, ...)
__attribute__((format(printf, 1, 2)));
int __connman_iptables_commit(const char *table_name);
+
+int __connman_dnsproxy_init(void);
+void __connman_dnsproxy_cleanup(void);
#include <sys/socket.h>
#include <netdb.h>
+#include <glib.h>
+
#define CONNMAN_API_SUBJECT_TO_CHANGE
-#include <connman/plugin.h>
-#include <connman/resolver.h>
-#include <connman/notifier.h>
#include <connman/ondemand.h>
-#include <connman/log.h>
-#include <glib.h>
+#include "connman.h"
#if __BYTE_ORDER == __LITTLE_ENDIAN
struct domain_hdr {
destroy_udp_listener();
}
-static int dnsproxy_init(void)
+int __connman_dnsproxy_init(void)
{
int err;
return err;
}
-static void dnsproxy_exit(void)
+void __connman_dnsproxy_cleanup(void)
{
connman_notifier_unregister(&dnsproxy_notifier);
destroy_listener();
}
-
-CONNMAN_PLUGIN_DEFINE(dnsproxy, "DNS proxy resolver plugin", VERSION,
- CONNMAN_PLUGIN_PRIORITY_DEFAULT, dnsproxy_init, dnsproxy_exit)
__connman_config_init();
__connman_stats_init();
+ __connman_dnsproxy_init();
__connman_resolver_init();
__connman_ipconfig_init();
__connman_rtnl_init();
__connman_rtnl_cleanup();
__connman_ipconfig_cleanup();
__connman_resolver_cleanup();
+ __connman_dnsproxy_cleanup();
__connman_stats_cleanup();
__connman_config_cleanup();