platform/upstream/connman.git
12 years agoinet: Cleanup rtnl callback data properly
Jukka Rissanen [Mon, 1 Oct 2012 10:15:42 +0000 (13:15 +0300)]
inet: Cleanup rtnl callback data properly

The inet_rtnl_cb_data struct allocated in __connman_inet_rtnl_talk()
was not deallocated if we expected data from kernel.

12 years agontp: Calculate transmit time from receive time and monotonic delta
Patrik Flykt [Tue, 25 Sep 2012 10:28:02 +0000 (13:28 +0300)]
ntp: Calculate transmit time from receive time and monotonic delta

Calculate transmit time used in NTP as the reception time minus
the delta of the monotonic receive and transmit times. When
calculated this way, it does not matter if the time happens to
be set to something else between the sending and receiving of the
NTP packet.

On sending the added monotonic time and the previous transmit time
are saved at the same point in time. On reception the monotonic time
is evaluated after the packet has been received by ConnMan. This is
in contrast to the actual reception wall clock time which is added
by the kernel. The difference between the reception times on a normal
system is about 100µs, which is neglible.

12 years agotest: Check test-connman arguments
Patrik Flykt [Mon, 1 Oct 2012 08:22:09 +0000 (11:22 +0300)]
test: Check test-connman arguments

Check test-connman offlinemode arguments and the number of arguments
in general.

Fixes BMC#25723

12 years agotechnology: Update tethering properties when relevant
Tomasz Bursztyka [Thu, 20 Sep 2012 13:33:36 +0000 (16:33 +0300)]
technology: Update tethering properties when relevant

12 years agowispr: Properly handle Agent error
Tomasz Bursztyka [Fri, 28 Sep 2012 12:41:06 +0000 (15:41 +0300)]
wispr: Properly handle Agent error

12 years agogdbus: Refactor filter_data_find()
Lucas De Marchi [Thu, 27 Sep 2012 11:58:59 +0000 (08:58 -0300)]
gdbus: Refactor filter_data_find()

Now this function is only used for searching the listeners of a
connection and the other parameters are not needed anymore.

12 years agogdbus: Fix wrong signal handler match
Lucas De Marchi [Thu, 27 Sep 2012 11:58:58 +0000 (08:58 -0300)]
gdbus: Fix wrong signal handler match

When we add a signal handler with g_dbus_add_signal_watch(), this
function tries to multiplex the matches added in libdbus by checking
if there's a previous filter_data with the same fields. However, if the
field is NULL it accepts as being the same. The result is that the
following watches will use the same filter data:

watch1 = g_dbus_add_signal_watch(conn, BUS_NAME, NULL, iface, member,
cb1, data1, NULL);
watch2 = g_dbus_add_signal_watch(conn, BUS_NAME, "/path2", iface, member,
cb2, data2, NULL);
watch3 = g_dbus_add_signal_watch(conn, BUS_NAME, "/path3", iface, member,
cb3, data3, NULL);

The result is that when a signal arrives with path == "/path2", all 3
callbacks above will be called, with the same signal delivered to all of
them.

Another problem is that, if we invert the calls like below, only signals
to cb1 will never be trigerred, nonetheless it used path == NULL.

watch2 = g_dbus_add_signal_watch(conn, BUS_NAME, "/path2", iface, member,
cb2, data2, NULL);
watch1 = g_dbus_add_signal_watch(conn, BUS_NAME, NULL, iface, member,
cb1, data1, NULL);
watch3 = g_dbus_add_signal_watch(conn, BUS_NAME, "/path3", iface, member,
cb3, data3, NULL);

This is fixed by not multiplexing the matchs with filter data if any of
the fields are different, including being NULL. When a signal arrives,
if a field is NULL we accept it as a match, but not when adding the
signal handler.

12 years agogdbus: Fix crash when getting disconnected from the bus
Johan Hedberg [Thu, 27 Sep 2012 11:58:57 +0000 (08:58 -0300)]
gdbus: Fix crash when getting disconnected from the bus

