From 22633ced6225d294ce8483efbf2b39ea0c0c1b65 Mon Sep 17 00:00:00 2001 From: taesubkim Date: Tue, 26 Apr 2016 15:47:01 +0900 Subject: [PATCH] Imported Upstream version 1.29 Change-Id: I2958446c35966d9ed72df0120b80561be7d89f54 Signed-off-by: Taesub Kim --- AUTHORS | 10 ++ ChangeLog | 29 ++++ Makefile.am | 49 ++++-- Makefile.in | 309 ++++++++++++++++++++++-------------- README | 7 - TODO | 53 +++++-- configure | 45 ++++-- configure.ac | 12 +- doc/coding-style.txt | 344 +++++++++++++++++++++++++++++++++++++++++ doc/connmanctl.1 | 190 +++++++++++++++++++++++ doc/peer-api.txt | 102 ++++++++++++ doc/service-api.txt | 4 +- doc/vpn-agent-api.txt | 158 +++++++++++++++++++ doc/vpn-config-format.txt | 235 ++++++++++++++++++++++++++++ doc/wifi-p2p-overview.txt | 54 +++++++ gdbus/client.c | 47 ++++-- gdbus/gdbus.h | 5 + gdbus/mainloop.c | 1 + gdbus/object.c | 15 +- gdbus/watch.c | 7 +- gdhcp/client.c | 33 ++-- gdhcp/common.c | 61 +++++++- gdhcp/common.h | 8 + gdhcp/gdhcp.h | 10 ++ gdhcp/ipv4ll.c | 23 +-- gdhcp/ipv4ll.h | 2 +- gdhcp/server.c | 20 ++- gsupplicant/gsupplicant.h | 6 +- gsupplicant/supplicant.c | 103 ++++-------- include/ipconfig.h | 2 +- include/peer.h | 2 + plugins/bluetooth.c | 61 +++++--- plugins/ethernet.c | 50 +++++- plugins/ofono.c | 108 +++++++++++-- plugins/polkit.policy | 4 +- plugins/wifi.c | 41 ++--- scripts/connman.in | 2 +- src/agent-connman.c | 29 ++-- src/agent.c | 13 +- src/config.c | 6 +- src/connection.c | 12 +- src/connman.h | 12 +- src/connman.service.in | 5 +- src/counter.c | 5 +- src/dhcp.c | 13 ++ src/dhcpv6.c | 75 +++++---- src/dnsproxy.c | 92 ++++++----- src/inotify.c | 30 +++- src/ipconfig.c | 102 ++++++------ src/ipv6pd.c | 6 +- src/main.c | 3 + src/net.connman.service.in | 2 +- src/network.c | 261 +++++++++++-------------------- src/ntp.c | 2 + src/peer.c | 99 ++++++++---- src/proxy.c | 8 +- src/resolver.c | 8 - src/rfkill.c | 32 ++-- src/rtnl.c | 39 +++-- src/service.c | 139 ++++++++++------- src/shared/sha1.c | 189 ---------------------- src/shared/sha1.h | 33 ---- src/technology.c | 47 ++++-- src/util.c | 88 +++++++++++ src/wispr.c | 2 + unit/test-pbkdf2-sha1.c | 311 ------------------------------------- unit/test-prf-sha1.c | 129 ---------------- vpn/connman-vpn.service.in | 2 +- vpn/net.connman.vpn.service.in | 2 +- 69 files changed, 2513 insertions(+), 1495 deletions(-) create mode 100644 doc/coding-style.txt create mode 100644 doc/connmanctl.1 create mode 100644 doc/peer-api.txt create mode 100644 doc/vpn-agent-api.txt create mode 100644 doc/vpn-config-format.txt create mode 100644 doc/wifi-p2p-overview.txt delete mode 100644 src/shared/sha1.c delete mode 100644 src/shared/sha1.h create mode 100644 src/util.c delete mode 100644 unit/test-pbkdf2-sha1.c delete mode 100644 unit/test-prf-sha1.c diff --git a/AUTHORS b/AUTHORS index aad802d..9f807f9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -80,3 +80,13 @@ Mario Schuknecht Slava Monich Aaron McCarthy Saurav Babu +David Lechner +Jason Abele +Erik Larsson +Chris Hiszpanski +Tomáš Čech +Philip Withnall +Andreas Oberritter +Arman Uguray +Vinicius Costa Gomes +Marcus Folkesson diff --git a/ChangeLog b/ChangeLog index 6e5c689..11e08cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +ver 1.29: + Fix issue with IPv6 autoconfiguration when disabled. + Fix issue with IPv6 temporary route handling. + Fix issue with IPv6 timers for nameservers. + Fix issue with DHPCv6 and route configuration. + Fix issue with DHCPv6 source port and buggy servers. + Fix issue with DHCPv6 rapid commit option length. + Fix issue with DHCPv6 rapid commit error handling. + Fix issue with handling invalid WiFi passphrases. + Fix issue with connecting Ethernet devices. + Add support for Ethernet and VLAN usage. + +ver 1.28: + Fix issue with DHCPv6 re-transmission timer. + Fix issue with DHCP service ID option byte order. + Fix issue with IPv6 connections and SLAAC/DHCPv6. + Fix issue with telephony and IPv6 autoconfiguration. + Fix issue with Bluetooth technology setting changes. + Fix issue with WiFi autoscan interval calculation. + Fix issue with WiFi and missing BSS signal strength. + Add support for IPv4 information for WiFi Display. + +ver 1.27: + Fix issue with memory leak in IP configuration. + Fix issue with providing random numbers for DHCP. + Fix issue with handling IN_MOVED_TO inotify events. + Fix issue with channel selection for WiFi scanning. + Add support for handling Bluetooth GN and PANU roles. + ver 1.26: Fix issue with missing WiFi security provisioning support. Fix issue with immutable setting and provisioned services. diff --git a/Makefile.am b/Makefile.am index a574170..507736d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -72,6 +72,13 @@ endif endif endif +service_files_sources = src/connman.service.in src/net.connman.service.in \ + vpn/connman-vpn.service.in \ + vpn/net.connman.vpn.service.in +service_files = src/connman.service src/net.connman.service \ + vpn/connman-vpn.service \ + vpn/net.connman.vpn.service + plugin_LTLIBRARIES = plugin_objects = @@ -82,6 +89,7 @@ builtin_libadd = builtin_cflags = noinst_PROGRAMS = +bin_PROGRAMS = unit_objects = @@ -106,7 +114,7 @@ src_connmand_SOURCES = $(gdhcp_sources) $(gweb_sources) \ src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \ src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \ src/inotify.c src/firewall.c src/ipv6pd.c src/peer.c \ - src/peer_service.c src/machine.c + src/peer_service.c src/machine.c src/util.c src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \ @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ @GNUTLS_LIBS@ \ @@ -145,13 +153,13 @@ vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \ -Wl,--version-script=$(srcdir)/vpn/vpn.ver endif -BUILT_SOURCES = $(local_headers) src/builtin.h +BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) scripts/connman if VPN BUILT_SOURCES += vpn/builtin.h endif -CLEANFILES = src/connman.conf $(BUILT_SOURCES) +CLEANFILES = src/connman.conf $(BUILT_SOURCES) $(service_files) statedir = $(localstatedir)/run/connman vpn_statedir = $(localstatedir)/run/connman-vpn @@ -212,7 +220,8 @@ src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \ -I$(builddir)/src EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf \ - plugins/connman-nmcompat.conf + plugins/connman-nmcompat.conf \ + $(service_files_sources) scripts/connman.in if VPN vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \ @@ -237,9 +246,9 @@ script_LTLIBRARIES = include Makefile.plugins if CLIENT -noinst_PROGRAMS += client/connmanctl +bin_PROGRAMS += client/connmanctl -noinst_MANUAL_PAGES = doc/connmanctl.1 +MANUAL_PAGES += doc/connmanctl.1 client_connmanctl_SOURCES = client/dbus_helpers.h client/dbus_helpers.c \ client/services.h client/services.c \ @@ -254,22 +263,14 @@ client_connmanctl_LDADD = gdbus/libgdbus-internal.la @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@ +noinst_PROGRAMS += unit/test-ippool unit_test_ippool_SOURCES = src/log.c src/dbus.c src/error.c \ src/ippool.c unit/test-ippool.c unit_test_ippool_LDADD = gdbus/libgdbus-internal.la \ @GLIB_LIBS@ @DBUS_LIBS@ -ldl -TESTS = unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool +TESTS = unit/test-ippool if WISPR noinst_PROGRAMS += tools/wispr @@ -367,6 +368,8 @@ endif EXTRA_DIST += $(test_scripts) EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \ + doc/coding-style.txt doc/wifi-p2p-overview.txt \ + doc/vpn-agent-api.txt doc/peer-api.txt \ doc/ipconfig-api.txt doc/plugin-api.txt \ doc/manager-api.txt doc/agent-api.txt \ doc/service-api.txt doc/technology-api.txt \ @@ -374,6 +377,7 @@ EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \ doc/clock-api.txt doc/session-api.txt \ doc/session-overview.txt doc/backtrace.txt \ doc/advanced-configuration.txt \ + doc/vpn-config-format.txt \ doc/vpn-connection-api.txt \ doc/vpn-manager-api.txt doc/vpn-overview.txt \ doc/session-policy-format.txt @@ -402,7 +406,7 @@ DISTCLEANFILES = $(pkgconfig_DATA) MAINTAINERCLEANFILES = Makefile.in \ aclocal.m4 configure config.h.in config.sub config.guess \ - ltmain.sh depcomp compile missing install-sh mkinstalldirs + ltmain.sh depcomp compile missing install-sh mkinstalldirs test-driver src/builtin.h: src/genbuiltin $(builtin_sources) @@ -439,6 +443,17 @@ endif EXTRA_DIST += vpn/connman-task.te +do_subst = $(AM_V_GEN)$(SED) \ + -e 's,[@]prefix[@],$(prefix),g' \ + -e 's,[@]sbindir[@],$(sbindir),g' \ + -e 's,[@]sysconfdir[@],$(sysconfdir),g' + +%.service: %.service.in Makefile + $(do_subst) < $< > $@ + +scripts/connman: scripts/connman.in Makefile + $(do_subst) < $< > $@ + include/connman/version.h: include/version.h $(AM_V_at)$(MKDIR_P) include/connman $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@ diff --git a/Makefile.in b/Makefile.in index 3fe3485..c625154 100644 --- a/Makefile.in +++ b/Makefile.in @@ -59,9 +59,9 @@ host_triplet = @host@ @WISPR_FALSE@am__append_2 = gweb/giognutls.h gweb/gionotls.c @DATAFILES_TRUE@@VPN_TRUE@am__append_3 = vpn/connman-vpn-dbus.conf @DATAFILES_TRUE@@SYSTEMD_TRUE@@VPN_TRUE@am__append_4 = vpn/connman-vpn.service -noinst_PROGRAMS = $(am__EXEEXT_1) unit/test-pbkdf2-sha1$(EXEEXT) \ - unit/test-prf-sha1$(EXEEXT) unit/test-ippool$(EXEEXT) \ - $(am__EXEEXT_2) $(am__EXEEXT_3) +noinst_PROGRAMS = unit/test-ippool$(EXEEXT) $(am__EXEEXT_2) \ + $(am__EXEEXT_3) +bin_PROGRAMS = $(am__EXEEXT_1) sbin_PROGRAMS = src/connmand$(EXEEXT) $(am__EXEEXT_4) @VPN_TRUE@am__append_5 = vpn/connman-vpnd @VPN_TRUE@am__append_6 = vpn/builtin.h @@ -71,13 +71,8 @@ DIST_COMMON = README $(am__configure_deps) $(dist_man_MANS) \ $(srcdir)/Makefile.in $(srcdir)/Makefile.plugins \ $(srcdir)/config.h.in $(srcdir)/connman.pc.in \ $(top_srcdir)/configure $(top_srcdir)/include/version.h.in \ - $(top_srcdir)/scripts/connman.in \ - $(top_srcdir)/src/connman.service.in \ - $(top_srcdir)/src/net.connman.service.in \ - $(top_srcdir)/vpn/connman-vpn.service.in \ - $(top_srcdir)/vpn/net.connman.vpn.service.in AUTHORS COPYING \ - ChangeLog INSTALL NEWS TODO compile config.guess config.sub \ - depcomp install-sh ltmain.sh missing + AUTHORS COPYING ChangeLog INSTALL NEWS TODO compile \ + config.guess config.sub depcomp install-sh ltmain.sh missing @LOOPBACK_TRUE@am__append_7 = loopback @LOOPBACK_TRUE@am__append_8 = plugins/loopback.c @ETHERNET_TRUE@am__append_9 = ethernet @@ -149,10 +144,10 @@ DIST_COMMON = README $(am__configure_deps) $(dist_man_MANS) \ @NEARD_TRUE@am__append_74 = neard @NEARD_TRUE@am__append_75 = plugins/neard.c @CLIENT_TRUE@am__append_76 = client/connmanctl -TESTS = unit/test-pbkdf2-sha1$(EXEEXT) unit/test-prf-sha1$(EXEEXT) \ - unit/test-ippool$(EXEEXT) -@WISPR_TRUE@am__append_77 = tools/wispr -@TOOLS_TRUE@am__append_78 = tools/supplicant-test \ +@CLIENT_TRUE@am__append_77 = doc/connmanctl.1 +TESTS = unit/test-ippool$(EXEEXT) +@WISPR_TRUE@am__append_78 = tools/wispr +@TOOLS_TRUE@am__append_79 = tools/supplicant-test \ @TOOLS_TRUE@ tools/dhcp-test tools/dhcp-server-test \ @TOOLS_TRUE@ tools/addr-test tools/web-test tools/resolv-test \ @TOOLS_TRUE@ tools/dbus-test tools/polkit-test \ @@ -161,8 +156,8 @@ TESTS = unit/test-pbkdf2-sha1$(EXEEXT) unit/test-prf-sha1$(EXEEXT) \ @TOOLS_TRUE@ tools/session-test tools/iptables-unit \ @TOOLS_TRUE@ tools/dnsproxy-test tools/netlink-test -@SELINUX_TRUE@@VPN_TRUE@am__append_79 = connman-task.pp @SELINUX_TRUE@@VPN_TRUE@am__append_80 = connman-task.pp +@SELINUX_TRUE@@VPN_TRUE@am__append_81 = connman-task.pp subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ @@ -173,9 +168,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = include/version.h src/connman.service \ - vpn/connman-vpn.service vpn/net.connman.vpn.service \ - scripts/connman connman.pc src/net.connman.service +CONFIG_CLEAN_FILES = include/version.h connman.pc CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ @@ -205,8 +198,9 @@ am__uninstall_files_from_dir = { \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(scriptdir)" \ - "$(DESTDIR)$(vpn_plugindir)" "$(DESTDIR)$(sbindir)" \ - "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(testdir)" \ + "$(DESTDIR)$(vpn_plugindir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(scriptdir)" \ + "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" \ "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" \ "$(DESTDIR)$(dbusconfdir)" "$(DESTDIR)$(dbusservicedir)" \ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(policydir)" \ @@ -359,7 +353,8 @@ vpn_plugins_vpnc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @OPENCONNECT_TRUE@am__EXEEXT_5 = scripts/openconnect-script$(EXEEXT) @OPENCONNECT_FALSE@@VPNC_TRUE@am__EXEEXT_6 = scripts/openconnect-script$(EXEEXT) @OPENVPN_TRUE@am__EXEEXT_7 = scripts/openvpn-script$(EXEEXT) -PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS) $(script_PROGRAMS) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \ + $(script_PROGRAMS) am__client_connmanctl_SOURCES_DIST = client/dbus_helpers.h \ client/dbus_helpers.c client/services.h client/services.c \ client/commands.h client/commands.c client/input.h \ @@ -409,7 +404,7 @@ am__src_connmand_SOURCES_DIST = gdhcp/gdhcp.h gdhcp/common.h \ 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/nat.c \ src/ipaddress.c src/inotify.c src/firewall.c src/ipv6pd.c \ - src/peer.c src/peer_service.c src/machine.c + src/peer.c src/peer_service.c src/machine.c src/util.c am__objects_1 = gdhcp/src_connmand-common.$(OBJEXT) \ gdhcp/src_connmand-client.$(OBJEXT) \ gdhcp/src_connmand-server.$(OBJEXT) \ @@ -500,7 +495,8 @@ am_src_connmand_OBJECTS = $(am__objects_1) $(am__objects_4) \ src/src_connmand-ipv6pd.$(OBJEXT) \ src/src_connmand-peer.$(OBJEXT) \ src/src_connmand-peer_service.$(OBJEXT) \ - src/src_connmand-machine.$(OBJEXT) + src/src_connmand-machine.$(OBJEXT) \ + src/src_connmand-util.$(OBJEXT) src_connmand_OBJECTS = $(am_src_connmand_OBJECTS) am__DEPENDENCIES_1 = src_connmand_DEPENDENCIES = gdbus/libgdbus-internal.la \ @@ -637,14 +633,6 @@ am_unit_test_ippool_OBJECTS = src/log.$(OBJEXT) src/dbus.$(OBJEXT) \ unit/test-ippool.$(OBJEXT) unit_test_ippool_OBJECTS = $(am_unit_test_ippool_OBJECTS) unit_test_ippool_DEPENDENCIES = gdbus/libgdbus-internal.la -am_unit_test_pbkdf2_sha1_OBJECTS = unit/test-pbkdf2-sha1.$(OBJEXT) \ - src/shared/sha1.$(OBJEXT) -unit_test_pbkdf2_sha1_OBJECTS = $(am_unit_test_pbkdf2_sha1_OBJECTS) -unit_test_pbkdf2_sha1_DEPENDENCIES = -am_unit_test_prf_sha1_OBJECTS = unit/test-prf-sha1.$(OBJEXT) \ - src/shared/sha1.$(OBJEXT) -unit_test_prf_sha1_OBJECTS = $(am_unit_test_prf_sha1_OBJECTS) -unit_test_prf_sha1_DEPENDENCIES = am__vpn_connman_vpnd_SOURCES_DIST = vpn/plugins/openconnect.c \ vpn/plugins/openvpn.c vpn/plugins/vpnc.c vpn/plugins/l2tp.c \ vpn/plugins/pptp.c vpn/plugins/vpn.c vpn/plugins/vpn.h \ @@ -773,8 +761,7 @@ SOURCES = $(gdbus_libgdbus_internal_la_SOURCES) \ tools/stats-tool.c $(tools_supplicant_test_SOURCES) \ tools/tap-test.c $(tools_web_test_SOURCES) \ $(tools_wispr_SOURCES) $(tools_wpad_test_SOURCES) \ - $(unit_test_ippool_SOURCES) $(unit_test_pbkdf2_sha1_SOURCES) \ - $(unit_test_prf_sha1_SOURCES) $(vpn_connman_vpnd_SOURCES) + $(unit_test_ippool_SOURCES) $(vpn_connman_vpnd_SOURCES) DIST_SOURCES = $(gdbus_libgdbus_internal_la_SOURCES) \ plugins/hh2serial-gps.c plugins/iospm.c \ plugins/session_policy_local.c plugins/tist.c \ @@ -801,14 +788,14 @@ DIST_SOURCES = $(gdbus_libgdbus_internal_la_SOURCES) \ $(am__tools_web_test_SOURCES_DIST) \ $(am__tools_wispr_SOURCES_DIST) \ $(am__tools_wpad_test_SOURCES_DIST) \ - $(unit_test_ippool_SOURCES) $(unit_test_pbkdf2_sha1_SOURCES) \ - $(unit_test_prf_sha1_SOURCES) \ + $(unit_test_ippool_SOURCES) \ $(am__vpn_connman_vpnd_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +man1dir = $(mandir)/man1 man5dir = $(mandir)/man5 man8dir = $(mandir)/man8 NROFF = nroff @@ -1028,6 +1015,14 @@ shared_sources = src/shared/util.h src/shared/util.c \ @DATAFILES_TRUE@@SYSTEMD_TRUE@systemdunitdir = @SYSTEMD_UNITDIR@ @DATAFILES_TRUE@@SYSTEMD_TRUE@systemdunit_DATA = src/connman.service \ @DATAFILES_TRUE@@SYSTEMD_TRUE@ $(am__append_4) +service_files_sources = src/connman.service.in src/net.connman.service.in \ + vpn/connman-vpn.service.in \ + vpn/net.connman.vpn.service.in + +service_files = src/connman.service src/net.connman.service \ + vpn/connman-vpn.service \ + vpn/net.connman.vpn.service + plugin_LTLIBRARIES = $(am__append_19) $(am__append_59) \ $(am__append_68) $(am__append_72) plugin_objects = $(am__append_20) $(am__append_60) $(am__append_69) \ @@ -1045,7 +1040,7 @@ builtin_sources = $(am__append_8) $(am__append_10) $(am__append_12) \ builtin_libadd = builtin_cflags = unit_objects = -MANUAL_PAGES = doc/connman.8 doc/connman.conf.5 +MANUAL_PAGES = $(am__append_77) doc/connman.8 doc/connman.conf.5 src_connmand_SOURCES = $(gdhcp_sources) $(gweb_sources) \ $(builtin_sources) $(shared_sources) src/connman.ver \ src/main.c src/connman.h src/log.c \ @@ -1063,7 +1058,7 @@ src_connmand_SOURCES = $(gdhcp_sources) $(gweb_sources) \ src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \ src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \ src/inotify.c src/firewall.c src/ipv6pd.c src/peer.c \ - src/peer_service.c src/machine.c + src/peer_service.c src/machine.c src/util.c src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \ @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ @GNUTLS_LIBS@ \ @@ -1101,8 +1096,10 @@ src_connmand_LDFLAGS = -Wl,--export-dynamic \ @VPN_TRUE@vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \ @VPN_TRUE@ -Wl,--version-script=$(srcdir)/vpn/vpn.ver -BUILT_SOURCES = $(local_headers) src/builtin.h $(am__append_6) -CLEANFILES = src/connman.conf $(BUILT_SOURCES) $(am__append_80) +BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) \ + scripts/connman $(am__append_6) +CLEANFILES = src/connman.conf $(BUILT_SOURCES) $(service_files) \ + $(am__append_81) statedir = $(localstatedir)/run/connman vpn_statedir = $(localstatedir)/run/connman-vpn @VPN_TRUE@vpn_plugindir = $(libdir)/connman/plugins-vpn @@ -1143,17 +1140,21 @@ src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \ EXTRA_DIST = src/genbuiltin src/connman-dbus.conf \ src/connman-polkit.conf plugins/connman-nmcompat.conf \ - vpn/vpn-dbus.conf vpn/vpn-polkit.conf plugins/polkit.policy \ + $(service_files_sources) scripts/connman.in vpn/vpn-dbus.conf \ + vpn/vpn-polkit.conf plugins/polkit.policy \ vpn/vpn-polkit.policy $(test_scripts) doc/overview-api.txt \ - doc/behavior-api.txt doc/ipconfig-api.txt doc/plugin-api.txt \ + doc/behavior-api.txt doc/coding-style.txt \ + doc/wifi-p2p-overview.txt doc/vpn-agent-api.txt \ + doc/peer-api.txt doc/ipconfig-api.txt doc/plugin-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/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 \ - doc/session-policy-format.txt src/main.conf src/eduroam.config \ - $(am__append_79) vpn/connman-task.te + doc/advanced-configuration.txt doc/vpn-config-format.txt \ + doc/vpn-connection-api.txt doc/vpn-manager-api.txt \ + doc/vpn-overview.txt doc/session-policy-format.txt \ + src/main.conf src/eduroam.config $(am__append_80) \ + vpn/connman-task.te @VPN_TRUE@vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \ @VPN_TRUE@ $(builtin_vpn_cflags) \ @VPN_TRUE@ -DCONNMAN_PLUGIN_BUILTIN \ @@ -1241,7 +1242,6 @@ gsupplicant_sources = gsupplicant/gsupplicant.h gsupplicant/dbus.h \ @SESSION_POLICY_LOCAL_BUILTIN_FALSE@@SESSION_POLICY_LOCAL_TRUE@ -DSTORAGEDIR=\""$(storagedir)\"" @SESSION_POLICY_LOCAL_BUILTIN_FALSE@@SESSION_POLICY_LOCAL_TRUE@plugins_session_policy_local_la_LDFLAGS = $(plugin_ldflags) -@CLIENT_TRUE@noinst_MANUAL_PAGES = doc/connmanctl.1 @CLIENT_TRUE@client_connmanctl_SOURCES = client/dbus_helpers.h client/dbus_helpers.c \ @CLIENT_TRUE@ client/services.h client/services.c \ @CLIENT_TRUE@ client/commands.h client/commands.c \ @@ -1254,14 +1254,6 @@ gsupplicant_sources = gsupplicant/gsupplicant.h gsupplicant/dbus.h \ @CLIENT_TRUE@client_connmanctl_LDADD = gdbus/libgdbus-internal.la @DBUS_LIBS@ @GLIB_LIBS@ \ @CLIENT_TRUE@ -lreadline -ldl -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 = src/log.c src/dbus.c src/error.c \ src/ippool.c unit/test-ippool.c @@ -1345,7 +1337,12 @@ DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles \ DISTCLEANFILES = $(pkgconfig_DATA) MAINTAINERCLEANFILES = Makefile.in \ aclocal.m4 configure config.h.in config.sub config.guess \ - ltmain.sh depcomp compile missing install-sh mkinstalldirs + ltmain.sh depcomp compile missing install-sh mkinstalldirs test-driver + +do_subst = $(AM_V_GEN)$(SED) \ + -e 's,[@]prefix[@],$(prefix),g' \ + -e 's,[@]sbindir[@],$(sbindir),g' \ + -e 's,[@]sysconfdir[@],$(sysconfdir),g' all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -1404,18 +1401,8 @@ distclean-hdr: -rm -f config.h stamp-h1 include/version.h: $(top_builddir)/config.status $(top_srcdir)/include/version.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ -src/connman.service: $(top_builddir)/config.status $(top_srcdir)/src/connman.service.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -vpn/connman-vpn.service: $(top_builddir)/config.status $(top_srcdir)/vpn/connman-vpn.service.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -vpn/net.connman.vpn.service: $(top_builddir)/config.status $(top_srcdir)/vpn/net.connman.vpn.service.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -scripts/connman: $(top_builddir)/config.status $(top_srcdir)/scripts/connman.in - cd $(top_builddir) && $(SHELL) ./config.status $@ connman.pc: $(top_builddir)/config.status $(srcdir)/connman.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ -src/net.connman.service: $(top_builddir)/config.status $(top_srcdir)/src/net.connman.service.in - cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -1607,6 +1594,52 @@ vpn/plugins/vpn_plugins_vpnc_la-vpnc.lo: vpn/plugins/$(am__dirstamp) \ vpn/plugins/$(DEPDIR)/$(am__dirstamp) vpn/plugins/vpnc.la: $(vpn_plugins_vpnc_la_OBJECTS) $(vpn_plugins_vpnc_la_DEPENDENCIES) $(EXTRA_vpn_plugins_vpnc_la_DEPENDENCIES) vpn/plugins/$(am__dirstamp) $(AM_V_CCLD)$(vpn_plugins_vpnc_la_LINK) $(am_vpn_plugins_vpnc_la_rpath) $(vpn_plugins_vpnc_la_OBJECTS) $(vpn_plugins_vpnc_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ @@ -1932,6 +1965,8 @@ src/src_connmand-peer_service.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/src_connmand-machine.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/src_connmand-util.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/connmand$(EXEEXT): $(src_connmand_OBJECTS) $(src_connmand_DEPENDENCIES) $(EXTRA_src_connmand_DEPENDENCIES) src/$(am__dirstamp) @rm -f src/connmand$(EXEEXT) $(AM_V_CCLD)$(src_connmand_LINK) $(src_connmand_OBJECTS) $(src_connmand_LDADD) $(LIBS) @@ -2087,18 +2122,6 @@ unit/test-ippool.$(OBJEXT): unit/$(am__dirstamp) \ unit/test-ippool$(EXEEXT): $(unit_test_ippool_OBJECTS) $(unit_test_ippool_DEPENDENCIES) $(EXTRA_unit_test_ippool_DEPENDENCIES) unit/$(am__dirstamp) @rm -f unit/test-ippool$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit_test_ippool_OBJECTS) $(unit_test_ippool_LDADD) $(LIBS) -unit/test-pbkdf2-sha1.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -src/shared/sha1.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -unit/test-pbkdf2-sha1$(EXEEXT): $(unit_test_pbkdf2_sha1_OBJECTS) $(unit_test_pbkdf2_sha1_DEPENDENCIES) $(EXTRA_unit_test_pbkdf2_sha1_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-pbkdf2-sha1$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_pbkdf2_sha1_OBJECTS) $(unit_test_pbkdf2_sha1_LDADD) $(LIBS) -unit/test-prf-sha1.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-prf-sha1$(EXEEXT): $(unit_test_prf_sha1_OBJECTS) $(unit_test_prf_sha1_DEPENDENCIES) $(EXTRA_unit_test_prf_sha1_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-prf-sha1$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_prf_sha1_OBJECTS) $(unit_test_prf_sha1_LDADD) $(LIBS) vpn/plugins/vpn_connman_vpnd-openconnect.$(OBJEXT): \ vpn/plugins/$(am__dirstamp) \ vpn/plugins/$(DEPDIR)/$(am__dirstamp) @@ -2280,7 +2303,6 @@ mostlyclean-compile: -rm -f src/iptables.$(OBJEXT) -rm -f src/log.$(OBJEXT) -rm -f src/shared/netlink.$(OBJEXT) - -rm -f src/shared/sha1.$(OBJEXT) -rm -f src/shared/src_connmand-netlink.$(OBJEXT) -rm -f src/shared/src_connmand-util.$(OBJEXT) -rm -f src/shared/util.$(OBJEXT) @@ -2332,6 +2354,7 @@ mostlyclean-compile: -rm -f src/src_connmand-tethering.$(OBJEXT) -rm -f src/src_connmand-timeserver.$(OBJEXT) -rm -f src/src_connmand-timezone.$(OBJEXT) + -rm -f src/src_connmand-util.$(OBJEXT) -rm -f src/src_connmand-utsname.$(OBJEXT) -rm -f src/src_connmand-wispr.$(OBJEXT) -rm -f src/src_connmand-wpad.$(OBJEXT) @@ -2373,8 +2396,6 @@ mostlyclean-compile: -rm -f tools/wispr.$(OBJEXT) -rm -f tools/wpad-test.$(OBJEXT) -rm -f unit/test-ippool.$(OBJEXT) - -rm -f unit/test-pbkdf2-sha1.$(OBJEXT) - -rm -f unit/test-prf-sha1.$(OBJEXT) -rm -f vpn/plugins/vpn_connman_vpnd-l2tp.$(OBJEXT) -rm -f vpn/plugins/vpn_connman_vpnd-openconnect.$(OBJEXT) -rm -f vpn/plugins/vpn_connman_vpnd-openvpn.$(OBJEXT) @@ -2523,6 +2544,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-tethering.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-timeserver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-timezone.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-util.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-utsname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-wispr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/src_connmand-wpad.Po@am__quote@ @@ -2541,7 +2563,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vpn_connman_vpnd-storage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vpn_connman_vpnd-task.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/netlink.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/src_connmand-netlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/src_connmand-util.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/util.Po@am__quote@ @@ -2569,8 +2590,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/wispr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/wpad-test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-ippool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-pbkdf2-sha1.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-prf-sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vpn/$(DEPDIR)/vpn_connman_vpnd-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vpn/$(DEPDIR)/vpn_connman_vpnd-vpn-agent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@vpn/$(DEPDIR)/vpn_connman_vpnd-vpn-config.Po@am__quote@ @@ -3823,6 +3842,20 @@ src/src_connmand-machine.obj: src/machine.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_connmand_CFLAGS) $(CFLAGS) -c -o src/src_connmand-machine.obj `if test -f 'src/machine.c'; then $(CYGPATH_W) 'src/machine.c'; else $(CYGPATH_W) '$(srcdir)/src/machine.c'; fi` +src/src_connmand-util.o: src/util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_connmand_CFLAGS) $(CFLAGS) -MT src/src_connmand-util.o -MD -MP -MF src/$(DEPDIR)/src_connmand-util.Tpo -c -o src/src_connmand-util.o `test -f 'src/util.c' || echo '$(srcdir)/'`src/util.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_connmand-util.Tpo src/$(DEPDIR)/src_connmand-util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util.c' object='src/src_connmand-util.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_connmand_CFLAGS) $(CFLAGS) -c -o src/src_connmand-util.o `test -f 'src/util.c' || echo '$(srcdir)/'`src/util.c + +src/src_connmand-util.obj: src/util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_connmand_CFLAGS) $(CFLAGS) -MT src/src_connmand-util.obj -MD -MP -MF src/$(DEPDIR)/src_connmand-util.Tpo -c -o src/src_connmand-util.obj `if test -f 'src/util.c'; then $(CYGPATH_W) 'src/util.c'; else $(CYGPATH_W) '$(srcdir)/src/util.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/src_connmand-util.Tpo src/$(DEPDIR)/src_connmand-util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util.c' object='src/src_connmand-util.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_connmand_CFLAGS) $(CFLAGS) -c -o src/src_connmand-util.obj `if test -f 'src/util.c'; then $(CYGPATH_W) 'src/util.c'; else $(CYGPATH_W) '$(srcdir)/src/util.c'; fi` + src/tools_iptables_unit-log.o: src/log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tools_iptables_unit_CFLAGS) $(CFLAGS) -MT src/tools_iptables_unit-log.o -MD -MP -MF src/$(DEPDIR)/tools_iptables_unit-log.Tpo -c -o src/tools_iptables_unit-log.o `test -f 'src/log.c' || echo '$(srcdir)/'`src/log.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/tools_iptables_unit-log.Tpo src/$(DEPDIR)/tools_iptables_unit-log.Po @@ -4288,6 +4321,49 @@ clean-libtool: distclean-libtool: -rm -f libtool config.lt +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(dist_man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-man5: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ @@ -4870,7 +4946,7 @@ check: $(BUILT_SOURCES) all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \ $(HEADERS) config.h installdirs: - for dir in "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(vpn_plugindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(dbusconfdir)" "$(DESTDIR)$(dbusservicedir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(policydir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(systemdunitdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ + for dir in "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(vpn_plugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(dbusconfdir)" "$(DESTDIR)$(dbusservicedir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(policydir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(systemdunitdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -4936,7 +5012,7 @@ maintainer-clean-generic: -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am -clean-am: clean-generic clean-libtool clean-local \ +clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ clean-pluginLTLIBRARIES clean-sbinPROGRAMS \ clean-scriptLTLIBRARIES clean-scriptPROGRAMS \ @@ -4973,7 +5049,7 @@ install-dvi: install-dvi-am install-dvi-am: -install-exec-am: install-sbinPROGRAMS +install-exec-am: install-binPROGRAMS install-sbinPROGRAMS install-html: install-html-am @@ -4983,7 +5059,7 @@ install-info: install-info-am install-info-am: -install-man: install-man5 install-man8 +install-man: install-man1 install-man5 install-man8 install-pdf: install-pdf-am @@ -5015,22 +5091,22 @@ ps: ps-am ps-am: -uninstall-am: uninstall-dbusconfDATA uninstall-dbusserviceDATA \ - uninstall-includeHEADERS uninstall-man \ - uninstall-nodist_includeHEADERS uninstall-pkgconfigDATA \ - uninstall-pluginLTLIBRARIES uninstall-policyDATA \ - uninstall-sbinPROGRAMS uninstall-scriptDATA \ - uninstall-scriptLTLIBRARIES uninstall-scriptPROGRAMS \ - uninstall-systemdunitDATA uninstall-testSCRIPTS \ - uninstall-vpn_pluginLTLIBRARIES +uninstall-am: uninstall-binPROGRAMS uninstall-dbusconfDATA \ + uninstall-dbusserviceDATA uninstall-includeHEADERS \ + uninstall-man uninstall-nodist_includeHEADERS \ + uninstall-pkgconfigDATA uninstall-pluginLTLIBRARIES \ + uninstall-policyDATA uninstall-sbinPROGRAMS \ + uninstall-scriptDATA uninstall-scriptLTLIBRARIES \ + uninstall-scriptPROGRAMS uninstall-systemdunitDATA \ + uninstall-testSCRIPTS uninstall-vpn_pluginLTLIBRARIES -uninstall-man: uninstall-man5 uninstall-man8 +uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 .MAKE: all check check-am install install-am install-strip .PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ - clean clean-generic clean-libtool clean-local \ - clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ + clean clean-binPROGRAMS clean-generic clean-libtool \ + clean-local clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ clean-pluginLTLIBRARIES clean-sbinPROGRAMS \ clean-scriptLTLIBRARIES clean-scriptPROGRAMS \ clean-vpn_pluginLTLIBRARIES ctags dist dist-all dist-bzip2 \ @@ -5039,13 +5115,13 @@ uninstall-man: uninstall-man5 uninstall-man8 distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dbusconfDATA \ - install-dbusserviceDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-man install-man5 install-man8 \ - install-nodist_includeHEADERS install-pdf install-pdf-am \ - install-pkgconfigDATA install-pluginLTLIBRARIES \ + install-binPROGRAMS install-data install-data-am \ + install-dbusconfDATA install-dbusserviceDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-includeHEADERS install-info \ + install-info-am install-man install-man1 install-man5 \ + install-man8 install-nodist_includeHEADERS install-pdf \ + install-pdf-am install-pkgconfigDATA install-pluginLTLIBRARIES \ install-policyDATA install-ps install-ps-am \ install-sbinPROGRAMS install-scriptDATA \ install-scriptLTLIBRARIES install-scriptPROGRAMS install-strip \ @@ -5054,14 +5130,15 @@ uninstall-man: uninstall-man5 uninstall-man8 installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-dbusconfDATA uninstall-dbusserviceDATA \ - uninstall-includeHEADERS uninstall-man uninstall-man5 \ - uninstall-man8 uninstall-nodist_includeHEADERS \ - uninstall-pkgconfigDATA uninstall-pluginLTLIBRARIES \ - uninstall-policyDATA uninstall-sbinPROGRAMS \ - uninstall-scriptDATA uninstall-scriptLTLIBRARIES \ - uninstall-scriptPROGRAMS uninstall-systemdunitDATA \ - uninstall-testSCRIPTS uninstall-vpn_pluginLTLIBRARIES + uninstall-am uninstall-binPROGRAMS uninstall-dbusconfDATA \ + uninstall-dbusserviceDATA uninstall-includeHEADERS \ + uninstall-man uninstall-man1 uninstall-man5 uninstall-man8 \ + uninstall-nodist_includeHEADERS uninstall-pkgconfigDATA \ + uninstall-pluginLTLIBRARIES uninstall-policyDATA \ + uninstall-sbinPROGRAMS uninstall-scriptDATA \ + uninstall-scriptLTLIBRARIES uninstall-scriptPROGRAMS \ + uninstall-systemdunitDATA uninstall-testSCRIPTS \ + uninstall-vpn_pluginLTLIBRARIES plugins/net.connman.policy: plugins/polkit.policy @@ -5087,6 +5164,12 @@ src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf @SELINUX_TRUE@connman-task.pp: vpn/connman-task.te @SELINUX_TRUE@ make -f /usr/share/selinux/devel/Makefile +%.service: %.service.in Makefile + $(do_subst) < $< > $@ + +scripts/connman: scripts/connman.in Makefile + $(do_subst) < $< > $@ + include/connman/version.h: include/version.h $(AM_V_at)$(MKDIR_P) include/connman $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@ diff --git a/README b/README index b1367dd..531f396 100644 --- a/README +++ b/README @@ -312,13 +312,6 @@ CONFIG_BGSCAN_SIMPLE=y This last option will enable the support of background scanning while being connected, which is necessary when roaming on wifi. -and finally: - -CONFIG_AUTOSCAN_EXPONENTIAL=y - -This will enable the exact same function as bgscan but while being -disconnected. - It is recommended to use wpa_supplicant 2.x or later. If wpa_supplicant is configured to D-Bus autostart, then ConnMan will diff --git a/TODO b/TODO index 8036538..dac2ea2 100644 --- a/TODO +++ b/TODO @@ -16,7 +16,6 @@ Core Priority: Low Complexity: C8 - Owner: Tomasz Bursztyka Discuss and implement a basic and safe firewalling strategy into Connman. Provide a D-Bus API for personal firewalling. @@ -61,7 +60,7 @@ Core - Unit tests for DHCP, DNS and HTTP - Priority: Medium + Priority: Low Complexity: C4 Create unit tests for these components starting with DHCP. Use gtest @@ -71,12 +70,46 @@ Core - Support other time sources than NTP - Priority: Medium + Priority: Low Complexity: C2 Support other time sources like cellular, GPS in addition to NTP. +- Get interface names from src/device.c + + Priority: Low + Complexity: C2 + + Instead of using ioctls in connman_inet_ifindex and connman_inet_ifname, + utilize the information already provided by netlink in src/device.c. + + +- Simplify gateway selection code + + Priority: Low + Complexity: C4 + + The service list is always sorted according to preference with the + first service always owning the default route. See if update_order and + find_default_gateway in src/connection.c can be modified to use the + sorted service list instead of walking through the gateway_hash. + + +- Support D-Bus ObjectManager + + Priority: Medium + Complexity: C4 + + Support D-Bus ObjectManager by using functionality already present in + ./gdbus. Method calls and signals are already registered with gdbus, but + properties and replies especially in Agent are still handled with plain + dbus library function calls. + + With this, Manager API is removed, and a WiFi P2P API based on + ObjectManager common to Linux desktops can be implemented. + + WiFi ==== @@ -97,7 +130,6 @@ WiFi Priority: Medium Complexity: C2 - Owner: Samuel Ortiz This EAP is needed for SIM card based network authentication. ConnMan here plays a minor role: Once wpa_supplicant is set up for @@ -111,17 +143,10 @@ WiFi Complexity: C1 -- WiFi p2p - - Priority: Medium - Complexity: C2 - - - Removing wpa_supplicant 0.7.x legacy support Priority: Low Complexity: C1 - Owner: Tomasz Bursztyka Removing global country property setter in gsupplicant, and removing wifi's technology set_regdom implementation. Removing autoscan fallback. @@ -149,7 +174,7 @@ VPN Priority: Medium Complexity: C4 - Owner: Jukka Rissanen + - L2TP & PPTP compatibility prefix removal @@ -191,7 +216,7 @@ User Interface Priority: Low Complexity: C4 - Owner: Alok Barsode A GNOME3 shell user interface would make it easier for mainstream distros - users to use ConnMan. + users to use ConnMan. Continue/restart the work at + https://github.com/connectivity/gnome-extension-connman diff --git a/configure b/configure index ec36fdc..ddc6555 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for connman 1.26. +# Generated by GNU Autoconf 2.69 for connman 1.29. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='connman' PACKAGE_TARNAME='connman' -PACKAGE_VERSION='1.26' -PACKAGE_STRING='connman 1.26' +PACKAGE_VERSION='1.29' +PACKAGE_STRING='connman 1.29' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -868,7 +868,9 @@ with_openvpn enable_openvpn with_vpnc enable_vpnc +with_l2tp enable_l2tp +with_pptp enable_pptp enable_iospm enable_tist @@ -1455,7 +1457,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures connman 1.26 to adapt to many kinds of systems. +\`configure' configures connman 1.29 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1525,7 +1527,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of connman 1.26:";; + short | recursive ) echo "Configuration of connman 1.29:";; esac cat <<\_ACEOF @@ -1588,6 +1590,8 @@ Optional Packages: specify location of openconnect binary --with-openvpn=PROGRAM specify location of openvpn binary --with-vpnc=PROGRAM specify location of vpnc binary + --with-l2tp=PROGRAM specify location of l2tp binary + --with-pptp=PROGRAM specify location of pptp binary --with-stats-max-file-size=SIZE Maximal size of a statistics round robin file --with-dbusconfdir=PATH path to D-Bus config directory @@ -1687,7 +1691,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -connman configure 1.26 +connman configure 1.29 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2052,7 +2056,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by connman $as_me 1.26, which was +It was created by connman $as_me 1.29, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2868,7 +2872,7 @@ fi # Define the identity of the package. PACKAGE='connman' - VERSION='1.26' + VERSION='1.29' cat >>confdefs.h <<_ACEOF @@ -12139,6 +12143,13 @@ else fi + +# Check whether --with-l2tp was given. +if test "${with_l2tp+set}" = set; then : + withval=$with_l2tp; path_l2tp=${withval} +fi + + # Check whether --enable-l2tp was given. if test "${enable_l2tp+set}" = set; then : enableval=$enable_l2tp; enable_l2tp=${enableval} @@ -12273,6 +12284,13 @@ else fi + +# Check whether --with-pptp was given. +if test "${with_pptp+set}" = set; then : + withval=$with_pptp; path_pptp=${withval} +fi + + # Check whether --enable-pptp was given. if test "${enable_pptp+set}" = set; then : enableval=$enable_pptp; enable_pptp=${enableval} @@ -13429,7 +13447,7 @@ else fi -ac_config_files="$ac_config_files Makefile include/version.h src/connman.service vpn/connman-vpn.service vpn/net.connman.vpn.service scripts/connman connman.pc src/net.connman.service" +ac_config_files="$ac_config_files Makefile include/version.h connman.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -14101,7 +14119,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by connman $as_me 1.26, which was +This file was extended by connman $as_me 1.29, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14167,7 +14185,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -connman config.status 1.26 +connman config.status 1.29 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -14578,12 +14596,7 @@ do "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "include/version.h") CONFIG_FILES="$CONFIG_FILES include/version.h" ;; - "src/connman.service") CONFIG_FILES="$CONFIG_FILES src/connman.service" ;; - "vpn/connman-vpn.service") CONFIG_FILES="$CONFIG_FILES vpn/connman-vpn.service" ;; - "vpn/net.connman.vpn.service") CONFIG_FILES="$CONFIG_FILES vpn/net.connman.vpn.service" ;; - "scripts/connman") CONFIG_FILES="$CONFIG_FILES scripts/connman" ;; "connman.pc") CONFIG_FILES="$CONFIG_FILES connman.pc" ;; - "src/net.connman.service") CONFIG_FILES="$CONFIG_FILES src/net.connman.service" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/configure.ac b/configure.ac index 6f35c78..e7d31a7 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.60) -AC_INIT(connman, 1.26) +AC_INIT(connman, 1.29) AM_INIT_AUTOMAKE([foreign subdir-objects color-tests]) AC_CONFIG_HEADERS([config.h]) @@ -121,6 +121,9 @@ fi AM_CONDITIONAL(VPNC, test "${enable_vpnc}" != "no") AM_CONDITIONAL(VPNC_BUILTIN, test "${enable_vpnc}" = "builtin") +AC_ARG_WITH(l2tp, AC_HELP_STRING([--with-l2tp=PROGRAM], + [specify location of l2tp binary]), [path_l2tp=${withval}]) + AC_ARG_ENABLE(l2tp, AC_HELP_STRING([--enable-l2tp], [enable l2tp support]), [enable_l2tp=${enableval}], [enable_l2tp="no"]) @@ -143,6 +146,9 @@ fi AM_CONDITIONAL(L2TP, test "${enable_l2tp}" != "no") AM_CONDITIONAL(L2TP_BUILTIN, test "${enable_l2tp}" = "builtin") +AC_ARG_WITH(pptp, AC_HELP_STRING([--with-pptp=PROGRAM], + [specify location of pptp binary]), [path_pptp=${withval}]) + AC_ARG_ENABLE(pptp, AC_HELP_STRING([--enable-pptp], [enable pptp support]), [enable_pptp=${enableval}], [enable_pptp="no"]) @@ -384,6 +390,4 @@ AM_CONDITIONAL(VPN, test "${enable_openconnect}" != "no" -o \ "${enable_l2tp}" != "no" -o \ "${enable_pptp}" != "no") -AC_OUTPUT(Makefile include/version.h src/connman.service - vpn/connman-vpn.service vpn/net.connman.vpn.service - scripts/connman connman.pc src/net.connman.service) +AC_OUTPUT(Makefile include/version.h connman.pc) diff --git a/doc/coding-style.txt b/doc/coding-style.txt new file mode 100644 index 0000000..97410ce --- /dev/null +++ b/doc/coding-style.txt @@ -0,0 +1,344 @@ +Every project has its coding style, and ConnMan is not an exception. This +document describes the preferred coding style for ConnMan code, in order to keep +some level of consistency among developers so that code can be easily +understood and maintained, and also to help your code survive under +maintainer's fastidious eyes so that you can get a passport for your patch +ASAP. + +First of all, ConnMan coding style must follow every rule for Linux kernel +(http://www.kernel.org/doc/Documentation/CodingStyle). There also exists a tool +named checkpatch.pl to help you check the compliance with it. Just type +"checkpatch.pl --no-tree patch_name" to check your patch. In theory, you need +to clean up all the warnings and errors except this one: "ERROR: Missing +Signed-off-by: line(s)". ConnMan does not used Signed-Off lines, so including +them is actually an error. In certain circumstances one can ignore the 80 +character per line limit. This is generally only allowed if the alternative +would make the code even less readable. + +Besides the kernel coding style above, ConnMan has special flavors for its own. +Some of them are mandatory (marked as 'M'), while some others are optional +(marked as 'O'), but generally preferred. + +M1: Blank line before and after an if/while/do/for statement +============================================================ +There should be a blank line before if statement unless the if is nested and +not preceded by an expression or variable declaration. + +Example: +1) +a = 1; +if (b) { // wrong + +2) +a = 1 + +if (b) { +} +a = 2; // wrong + +3) +if (a) { + if (b) // correct + +4) +b = 2; + +if (a) { // correct + +} + +b = 3; + +The only exception to this rule applies when a variable is being allocated: +array = g_try_new0(int, 20); +if (!array) // Correct + return; + + +M2: Multiple line comment +========================= +If your comments have more then one line, please start it from the second line. + +Example: +/* + * first line comment // correct + * ... + * last line comment + */ + + +M3: Space before and after operator +=================================== +There should be a space before and after each operator. + +Example: +a + b; // correct + + +M4: Wrap long lines +=================== +If your condition in if, while, for statement or a function declaration is too +long to fit in one line, the new line needs to be indented not aligned with the +body. + +Example: +1) +if (call->status == CALL_STATUS_ACTIVE || + call->status == CALL_STATUS_HELD) { // wrong + connman_dbus_dict_append(); + +2) +if (call->status == CALL_STATUS_ACTIVE || + call->status == CALL_STATUS_HELD) { // correct + connman_dbus_dict_append(); + +3) +gboolean sim_ust_is_available(unsigned char *service_ust, unsigned char len, + enum sim_ust_service index) // wrong +{ + int a; + ... +} + +4) +gboolean sim_ust_is_available(unsigned char *service_ust, unsigned char len, + enum sim_ust_service index) // correct +{ + int a; + ... +} + +If the line being wrapped is a function call or function declaration, the +preferred style is to indent at least past the opening parenthesis. Indenting +further is acceptable as well (as long as you don't hit the 80 character +limit). + +If this is not possible due to hitting the 80 character limit, then indenting +as far as possible to the right without hitting the limit is preferred. + +Example: + +1) +gboolean sim_ust_is_available(unsigned char *service_ust, unsigned char len, + enum sim_ust_service index); // worse + +2) +gboolean sim_ust_is_available(unsigned char *service_ust, unsigned char len, + enum sim_ust_service index); + // better + +M5: Git commit message 50/72 formatting +======================================= +The commit message header should be within 50 characters. And if you have +detailed explanatory text, wrap it to 72 character. + + +M6: Space when doing type casting +================================= +There should be a space between new type and variable. + +Example: +1) +a = (int *)b; // wrong +2) +a = (int *) b; // correct + + +M7: Don't initialize variable unnecessarily +=========================================== +When declaring a variable, try not to initialize it unless necessary. + +Example: +int i = 1; // wrong + +for (i = 0; i < 3; i++) { +} + + +M8: Use g_try_malloc instead of g_malloc +======================================== +When g_malloc fails, the whole program would exit. Most of time, this is not +the expected behavior, and you may want to use g_try_malloc instead. + +Example: +additional = g_try_malloc(len - 1); // correct +if (!additional) + return FALSE; + + +M9: Follow the order of include header elements +=============================================== +When writing an include header the various elements should be in the following +order: + - #includes + - forward declarations + - #defines + - enums + - typedefs + - function declarations and inline function definitions + + +M10: Internal headers must not use include guards +================================================= +Any time when creating a new header file with non-public API, that header +must not contain include guards. + + +M11: Naming of enums +==================== + +Enums must have a descriptive name. The enum type should be small caps and +it should not be typedef-ed. Enum contents should be in CAPITAL letters and +prefixed by the enum type name. + +Example: + +enum animal_type { + ANIMAL_TYPE_FOUR_LEGS, + ANIMAL_TYPE_EIGHT_LEGS, + ANIMAL_TYPE_TWO_LEGS, +}; + +If the enum contents have values (e.g. from specification) the formatting +should be as follows: + +enum animal_type { + ANIMAL_TYPE_FOUR_LEGS = 4, + ANIMAL_TYPE_EIGHT_LEGS = 8, + ANIMAL_TYPE_TWO_LEGS = 2, +}; + +M12: Enum as switch variable +==================== + +If the variable of a switch is an enum, you must not include a default in +switch body. The reason for this is: If later on you modify the enum by adding +a new type, and forget to change the switch accordingly, the compiler will +complain the new added type hasn't been handled. + +Example: + +enum animal_type { + ANIMAL_TYPE_FOUR_LEGS = 4, + ANIMAL_TYPE_EIGHT_LEGS = 8, + ANIMAL_TYPE_TWO_LEGS = 2, +}; + +enum animal_type t; + +switch (t) { +case ANIMAL_TYPE_FOUR_LEGS: + ... + break; +case ANIMAL_TYPE_EIGHT_LEGS: + ... + break; +case ANIMAL_TYPE_TWO_LEGS: + ... + break; +default: // wrong + break; +} + +However if the enum comes from an external header file outside ConnMan +we cannot make any assumption of how the enum is defined and this +rule might not apply. + +M13: Check for pointer being NULL +================================= + +When checking if a pointer or a return value is NULL, use the +check with "!" operator. + +Example: +1) +array = g_try_new0(int, 20); +if (!array) // Correct + return; + +2) +if (!g_at_chat_get_slave(chat)) // Correct + return -EINVAL; + +3) +array = g_try_new0(int, 20); +if (array == NULL) // Wrong + return; + + +M14: Always use parenthesis with sizeof +======================================= +The expression argument to the sizeof operator should always be in +parenthesis, too. + +Example: +1) +memset(stuff, 0, sizeof(*stuff)); + +2) +memset(stuff, 0, sizeof *stuff); // Wrong + + +M15: Use void if function has no parameters +=========================================================== +A function with no parameters must use void in the parameter list. + +Example: +1) +void foo(void) +{ +} + +2) +void foo() // Wrong +{ +} + +M16: Don't use hex value with shift operators +============================================== +The expression argument to the shift operators should not be in hex. + +Example: + +1) +1 << y + +2) +0x1 << y // Wrong + +O1: Shorten the name +==================== +Better to use abbreviation, rather than full name, to name a variable, +function, struct, etc. + +Example: +supplementary_service // too long +ss // better + +O2: Try to avoid complex if body +================================ +It's better not to have a complicated statement for if. You may judge its +contrary condition and return | break | continue | goto ASAP. + +Example: +1) +if (a) { // worse + struct voicecall *v; + call = synthesize_outgoing_call(vc, vc->pending); + v = voicecall_create(vc, call); + v->detect_time = time(NULL); + DBG("Registering new call: %d", call->id); + voicecall_dbus_register(v); +} else + return; + +2) +if (!a) + return; + +struct voicecall *v; +call = synthesize_outgoing_call(vc, vc->pending); +v = voicecall_create(vc, call); +v->detect_time = time(NULL); +DBG("Registering new call: %d", call->id); +voicecall_dbus_register(v); diff --git a/doc/connmanctl.1 b/doc/connmanctl.1 new file mode 100644 index 0000000..b71c6e6 --- /dev/null +++ b/doc/connmanctl.1 @@ -0,0 +1,190 @@ +.TH connmanctl 1 07/31/2012 "" "User Commands for Connman CLI" +.SH +NAME +connmanctl \- Connman CLI +.SH +SYNOPSIS +.BR connmanctl " [" +.BR enable " | " +.BR offlinemode "] [" +.BR disable " | " +.BR offlinemode "] [" +.BR technologies "] [" +.BR state "] [" +.BR services " [\-\-properties ]] [" +.BR scan " ] [" +.BR connect " ] [" +.BR config " \-\-