session: Fix service2bearer to return a correct match all rule
[platform/upstream/connman.git] / Makefile.am
index 5a70f0c..f05b755 100644 (file)
@@ -7,13 +7,15 @@ include_HEADERS = include/types.h include/log.h include/plugin.h \
                        include/notifier.h include/service.h \
                        include/resolver.h include/ipconfig.h \
                        include/device.h include/network.h include/inet.h \
-                       include/storage.h
+                       include/storage.h include/provision.h \
+                       include/session.h include/ipaddress.h include/agent.h \
+                       include/inotify.h
 
 nodist_include_HEADERS = include/version.h
 
 noinst_HEADERS = include/rtnl.h include/task.h \
                        include/dbus.h include/option.h \
-                       include/provider.h \
+                       include/provider.h include/vpn-dbus.h \
                        include/utsname.h include/timeserver.h include/proxy.h \
                        include/technology.h include/setting.h
 
@@ -22,13 +24,18 @@ local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
 
 
 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \
-                                       gdbus/object.c gdbus/polkit.c
+                               gdbus/object.c gdbus/client.c gdbus/polkit.c
 
 gdhcp_sources = gdhcp/gdhcp.h gdhcp/common.h gdhcp/common.c gdhcp/client.c \
-               gdhcp/server.c gdhcp/ipv4ll.h gdhcp/ipv4ll.c
+               gdhcp/server.c gdhcp/ipv4ll.h gdhcp/ipv4ll.c gdhcp/unaligned.h
 
-gweb_sources = gweb/gweb.h gweb/gweb.c gweb/gresolv.h gweb/gresolv.c \
-                                       gweb/giognutls.h gweb/giognutls.c
+gweb_sources = gweb/gweb.h gweb/gweb.c gweb/gresolv.h gweb/gresolv.c
+
+if WISPR
+gweb_sources += gweb/giognutls.h gweb/giognutls.c
+else
+gweb_sources += gweb/giognutls.h gweb/gionotls.c
+endif
 
 if DATAFILES
 
@@ -40,10 +47,20 @@ dbusconfdir = @DBUS_CONFDIR@
 
 dbusconf_DATA = src/connman.conf $(nmcompat_conf)
 
+if VPN
+dbusconf_DATA += vpn/connman-vpn-dbus.conf
+dbusservicedir = @DBUS_DATADIR@
+dbusservice_DATA = vpn/net.connman.vpn.service
+endif
+
 if SYSTEMD
 systemdunitdir = @SYSTEMD_UNITDIR@
 
 systemdunit_DATA = src/connman.service
+
+if VPN
+systemdunit_DATA += vpn/connman-vpn.service
+endif
 endif
 endif
 
@@ -60,18 +77,17 @@ noinst_PROGRAMS =
 
 unit_objects =
 
+MANUAL_PAGES =
+
 sbin_PROGRAMS = src/connmand
 
-src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) \
-                       gweb/gweb.h gweb/gweb.c \
-                       gweb/gresolv.h gweb/gresolv.c \
-                       gweb/giognutls.h gweb/gionotls.c \
+src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) $(gweb_sources) \
                        $(builtin_sources) src/connman.ver \
                        src/main.c src/connman.h src/log.c \
                        src/error.c src/plugin.c src/task.c \
                        src/device.c src/network.c src/connection.c \
                        src/manager.c src/service.c \
-                       src/clock.c src/timezone.c \
+                       src/clock.c src/timezone.c src/agent-connman.c \
                        src/agent.c src/notifier.c src/provider.c \
                        src/resolver.c src/ipconfig.c src/detect.c src/inet.c \
                        src/dhcp.c src/dhcpv6.c src/rtnl.c src/proxy.c \
@@ -80,50 +96,126 @@ src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) \
                        src/technology.c src/counter.c src/ntp.c \
                        src/session.c src/tethering.c src/wpad.c src/wispr.c \
                        src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \
-                       src/ippool.c src/bridge.c
+                       src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \
+                       src/inotify.c src/firewall.c
 
 src_connmand_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
-                               @CAPNG_LIBS@ @XTABLES_LIBS@ -lresolv -ldl
+                               @XTABLES_LIBS@ @GNUTLS_LIBS@ -lresolv -ldl -lrt
 
 src_connmand_LDFLAGS = -Wl,--export-dynamic \
                                -Wl,--version-script=$(srcdir)/src/connman.ver
 