When getting disconnected from the bus sometimes (maybe always?)
dbus_watch_handle() can cause the "info" context to be free'd meaning
that we should not try to access it after the call. The only member we
need access to is the connection pointer and as the code already has a
ref() call for it it's only natural to solve the issue by adding a local
variable not dependent on "info".

The backtrace of the crash fixed looks as follows:

 Invalid read of size 8
   at 0x121085: watch_func (mainloop.c:105)
   by 0x4C72694: g_main_context_dispatch (gmain.c:2539)
   by 0x4C729C7: g_main_context_iterate.isra.23 (gmain.c:3146)
   by 0x4C72DC1: g_main_loop_run (gmain.c:3340)
   by 0x120541: main (main.c:551)
 Address 0x5bbcd90 is 16 bytes inside a block of size 24 free'd
   at 0x4A079AE: free (vg_replace_malloc.c:427)
   by 0x4C7837E: g_free (gmem.c:252)
   by 0x4F708BF: dbus_watch_set_data (dbus-watch.c:614)
   by 0x4F70938: _dbus_watch_unref (dbus-watch.c:132)
   by 0x4F6E9A7: _dbus_transport_handle_watch (dbus-transport.c:884)
   by 0x4F59AFB: _dbus_connection_handle_watch (dbus-connection.c:1497)
   by 0x4F70AF9: dbus_watch_handle (dbus-watch.c:683)
   by 0x121084: watch_func (mainloop.c:103)
   by 0x4C72694: g_main_context_dispatch (gmain.c:2539)
   by 0x4C729C7: g_main_context_iterate.isra.23 (gmain.c:3146)
   by 0x4C72DC1: g_main_loop_run (gmain.c:3340)
   by 0x120541: main (main.c:551)

12 years agowispr: Service does not need to be reference counted
Patrik Flykt [Thu, 13 Sep 2012 13:44:14 +0000 (16:44 +0300)]
wispr: Service does not need to be reference counted

12 years agowispr: Free wispr portal context struct instead of unreferencing it
Patrik Flykt [Thu, 13 Sep 2012 13:44:13 +0000 (16:44 +0300)]
wispr: Free wispr portal context struct instead of unreferencing it

The structure can now be directly freed, since the reference count
is always one. As a result, remove wispr_portal_context_unref()
function.

12 years agowispr: Remove service usage reset function
Patrik Flykt [Thu, 13 Sep 2012 13:44:12 +0000 (16:44 +0300)]
wispr: Remove service usage reset function

Remove reset_service_usage() as it is now obsolete with the
refcount always being equal to one.

12 years agowispr: Agent calls need not be referenced
Patrik Flykt [Thu, 13 Sep 2012 13:44:11 +0000 (16:44 +0300)]
wispr: Agent calls need not be referenced

There is no need to refcount while doing Agent API calls, since
outstanding Agent API calls are removed when the service is
disconnected.

Also remove wispr_portal_context_ref() as it is no longer used.

12 years agowispr: Clean up reference counting
Patrik Flykt [Thu, 13 Sep 2012 13:44:10 +0000 (16:44 +0300)]
wispr: Clean up reference counting

connman_wispr_portal_context is initialized with refcount set to one.
Don't reference it an additional times while doing asynchronous calls
if the calls can be cancelled. Unreference the structure when done.

12 years agoTODO: Add --nobacktrace removal task
Patrik Flykt [Wed, 26 Sep 2012 13:02:02 +0000 (16:02 +0300)]
TODO: Add --nobacktrace removal task

12 years agolog: Disable stack trace from command line
Patrik Flykt [Wed, 26 Sep 2012 13:01:36 +0000 (16:01 +0300)]
log: Disable stack trace from command line

Add a '--nobacktrace' command line switch to let the system
handle stack traces. The default is to let ConnMan handle them
as before

12 years agotest: Fix PrefixLength setting in set-ipv6-method
Tomasz Bursztyka [Wed, 26 Sep 2012 10:11:16 +0000 (13:11 +0300)]
test: Fix PrefixLength setting in set-ipv6-method

12 years agoipconfig: Fix IPv6.Configuration parsing
Tomasz Bursztyka [Mon, 24 Sep 2012 12:04:26 +0000 (15:04 +0300)]
ipconfig: Fix IPv6.Configuration parsing

PrefixLength is exposed as a byte in the API, but code was
waiting for a string when setting a new value.

12 years agounit: Do not append empty AllowedBearers dictionary
Daniel Wagner [Thu, 20 Sep 2012 14:34:05 +0000 (16:34 +0200)]
unit: Do not append empty AllowedBearers dictionary

An empty AllowedBearers means do not match anything.

12 years agosession: Apply policy on AllowedBearers
Daniel Wagner [Thu, 20 Sep 2012 14:24:04 +0000 (16:24 +0200)]
session: Apply policy on AllowedBearers

12 years agosession: Update AllowedBearers documentation
Daniel Wagner [Thu, 20 Sep 2012 14:46:48 +0000 (16:46 +0200)]
session: Update AllowedBearers documentation

12 years agounit: Support ConnectionType unknown
Daniel Wagner [Thu, 20 Sep 2012 14:34:55 +0000 (16:34 +0200)]
unit: Support ConnectionType unknown

12 years agosession: Apply policy on ConnnectionType
Daniel Wagner [Thu, 20 Sep 2012 15:06:29 +0000 (17:06 +0200)]
session: Apply policy on ConnnectionType

12 years agosession: Enforce correct ConnectionType settings
Daniel Wagner [Thu, 20 Sep 2012 13:03:00 +0000 (15:03 +0200)]
session: Enforce correct ConnectionType settings

Up to now an empty or wrong ConnectionType was interpreted as 'any'.
If the ConnectionType is either wrong ignore it. If no ConnectionType
setting is passed in during creation of the session choose 'any'.

12 years agosession: Update ConnnectionType documentation
Daniel Wagner [Thu, 20 Sep 2012 14:47:14 +0000 (16:47 +0200)]
session: Update ConnnectionType documentation

12 years agosession: Support no match in AllowedBearers
Daniel Wagner [Thu, 20 Sep 2012 13:00:41 +0000 (15:00 +0200)]
session: Support no match in AllowedBearers

Up to now an empty AllowedBearers was interpreted as match any. Let's
make the match all explicit by expecting '*'. If an empty
AllowedBearers is provided, we interpret this as no match. In this
case the application will never get an online notifcation.

12 years agosession_policy: Use bearer free function
Daniel Wagner [Wed, 19 Sep 2012 14:53:09 +0000 (16:53 +0200)]
session_policy: Use bearer free function

12 years agosession: Use g_slist_free_full to free bearer list
Daniel Wagner [Wed, 26 Sep 2012 11:59:01 +0000 (13:59 +0200)]
session: Use g_slist_free_full to free bearer list

12 years agosession: Add bearer list cleanup function
Daniel Wagner [Thu, 20 Sep 2012 14:04:19 +0000 (16:04 +0200)]
session: Add bearer list cleanup function

12 years agosession: Remove unused functions
Daniel Wagner [Wed, 26 Sep 2012 08:58:58 +0000 (10:58 +0200)]
session: Remove unused functions

Basic types are not used for the configuration anymore.

12 years agosession: Get config from policy plugin
Daniel Wagner [Wed, 26 Sep 2012 12:24:56 +0000 (14:24 +0200)]
session: Get config from policy plugin

Let's ask the plugin for the default configuration. AllowedBearers
and ConnectionType are not yet taken fromt the plugin. Instead
the user configuration will be taken.

12 years agosession_policy: Implement create() and destroy()
Daniel Wagner [Wed, 26 Sep 2012 09:08:41 +0000 (11:08 +0200)]
session_policy: Implement create() and destroy()

12 years agosession: Add callbacks for config creation and distruction
Daniel Wagner [Wed, 19 Sep 2012 14:04:51 +0000 (16:04 +0200)]
session: Add callbacks for config creation and distruction