+if VPN
+vpn_plugin_LTLIBRARIES =
+
+vpn_plugin_objects =
+
+builtin_vpn_modules =
+builtin_vpn_sources =
+builtin_vpn_libadd =
+builtin_vpn_cflags =
+
+sbin_PROGRAMS += vpn/connman-vpnd
+
+vpn_connman_vpnd_SOURCES = $(gdbus_sources) $(builtin_vpn_sources) \
+                       $(gweb_sources) vpn/vpn.ver vpn/main.c vpn/vpn.h \
+                       src/log.c src/error.c src/plugin.c src/task.c \
+                       vpn/vpn-manager.c vpn/vpn-provider.c \
+                       vpn/vpn-provider.h vpn/vpn-rtnl.h \
+                       vpn/vpn-ipconfig.c src/inet.c vpn/vpn-rtnl.c \
+                       src/dbus.c src/storage.c src/ipaddress.c src/agent.c \
+                       vpn/vpn-agent.c vpn/vpn-agent.h src/inotify.c \
+                       vpn/vpn-config.c
+
+vpn_connman_vpnd_LDADD = $(builtin_vpn_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
+                               @GNUTLS_LIBS@ -lresolv -ldl
+
+vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
+                               -Wl,--version-script=$(srcdir)/vpn/vpn.ver
+endif
+
 BUILT_SOURCES = $(local_headers) src/builtin.h
 
+if VPN
+BUILT_SOURCES += vpn/builtin.h
+endif
+
 CLEANFILES = src/connman.conf $(BUILT_SOURCES)
 
 statedir = $(localstatedir)/run/connman
 
+if VPN
+vpn_plugindir = $(libdir)/connman/plugins-vpn
+endif
+
 plugindir = $(libdir)/connman/plugins
 
 scriptdir = $(libdir)/connman/scripts
 
 storagedir = $(localstatedir)/lib/connman
+vpn_storagedir = $(localstatedir)/lib/connman-vpn
 
 configdir = ${sysconfdir}/connman
 
 if MAINTAINER_MODE
+if VPN
+build_vpn_plugindir = $(abs_top_srcdir)/vpn/plugins/.libs
+endif
 build_plugindir = $(abs_top_srcdir)/plugins/.libs
 build_scriptdir = $(abs_top_srcdir)/scripts
 else
 build_plugindir = $(plugindir)
 build_scriptdir = $(scriptdir)
+if VPN
+build_vpn_plugindir = $(vpn_plugindir)
+endif
 endif
 
-AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @CAPNG_CFLAGS@ @XTABLES_CFLAGS@ \
+AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
                                @GNUTLS_CFLAGS@ $(builtin_cflags) \
                                -DCONNMAN_PLUGIN_BUILTIN \
                                -DSTATEDIR=\""$(statedir)"\" \
                                -DPLUGINDIR=\""$(build_plugindir)"\" \
                                -DSCRIPTDIR=\""$(build_scriptdir)"\" \
                                -DSTORAGEDIR=\""$(storagedir)\"" \
+                               -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
                                -DCONFIGDIR=\""$(configdir)\""
 
-INCLUDES = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
+if VPN
+AM_CPPFLAGS = -I$(builddir)/include -I$(srcdir)/gdbus
+else
+AM_CPPFLAGS = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
+endif
+
+src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
+                               @GNUTLS_CFLAGS@ $(builtin_cflags) \
+                               -DCONNMAN_PLUGIN_BUILTIN \
+                               -DSTATEDIR=\""$(statedir)"\" \
+                               -DPLUGINDIR=\""$(build_plugindir)"\" \
+                               -DSCRIPTDIR=\""$(build_scriptdir)"\" \
+                               -DSTORAGEDIR=\""$(storagedir)\"" \
+                               -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
+                               -DCONFIGDIR=\""$(configdir)\"" \
+                               -I$(builddir)/src
 
 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf \
-               plugins/connman-nmcompat.conf
+                                               plugins/connman-nmcompat.conf
+
+if VPN
+vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
+                               $(builtin_vpn_cflags) \
+                               -DCONNMAN_PLUGIN_BUILTIN \
+                               -DSTATEDIR=\""$(statedir)"\" \
+                               -DPLUGINDIR=\""$(build_vpn_plugindir)"\" \
+                               -DSCRIPTDIR=\""$(build_scriptdir)"\" \
+                               -DSTORAGEDIR=\""$(storagedir)\"" \
+                               -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
+                               -DCONFIGDIR=\""$(configdir)\"" \
+                               -I$(builddir)/vpn
+
+endif
 
+EXTRA_DIST += vpn/vpn-dbus.conf vpn/vpn-polkit.conf
 
 script_DATA =
 script_PROGRAMS =
@@ -132,23 +224,53 @@ script_LTLIBRARIES =
 include Makefile.plugins
 
 if CLIENT
-noinst_PROGRAMS += client/cm
+noinst_PROGRAMS += client/connmanctl
+
+noinst_MANUAL_PAGES = doc/connmanctl.1
+
+client_connmanctl_SOURCES =  $(gdbus_sources) \
+                       client/dbus_helpers.h client/dbus_helpers.c \
+                       client/services.h client/services.c \
+                       client/commands.h client/commands.c \
+                       client/input.h client/input.c \
+                       client/agent.h client/agent.c \
+                       client/main.c
 
-client_cm_SOURCES = client/main.c
-client_cm_LDADD = @DBUS_LIBS@
+client_connmanctl_LDADD = @DBUS_LIBS@ @GLIB_LIBS@ -lreadline -ldl
+endif
+
+noinst_PROGRAMS += unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
+
+unit_test_pbkdf2_sha1_SOURCES = unit/test-pbkdf2-sha1.c \
+                               src/shared/sha1.h src/shared/sha1.c
+unit_test_pbkdf2_sha1_LDADD = @GLIB_LIBS@
+
+unit_test_prf_sha1_SOURCES = unit/test-prf-sha1.c \
+                               src/shared/sha1.h src/shared/sha1.c
+unit_test_prf_sha1_LDADD = @GLIB_LIBS@
+
+unit_test_ippool_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+                src/ippool.c unit/test-ippool.c
+unit_test_ippool_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+
+TESTS = unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
+
+if WISPR
+noinst_PROGRAMS += tools/wispr
+
+tools_wispr_SOURCES = $(gweb_sources) tools/wispr.c
+tools_wispr_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
 endif
 
 if TOOLS
-noinst_PROGRAMS += tools/wispr tools/supplicant-test \
+noinst_PROGRAMS += tools/supplicant-test \
                        tools/dhcp-test tools/dhcp-server-test \
                        tools/addr-test tools/web-test tools/resolv-test \
                        tools/dbus-test tools/polkit-test \
                        tools/iptables-test tools/tap-test tools/wpad-test \
                        tools/stats-tool tools/private-network-test \
-                       tools/alg-test unit/test-session unit/test-ippool
-
-tools_wispr_SOURCES = $(gweb_sources) tools/wispr.c
-tools_wispr_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
+                       tools/session-test tools/iptables-unit \
+                       tools/dnsproxy-test
 
 tools_supplicant_test_SOURCES = $(gdbus_sources) tools/supplicant-test.c \
                        tools/supplicant-dbus.h tools/supplicant-dbus.c \
@@ -177,37 +299,43 @@ tools_dbus_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
 
 tools_polkit_test_LDADD = @DBUS_LIBS@
 
-tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@
+tools_iptables_test_SOURCES = src/log.c src/iptables.c tools/iptables-test.c
+tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
 
 tools_private_network_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
 
-tools_alg_test_LDADD = @GLIB_LIBS@
+tools_session_test_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+               tools/session-test.c tools/session-utils.c tools/manager-api.c \
+               tools/session-api.c tools/session-test.h
+tools_session_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
 
-unit_test_session_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
-               unit/test-session.c unit/utils.c unit/manager-api.c \
-               unit/session-api.c unit/test-connman.h
-unit_test_session_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
-unit_objects += $(unit_test_session_OBJECTS)
+tools_iptables_unit_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
+               -DIPTABLES_SAVE=\""${IPTABLES_SAVE}"\"
+tools_iptables_unit_SOURCES = $(gdbus_sources) src/log.c \
+                src/iptables.c src/firewall.c src/nat.c tools/iptables-unit.c
+tools_iptables_unit_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ -ldl
+
+tools_dnsproxy_test_SOURCES = tools/dnsproxy-test.c
+tools_dnsproxy_test_LDADD = @GLIB_LIBS@
 
-unit_test_ippool_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
-                src/ippool.c unit/test-ippool.c
-unit_test_ippool_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
-unit_objects += $(unit_test_ippool_OBJECTS)
 endif
 
 test_scripts = test/get-state test/list-services \
-               test/connect-service test/monitor-services test/set-address \
+               test/monitor-services test/test-clock \
                test/simple-agent test/show-introspection test/test-compat \
                test/test-manager test/test-connman test/monitor-connman \
-               test/connect-vpn test/disconnect-vpn test/monitor-manager \
+               test/connect-provider test/remove-provider \
                test/test-counter test/set-ipv4-method test/set-ipv6-method \
-               test/set-nameservers test/set-domains test/find-service \
                test/get-services test/get-proxy-autoconfig test/set-proxy \
                test/enable-tethering test/disable-tethering test/backtrace \
-               test/test-session test/provision-service test/test-supplicant \
+               test/test-session test/test-supplicant \
                test/test-new-supplicant test/service-move-before \
                test/set-global-timeservers test/get-global-timeservers \
-               test/test-clock
+               test/set-nameservers test/set-domains test/set-timeservers \
+               test/set-clock
+
+test_scripts += test/vpn-connect test/vpn-disconnect test/vpn-get \
+               test/monitor-vpn test/vpn-property
 
 if TEST
 testdir = $(pkglibdir)/test
@@ -221,8 +349,17 @@ EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
                                doc/manager-api.txt doc/agent-api.txt \
                                doc/service-api.txt doc/technology-api.txt \
                                doc/counter-api.txt doc/config-format.txt \
-                               doc/advanced-configuration.txt
+                               doc/clock-api.txt doc/session-api.txt \
+                               doc/session-overview.txt doc/backtrace.txt \
+                               doc/advanced-configuration.txt \
+                               doc/vpn-connection-api.txt \
+                               doc/vpn-manager-api.txt doc/vpn-overview.txt
 
+EXTRA_DIST += src/main.conf
+
+MANUAL_PAGES += doc/connman.8 doc/connman.conf.5
+
+dist_man_MANS = $(MANUAL_PAGES)
 
 pkgconfigdir = $(libdir)/pkgconfig
 
@@ -230,18 +367,13 @@ pkgconfig_DATA = connman.pc
 
 DISTCHECK_CONFIGURE_FLAGS = --disable-gtk-doc \
                                --disable-datafiles \
-                               --enable-loopback \
-                               --enable-ethernet \
-                               --enable-wifi \
-                               --enable-bluetooth \
-                               --enable-ofono \
-                               --enable-pacrunner \
-                               --enable-google \
-                               --enable-meego \
-                               --enable-client \
                                --enable-hh2serial-gps \
                                --enable-openconnect \
-                               --enable-tools
+                               --enable-openvpn \
+                               --enable-vpnc \
+                               --enable-session-policy-local \
+                               --enable-nmcompat \
+                               --enable-polkit
 
 DISTCLEANFILES = $(pkgconfig_DATA)
 
@@ -253,6 +385,9 @@ MAINTAINERCLEANFILES = Makefile.in \
 src/builtin.h: src/genbuiltin $(builtin_sources)
        $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
 
+vpn/builtin.h: src/genbuiltin $(builtin_vpn_sources)
+       $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_vpn_modules) > $@
+
 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
 if POLKIT
        $(AM_V_GEN)cp $(srcdir)/src/connman-polkit.conf $@
@@ -260,6 +395,27 @@ else
        $(AM_V_GEN)cp $(srcdir)/src/connman-dbus.conf $@
 endif
 
+if VPN
+vpn/connman-vpn-dbus.conf: vpn/vpn-dbus.conf vpn/vpn-polkit.conf
+if POLKIT
+       $(AM_V_GEN)cp $(srcdir)/vpn/vpn-polkit.conf $@
+else
+       $(AM_V_GEN)cp $(srcdir)/vpn/vpn-dbus.conf $@
+endif
+endif
+
+if SELINUX
+if VPN
+EXTRA_DIST += connman-task.pp
+CLEANFILES += connman-task.pp
+endif
+
+connman-task.pp: vpn/connman-task.te
+       make -f /usr/share/selinux/devel/Makefile
+endif
+
+EXTRA_DIST += vpn/connman-task.te
+
 include/connman/version.h: include/version.h
        $(AM_V_at)$(MKDIR_P) include/connman
        $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@