Whenever a new session is created, the core will ask the plugin
the create the config. This config can then be used by the core
to enforce the user settings.

The owner ship of this config stays in the plugin. Therefore, the plugin
will destroy is later.

12 years agosession: Allow plugin access to connman_session_allowed_bearers_any
Daniel Wagner [Wed, 19 Sep 2012 12:58:20 +0000 (14:58 +0200)]
session: Allow plugin access to connman_session_allowed_bearers_any

12 years agosession: Move configuration bits to a public struct
Daniel Wagner [Wed, 26 Sep 2012 11:52:30 +0000 (13:52 +0200)]
session: Move configuration bits to a public struct

Instead of passing basic datatypes between the session core and the
policy plugin, provide a complex data structure which holds
the session configuration.

12 years agosession: Move bearer_info to session.h
Daniel Wagner [Wed, 26 Sep 2012 11:50:07 +0000 (13:50 +0200)]
session: Move bearer_info to session.h

Rename bearer_info to connman_session_bearer. Use also 'bearer' as local
variable instead of 'info' to avoid confusion with session_info.

12 years agosession: Use session pointer instead of string id
Daniel Wagner [Wed, 19 Sep 2012 11:37:14 +0000 (13:37 +0200)]
session: Use session pointer instead of string id

Instead of passing in some string to identify we can use the
connman_session pointer. This allows us to keep the way sessions
are identfied away from the core, e.g. using the D-Bus owner id or
something else.

12 years agosession: Move struct connman_session to session.h
Daniel Wagner [Wed, 19 Sep 2012 11:28:06 +0000 (13:28 +0200)]
session: Move struct connman_session to session.h

12 years agosession: Update session when policy plugin is added or removed
Daniel Wagner [Wed, 26 Sep 2012 08:51:08 +0000 (10:51 +0200)]
session: Update session when policy plugin is added or removed

12 years agosession: Assign config plugin to session
Daniel Wagner [Wed, 26 Sep 2012 08:48:26 +0000 (10:48 +0200)]
session: Assign config plugin to session

Let's pick the first plugin. If needed we can add some more smart code
later on.

12 years agosession: Move get config calls after basic session initialization
Daniel Wagner [Wed, 26 Sep 2012 08:45:38 +0000 (10:45 +0200)]
session: Move get config calls after basic session initialization

The config call will need some context later on. Therefore, create
and initializate with the owner and add the watch on the ownership
before we ask the policy plugin for any configuration.

12 years agosession: Maintain a sorted policy plugin list
Daniel Wagner [Wed, 26 Sep 2012 08:44:50 +0000 (10:44 +0200)]
session: Maintain a sorted policy plugin list

12 years agosession: Remove global configuration plugin
Daniel Wagner [Wed, 26 Sep 2012 09:06:58 +0000 (11:06 +0200)]
session: Remove global configuration plugin

Implement support for per session configuration plugin. Obviously,
this patch itsel is not complete. The code for assigning a
configuration plugin to session->config follows in the next patches.

12 years agosession: Add plugin priority
Daniel Wagner [Wed, 26 Sep 2012 09:05:46 +0000 (11:05 +0200)]
session: Add plugin priority

Support several session configuration plugins at runtime.
Set the default priority to low for the current policy plugin.

12 years agosession: Move policy plugin code up
Daniel Wagner [Wed, 26 Sep 2012 09:04:55 +0000 (11:04 +0200)]
session: Move policy plugin code up

We don't want to have forwared decleration and the next patches
would make this necessary.

12 years agosession: Rename session_config to session_policy
Daniel Wagner [Wed, 26 Sep 2012 09:03:29 +0000 (11:03 +0200)]
session: Rename session_config to session_policy

12 years agosession: No need to free NULL list
Daniel Wagner [Wed, 19 Sep 2012 12:50:02 +0000 (14:50 +0200)]
session: No need to free NULL list

12 years agosession: Check D-Bus argumets for Changed method
Daniel Wagner [Mon, 17 Sep 2012 13:13:36 +0000 (15:13 +0200)]
session: Check D-Bus argumets for Changed method

12 years agounit: Update session unit test to API changes
Daniel Wagner [Tue, 18 Sep 2012 08:31:48 +0000 (10:31 +0200)]
unit: Update session unit test to API changes

12 years agosession: Remove AvoidHandover implementation
Daniel Wagner [Tue, 18 Sep 2012 08:28:17 +0000 (10:28 +0200)]
session: Remove AvoidHandover implementation

12 years agosession: Remove AvoidHandover documentation
Daniel Wagner [Tue, 18 Sep 2012 08:27:46 +0000 (10:27 +0200)]
session: Remove AvoidHandover documentation

The AvoidHandover boolean was there to fine tune the selection
algorithm in ConnMan. It was never implemented. Let's get rid
for the time beeing. If there is a real need for it we should
implemented this setting through the configuration plugin.

12 years agomanager: Manage properly the pending message for session mode
Tomasz Bursztyka [Wed, 26 Sep 2012 10:55:39 +0000 (13:55 +0300)]
manager: Manage properly the pending message for session mode

12 years agoREADME: Mention readline and command line client disable switch
Patrik Flykt [Mon, 24 Sep 2012 10:43:50 +0000 (13:43 +0300)]
README: Mention readline and command line client disable switch

12 years agobuild: Add manual pages for connman and config file
Jukka Rissanen [Fri, 21 Sep 2012 12:50:09 +0000 (15:50 +0300)]
build: Add manual pages for connman and config file

12 years agoresolver: Make sure we do not use already removed timer
Jukka Rissanen [Mon, 17 Sep 2012 13:43:55 +0000 (16:43 +0300)]
resolver: Make sure we do not use already removed timer

12 years agoresolver: Do not touch IPv4 servers in redo case
Jukka Rissanen [Mon, 17 Sep 2012 13:43:53 +0000 (16:43 +0300)]
resolver: Do not touch IPv4 servers in redo case

The name server refresh should be only done for IPv6
nameservers.

12 years agodnsproxy: Remove AI_PASSIVE for connected socket
Jukka Rissanen [Mon, 17 Sep 2012 13:43:52 +0000 (16:43 +0300)]
dnsproxy: Remove AI_PASSIVE for connected socket

The AI_PASSIVE is useless here because the server address
is always known.

12 years agodnsproxy: Set recipient address when sending msg to DNS server
Jukka Rissanen [Mon, 17 Sep 2012 13:43:51 +0000 (16:43 +0300)]
dnsproxy: Set recipient address when sending msg to DNS server

There has been cases where send() is returning EINVAL even though
there is a connected the socket. So use sendto() instead and supply
the destination address when sending.

12 years agoipconfig: Set default IPv6 method according to kernel IPv6 support
Jukka Rissanen [Mon, 24 Sep 2012 11:44:31 +0000 (14:44 +0300)]
ipconfig: Set default IPv6 method according to kernel IPv6 support

If kernel does not support IPv6, then turn default ipconfig
method OFF. If kernel supports IPv6, then the default is AUTO
meaning that we try to send router solicitation messages.

12 years agoinet: Add function to check if IPv6 is supported by kernel
Jukka Rissanen [Mon, 24 Sep 2012 11:44:30 +0000 (14:44 +0300)]
inet: Add function to check if IPv6 is supported by kernel

12 years agoclient: Show ready and online state correctly
Jukka Rissanen [Fri, 21 Sep 2012 12:53:55 +0000 (15:53 +0300)]
client: Show ready and online state correctly

12 years agoAUTHORS: Mention Johannes' and Justin's contributions
Patrik Flykt [Mon, 24 Sep 2012 09:33:59 +0000 (12:33 +0300)]
AUTHORS: Mention Johannes' and Justin's contributions

12 years agoclient: Fix AutoConnect configuration
Justin Maggard [Thu, 20 Sep 2012 23:12:36 +0000 (16:12 -0700)]
client: Fix AutoConnect configuration

Changing the AutoConnect setting via connmanctl does not work, due to the
mistaken use of || instead of &&.

This patch fixes the issue, and tries to make things a little more readable.

12 years agortnl: Ignore netlink messages generated by wext
Johannes Berg [Fri, 21 Sep 2012 07:38:15 +0000 (10:38 +0300)]
rtnl: Ignore netlink messages generated by wext

ConnMan should just ignore netlink messages generated by wext
as described in commit 4997f6e38f34effc00179e849dee0dc2e2263d3a.

Handle wext message detection using the IFLA_WIRELESS type
because the ifinfomsg ifi_change field is reserved for future
use and code using it for wext detection has been removed.

12 years agowifi: Fix tethering with kernel 3.5
Artem Bityutskiy [Thu, 20 Sep 2012 11:53:51 +0000 (14:53 +0300)]
wifi: Fix tethering with kernel 3.5

Wifi tethering works with kernel 3.4, but not with 3.5. Bisecting
showed that the following kernel patch causes the breakage:
    "3edaf3e mac80211: manage AP netdev carrier state".

Running connman with debugging enabled showed that in case of 3.4
we have the following sequence of RTM_NEWLINK events from the kernel:

1. IFF_UP not set, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=1

which makes connman do the following:

connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 4098 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface down
connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface up
connmand[210]: plugins/wifi.c:wifi_newlink() carrier on
connmand[210]: plugins/wifi.c:handle_tethering() index 4 bridge tether

However, in 3.5 we have the following sequents of events from the kernel:

1. IFF_UP, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=0

which makes connman do the following:

connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 4099 change 1
connmand[493]: plugins/wifi.c:wifi_newlink() interface up
connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 0

The root-cause for it is that connman handles the "ifi_change" flag
incorrectly. Connman interprets it as "if non-zero, there was some change",
which is wrong. According to RFC 3549, it is "reserved for future use.
Must be set to 0xFFFFFFFF". Thus, just remove that check, which makes
tethering work.

12 years agoRelease 1.7 1.7
Marcel Holtmann [Wed, 19 Sep 2012 13:24:14 +0000 (15:24 +0200)]
Release 1.7

12 years agoTODO: Add entry for multiple agent support
Marcel Holtmann [Wed, 19 Sep 2012 13:16:30 +0000 (15:16 +0200)]
TODO: Add entry for multiple agent support

12 years agodoc: Remove copies of DNS and DHCP specifications
Marcel Holtmann [Wed, 19 Sep 2012 12:31:52 +0000 (14:31 +0200)]
doc: Remove copies of DNS and DHCP specifications

12 years agobuild: Include --enable-session-policy when building distribution
Marcel Holtmann [Wed, 19 Sep 2012 12:28:08 +0000 (14:28 +0200)]
build: Include --enable-session-policy when building distribution

12 years agodoc: Remove interactive command from client documentation
Marcel Holtmann [Wed, 19 Sep 2012 12:21:20 +0000 (14:21 +0200)]
doc: Remove interactive command from client documentation

12 years agoclient: Enter interactive shell when no command is specified
Marcel Holtmann [Wed, 19 Sep 2012 12:20:45 +0000 (14:20 +0200)]
client: Enter interactive shell when no command is specified

12 years agobuild: Don't install connmanctl.1 manual page for now
Marcel Holtmann [Tue, 18 Sep 2012 10:55:22 +0000 (12:55 +0200)]
build: Don't install connmanctl.1 manual page for now

12 years agoTODO: Add two logging related tasks
Patrik Flykt [Mon, 17 Sep 2012 10:36:41 +0000 (13:36 +0300)]
TODO: Add two logging related tasks

12 years agoclient: Add printout about connmanctl experimental status
Patrik Flykt [Fri, 14 Sep 2012 07:52:37 +0000 (10:52 +0300)]
client: Add printout about connmanctl experimental status

The arguments and output may see changes, warn users that the
current ones are experimental.

12 years agoTODO: Update TODO with connmanctl agent mode entry
Patrik Flykt [Fri, 14 Sep 2012 07:38:34 +0000 (10:38 +0300)]
TODO: Update TODO with connmanctl agent mode entry

12 years agoclient: Change 'tech' to 'technologies'
Patrik Flykt [Fri, 14 Sep 2012 07:30:50 +0000 (10:30 +0300)]
client: Change 'tech' to 'technologies'

Update argument and man page to use 'technologies'

12 years agoAUTHORS: Add Tudor and Ceara to AUTHORS file
Tudor Marcu [Wed, 12 Sep 2012 22:06:02 +0000 (15:06 -0700)]
AUTHORS: Add Tudor and Ceara to AUTHORS file

12 years agoUpdate gitignore with new CLI name.
Tudor Marcu [Wed, 12 Sep 2012 22:06:01 +0000 (15:06 -0700)]
Update gitignore with new CLI name.

12 years agoclient: Update Makefile.am and add new command line client main file
Ceara Chewning [Wed, 12 Sep 2012 22:06:00 +0000 (15:06 -0700)]
client: Update Makefile.am and add new command line client main file

The new main.c uses the previously added services, technology, manager,
interactive, and monitor files to create the connmanctl command line
interface. It is able to display properties of services and technologies,
and set/enable them.

12 years agoconfigure.ac: Add readline check
Ceara Chewning [Wed, 12 Sep 2012 22:05:59 +0000 (15:05 -0700)]
configure.ac: Add readline check

12 years agodoc: Add manpage for command line client
Ceara Chewning [Wed, 12 Sep 2012 22:05:58 +0000 (15:05 -0700)]
doc: Add manpage for command line client

12 years agodbus.h: Update include/dbus.h with more container support
Tudor Marcu [Wed, 12 Sep 2012 22:05:57 +0000 (15:05 -0700)]
dbus.h: Update include/dbus.h with more container support

Add a couple more functions for opening D-Bus message containers
with different signatures currently used by the command line client.

12 years agoclient: Add interactive mode support
Tudor Marcu [Wed, 12 Sep 2012 22:05:56 +0000 (15:05 -0700)]
client: Add interactive mode support

When the client is started with the 'interactive' option, it drops
into interactive shell mode. The interactive commands are handled
using readline. All of the commands (except interactive) can be
used in this mode.

12 years agoclient: Implement command line client commands
Ceara Chewning [Wed, 12 Sep 2012 22:05:55 +0000 (15:05 -0700)]
client: Implement command line client commands

Implement all of the command handling that connmanctl uses. Both the
main program and interactive mode should use the same commands, thus
there is no separation between the abilities of the two modes.

12 years agoclient: Event monitoring support for the command line client
Ceara Chewning [Wed, 12 Sep 2012 22:05:54 +0000 (15:05 -0700)]
client: Event monitoring support for the command line client

The command line client is able to run as a monitor to ConnMan. When
the client is started with the 'monitor' option, it will wait for any
signals from ConnMan and display them. It is useful for realtime
verbose output of ConnMan D-Bus events.

12 years agoclient: Manager API command line client support
Tudor Marcu [Wed, 12 Sep 2012 22:05:53 +0000 (15:05 -0700)]
client: Manager API command line client support

Support connecting/disconnecting services, list and set ConnMan properties.
'get_message()' is used to send any method request to ConnMan, and it
returns the reply that several functions use.

12 years agoclient: Technology API command line client support
Ceara Chewning [Wed, 12 Sep 2012 22:05:52 +0000 (15:05 -0700)]
client: Technology API command line client support

Support Technology API functionality such as scanning, parsing and
setting and receiving technology properties. Using 'match_tech_name()'
the command line utility can verify if a given technology exists on
the system.

12 years agoclient: Service API command line client support
Tudor Marcu [Wed, 12 Sep 2012 22:05:51 +0000 (15:05 -0700)]
client: Service API command line client support

Support Service API message D-Bus message parsing. Functions are
provided for configuring properties, iterating through D-Bus messages
and extracting properties in a useful manner.

12 years agobuild: Add session-policy plugin to default configuration
Daniel Wagner [Thu, 13 Sep 2012 13:30:27 +0000 (15:30 +0200)]
build: Add session-policy plugin to default configuration

12 years agosession: Fix configuration plugin build
Daniel Wagner [Thu, 13 Sep 2012 13:30:26 +0000 (15:30 +0200)]
session: Fix configuration plugin build

Instead of allow the user configuring which plugin should build and used
via issuing 'configure --with-configplugin=foo' add explicit
enable flags 'configure --enable-session-policy'.

Also with this patch, the name is changed from session-default to
session-policy.

12 years agotest: Disable tethering test script takes exactly one argument
Patrik Flykt [Thu, 13 Sep 2012 10:35:53 +0000 (13:35 +0300)]
test: Disable tethering test script takes exactly one argument

With one argument, len(sys.argv) is equal to 2.

12 years agotest: Correctly check number of test script arguments
Patrik Flykt [Thu, 13 Sep 2012 08:32:05 +0000 (11:32 +0300)]
test: Correctly check number of test script arguments

len(sys.argv) gives the number of arguments including the
name of the command.

Fixes BMC#25722

12 years agotechnology: Returns the right error when setting tethering
Tomasz Bursztyka [Thu, 13 Sep 2012 09:41:54 +0000 (12:41 +0300)]
technology: Returns the right error when setting tethering

Fixes BMC#25721

12 years agotethering: Reset the tethering refcount on error
Patrik Flykt [Fri, 7 Sep 2012 11:55:10 +0000 (14:55 +0300)]
tethering: Reset the tethering refcount on error

Decrease the refcount with one on error.

12 years agoipconfig: Catch interface name changes
Jukka Rissanen [Tue, 11 Sep 2012 12:01:16 +0000 (15:01 +0300)]
ipconfig: Catch interface name changes

Update the ipdevice interface name if it is changed by udev.

12 years agoagent: Fixes refcounting issue
Tomasz Bursztyka [Thu, 13 Sep 2012 07:32:23 +0000 (10:32 +0300)]
agent: Fixes refcounting issue

Since service is referenced already in the message queue, there is no need
to reference it also in the callback data: this might lead to an over refcount
issue if the queue message is canceled before receiving any answer to it.
(callback's data refcount is still there).

12 years agoproxy: Set lookup to NULL if the tokens did not match
Patrik Flykt [Fri, 7 Sep 2012 08:00:58 +0000 (11:00 +0300)]
proxy: Set lookup to NULL if the tokens did not match

12 years agowispr: Add backpointer to wispr portal structure
Patrik Flykt [Fri, 7 Sep 2012 08:00:57 +0000 (11:00 +0300)]
wispr: Add backpointer to wispr portal structure

When calling free_connman_wispr_portal_context(), the context is
freed. Add a backpointer to the wispr portal context in order to
clear the context from the wispr_portal struct.

12 years agogweb: Don't use debug functionality after possible free
Patrik Flykt [Fri, 7 Sep 2012 08:00:56 +0000 (11:00 +0300)]
gweb: Don't use debug functionality after possible free

When the callback has been called, the whole structure might be
freed. Thus don't call the debug function tied to the structure.

12 years agotethering: Fix error path in __connman_tethering_set_enabled()
Artem Bityutskiy [Fri, 7 Sep 2012 07:04:40 +0000 (10:04 +0300)]
tethering: Fix error path in __connman_tethering_set_enabled()

In some cases we did not destroy the bridge and ip pool.

12 years agotethering: Re-add error message about missing bridge functionality
Artem Bityutskiy [Fri, 7 Sep 2012 06:04:38 +0000 (09:04 +0300)]
tethering: Re-add error message about missing bridge functionality

Commit 4fe07df removed an error message about missing bridge functionality.
Return it back.