platform/upstream/connman.git
13 years agonotifier: Limit Counter Underflow
Grant Erickson [Tue, 31 May 2011 20:01:24 +0000 (22:01 +0200)]
notifier: Limit Counter Underflow

When network and service events occur from the bottom up
(e.g. supplicant, link state, etc.) that also incur IP configuration
changes, it is possible for one or more of the notifier counters to
underflow, leaving connman in a state from which it can never recover
without a process restart.

By limiting underflow of the three notifier counters, these non-
recoverable states are prevented.

13 years agodhcp: Invalidate and Release on Network Removal
Grant Erickson [Tue, 31 May 2011 19:55:28 +0000 (21:55 +0200)]
dhcp: Invalidate and Release on Network Removal

When removing a network DHCP configuration, invalidate the DHCP
configuration in addition to releasing it.

This addresses a case in which a lower-level network event (e.g. Wi-Fi
disassociation triggered by the driver due to low signal strength)
causes a service disconnect not triggered by connman but then is
recovered BY connman to reuse the prior DHCP lease configuration but
not actually assign it by simply invalidating the old lease
configuration when connman removes the prior network.

13 years agoservice: Indicate IP Configuration Ready Event
Grant Erickson [Wed, 25 May 2011 17:10:17 +0000 (10:10 -0700)]
service: Indicate IP Configuration Ready Event

In the Connection Manager, completion of a valid IP configuration
excites the service state machine to move from the "configuration" to
the "ready" state.

However, the existing implementation of IP configuration completion
explicitly attempts to directly manipulate service state, rather than
hinting at an excitation event.

As a consequence, a late IP configuration completion after the service
state machine has transitioned from "ready" to "online" can lead to an
incorrect transition back to the "ready" state. This causes the
connection count for the technology associated with that service to
increment again, unnecessarily.

This patch avoids this issue by providing a service object interface
that simply hints that an IP configuration is complete for a given IP
type, allowing the service object and its state machine to either hold
fast in the present state, returning an advisory error or advancing,
as before.

All prior invocations of __connman_service_indicate_state outside of
the service module for the CONNMAN_SERVICE_STATE_READY are replaced
with calls to this new interface.

Thanks to Daniel Wagner and Marcel Holtmann for offline IRC discussion
that helped motivate this fix.

  * v2: Incorporated feedback from Samuel Ortiz about combining IPv4
        and IPv6 states before checking state readiness.

13 years agoipconfig: Add Function to Stringify ipconfig Type
Grant Erickson [Tue, 3 May 2011 16:15:16 +0000 (09:15 -0700)]
ipconfig: Add Function to Stringify ipconfig Type

13 years agodevice: Include Reason in Disconnect Skip Warning
Grant Erickson [Wed, 25 May 2011 06:39:55 +0000 (23:39 -0700)]
device: Include Reason in Disconnect Skip Warning

Include the reason for skipping the requested network disconnect in
the warning message.

13 years agodhcp: Remove extra dhcp_release call
Thierry Boureille [Mon, 30 May 2011 09:43:26 +0000 (11:43 +0200)]
dhcp: Remove extra dhcp_release call

dhcp_release will be called from the hash table remove callback, if the
network is found.

13 years agodevice: Do not use connman_element_set/get_string()
Daniel Wagner [Tue, 31 May 2011 15:43:49 +0000 (17:43 +0200)]
device: Do not use connman_element_set/get_string()

13 years agodevice: Handle connman_device_set/get_string(dev, "Path", ...) directly
Daniel Wagner [Tue, 31 May 2011 15:43:49 +0000 (17:43 +0200)]
device: Handle connman_device_set/get_string(dev, "Path", ...) directly

and don't rely on the element code.

13 years agoofono: Store Operator string in struct modem
Daniel Wagner [Tue, 31 May 2011 15:43:49 +0000 (17:43 +0200)]
ofono: Store Operator string in struct modem

So we don't rely on the connman_device_set/get_string().

13 years agoproperty: Remove CONNMAN_PROPERTY_ID_IPV6_*
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove CONNMAN_PROPERTY_ID_IPV6_*

13 years agoproperty: Remove HOSTNAME and DOMAINNAME
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove HOSTNAME and DOMAINNAME

13 years agoproperty: Remove unused CONNMAN_PROPERTY_ID_IPV4_*
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove unused CONNMAN_PROPERTY_ID_IPV4_*

13 years agoelement: Remove IPv6
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove IPv6

13 years agoelement: Remove IPv4
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove IPv4

13 years agoelement: Remove connected failed code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove connected failed code

13 years agonetwork: Use __connman_service_indicate_error for connetion failed
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
network: Use __connman_service_indicate_error for connetion failed

13 years agoelement: Remove unused CONNMAN_ELEMENT_ERROR_DHCP_FAILED
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove unused CONNMAN_ELEMENT_ERROR_DHCP_FAILED

13 years agoelement: Remove service code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove service code

13 years agoelement: Remove vendor code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove vendor code

13 years agoelement: Remove zeroconf code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove zeroconf code

13 years agoelement: Remove bootp code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove bootp code

13 years agoelement: Remove profile code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove profile code

13 years agoelement: Remove IPv6 element code
Daniel Wagner [Tue, 31 May 2011 15:43:47 +0000 (17:43 +0200)]
element: Remove IPv6 element code

13 years ago6to4: Remove unused variables
Marcel Holtmann [Fri, 27 May 2011 17:44:56 +0000 (10:44 -0700)]
6to4: Remove unused variables

13 years agodnsproxy: Fix unused variable warnings
Marcel Holtmann [Fri, 27 May 2011 17:44:01 +0000 (10:44 -0700)]
dnsproxy: Fix unused variable warnings

13 years agortnl: Fix debug handling to not cause false positives
Marcel Holtmann [Fri, 27 May 2011 17:41:41 +0000 (10:41 -0700)]
rtnl: Fix debug handling to not cause false positives

13 years agotimezone: Fix error handling of inotify function
Marcel Holtmann [Fri, 27 May 2011 17:38:25 +0000 (10:38 -0700)]
timezone: Fix error handling of inotify function

13 years agonetwork: Remove unused variables
Marcel Holtmann [Fri, 27 May 2011 17:37:23 +0000 (10:37 -0700)]
network: Remove unused variables

13 years agotask: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:36:42 +0000 (10:36 -0700)]
task: Remove unused variable

13 years agomain: Remove unused variable old_umask
Marcel Holtmann [Fri, 27 May 2011 17:35:08 +0000 (10:35 -0700)]
main: Remove unused variable old_umask

13 years agoopenvpn: Remove unused variable for VPN domain
Marcel Holtmann [Fri, 27 May 2011 17:33:41 +0000 (10:33 -0700)]
openvpn: Remove unused variable for VPN domain

13 years agoofono: Remove unused code for online support check
Marcel Holtmann [Fri, 27 May 2011 17:33:01 +0000 (10:33 -0700)]
ofono: Remove unused code for online support check

13 years agowifi: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:31:51 +0000 (10:31 -0700)]
wifi: Remove unused variable

13 years agogdhcp: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:31:06 +0000 (10:31 -0700)]
gdhcp: Remove unused variable

13 years agotools: Fix unused variable warnings for WISPr client
Marcel Holtmann [Fri, 27 May 2011 17:29:47 +0000 (10:29 -0700)]
tools: Fix unused variable warnings for WISPr client

13 years agogweb: Remove usage of unused variables
Marcel Holtmann [Fri, 27 May 2011 17:26:44 +0000 (10:26 -0700)]
gweb: Remove usage of unused variables

13 years agogdbus: Remove unused result variable from g_dbus_pending_success
Szymon Janc [Tue, 10 May 2011 13:58:04 +0000 (15:58 +0200)]
gdbus: Remove unused result variable from g_dbus_pending_success

13 years agoopenvpn: Add remote-cert-tls
Daniel Wagner [Mon, 16 May 2011 20:54:51 +0000 (22:54 +0200)]
openvpn: Add remote-cert-tls

13 years agosession: Fix error path __connman_session_creat()
Daniel Wagner [Fri, 13 May 2011 14:09:54 +0000 (16:09 +0200)]
session: Fix error path __connman_session_creat()

Don't free the session if it exists already.

13 years agosession: Fix RoamingPolicy parsing
Daniel Wagner [Fri, 13 May 2011 14:09:54 +0000 (16:09 +0200)]
session: Fix RoamingPolicy parsing

If the session has an invalid roaming policy and appending a NULL to
the D-Bus message leads to a crash.

13 years agosession: Use pointer for service_info
Daniel Wagner [Fri, 13 May 2011 13:57:47 +0000 (15:57 +0200)]
session: Use pointer for service_info

Reduce the size of struct connman_session so that we don't have to
load the whole data structure and increase the likeklihood that the
data structure can stay in cache.

13 years agoservice: Remove unused __connman_service_*() functions
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
service: Remove unused __connman_service_*() functions

These were only used in session.c which does not depend on them
anymore.

13 years agosession: Remove update_info()
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Remove update_info()

13 years agosession: Update bearer in create_service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Update bearer in create_service_entry

13 years agosession: Update ifname in create_service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Update ifname in create_service_entry

13 years agosession: Remove use of __connman_service_get_name()
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Remove use of __connman_service_get_name()

13 years agosession: Track service changes through notifier
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Track service changes through notifier

13 years agosession: Move reason into service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Move reason into service_entry

13 years agoservice: Add create callback for __connman_service_get_list()
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Add create callback for __connman_service_get_list()

13 years agosession: Add hash table to track service list
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Add hash table to track service list

Instead of having our own code for finding the iterator pointers in
the service list we are using the same approach as in service.c. Store
the iterator in a service hash with the service as key and the service
list iterator as value. With this we can get rid of
service_remove_from_session and lookup_service.

13 years agosession: Use service session usage counting
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Use service session usage counting

And introduce a new disconnect function which takes care if a service
has to be disconnected if no other session is using this service.

13 years agoservice: Add __connman_service_session_inc()/dec()
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Add __connman_service_session_inc()/dec()

13 years agosession: Track connect reason
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Track connect reason

13 years agosession: Pass on all service state changes
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Pass on all service state changes

All session should be informed that when there is service state change.

For example, if one session calls Session.Connect() and the other
session is only wants to free ride then it also needs to be informed
(call session_changed).

13 years agosession: Fix indention
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Fix indention

13 years agoservice: Fix forwared decleration
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Fix forwared decleration

13 years agotools: Add support for broken WISPr responses
Marcel Holtmann [Mon, 9 May 2011 00:51:39 +0000 (17:51 -0700)]
tools: Add support for broken WISPr responses

Some hotspots answer with 404 or 200 responses, but are still in login
stage. If the WISPr XML strings are found, treat all status results the
same to trigger login procedure.

13 years agotools: Add support for WISPr authentication polling
Marcel Holtmann [Mon, 9 May 2011 00:38:40 +0000 (17:38 -0700)]
tools: Add support for WISPr authentication polling

To log into a FON access point, the redirect site needs to be requested
since it contains the 2nd stage authentication challenge.

13 years agonetwork: Return an Error Appropriate for Function Signature
Grant Erickson [Mon, 2 May 2011 23:50:22 +0000 (16:50 -0700)]
network: Return an Error Appropriate for Function Signature

Currently, one of the return paths in __connman_network_set_ipconfig
returns FALSE, inconsistently with its function signature return type
of 'int'.

This patch returns the error code specified in 'ret'.

13 years agosession: Call update_info() if service changes
Daniel Wagner [Thu, 28 Apr 2011 16:05:06 +0000 (18:05 +0200)]
session: Call update_info() if service changes

Instead of trying to figure out when to call update_info() at various
places, just call update_info() at the end of session_changed when the
selected service has been changed.

Another noteworthy change is the remove of g_timeout_add_seconds(...,
session_notify(), ...). It was introduced to 'fix' a problem where
sometimes the notification message was not send. The source of this
problem seemed to be that session_notify() couldn't be called if the
current context was called from a incoming D-Bus call
(e.g. Session.Connect()). Though without g_timeout_add_seconds it
still works now. So it's properly better to remove it again since it's
seems not necessary.

13 years agosession: Fix NULL pointer name append
Daniel Wagner [Fri, 29 Apr 2011 12:34:27 +0000 (14:34 +0200)]
session: Fix NULL pointer name append

A network name can be NULL, for example for a wifi network.

13 years agosession: Refactor session_changed
Daniel Wagner [Thu, 28 Apr 2011 06:46:50 +0000 (08:46 +0200)]
session: Refactor session_changed

Pass the type of the trigger into session_changed. With this
additional information it's simpler to decide what to do and it allows
calling session_notify inside session_changed either directly or via
g_timeout_add_seconds.

13 years agosession: Factor out select code from session_changed
Daniel Wagner [Thu, 28 Apr 2011 12:51:29 +0000 (14:51 +0200)]
session: Factor out select code from session_changed

13 years agosession: Split service_remove_from_session()
Daniel Wagner [Thu, 28 Apr 2011 12:45:01 +0000 (14:45 +0200)]
session: Split service_remove_from_session()

The lookup can be reused later again.

13 years agosession: Update documenation
Daniel Wagner [Thu, 28 Apr 2011 12:41:46 +0000 (14:41 +0200)]
session: Update documenation

13 years agotest-session: Print more user friendly messages
Daniel Wagner [Thu, 28 Apr 2011 06:46:50 +0000 (08:46 +0200)]
test-session: Print more user friendly messages

13 years agoservice: Make the service ipconfig ops less verbose
Samuel Ortiz [Wed, 27 Apr 2011 08:48:05 +0000 (10:48 +0200)]
service: Make the service ipconfig ops less verbose

13 years agotethering: Fall back to google's DNS when dnsproxy listener addition fails
Samuel Ortiz [Wed, 27 Apr 2011 08:38:07 +0000 (10:38 +0200)]
tethering: Fall back to google's DNS when dnsproxy listener addition fails

13 years agoAUTHORS: Mention Yu's contributions
Samuel Ortiz [Wed, 27 Apr 2011 08:35:27 +0000 (10:35 +0200)]
AUTHORS: Mention Yu's contributions

13 years agontp: Fix ntpd_running return TRUE most of the time
Yu A Wang [Mon, 25 Apr 2011 08:28:17 +0000 (04:28 -0400)]
ntp: Fix ntpd_running return TRUE most of the time

uninitialized ret value will return TRUE most of the time. By adding
 bind success situation, ret will be assigned the correct value.

13 years agotethering: Use tether device IP as tethering DNS server
Yu A Wang [Thu, 21 Apr 2011 07:26:15 +0000 (03:26 -0400)]
tethering: Use tether device IP as tethering DNS server

13 years agodnsproxy: Add function __connman_dnsproxy_add/remove_listener()
Yu A Wang [Thu, 21 Apr 2011 07:26:05 +0000 (03:26 -0400)]
dnsproxy: Add function __connman_dnsproxy_add/remove_listener()

__connman_dnsproxy_add_listener() can be used to add a listener
to DNS proxy, so, besides the listener bound to lo device, listener
bound to tether device can also be added. And tethering client can
use tether as DNS server.

13 years agosession: Handle connman_inet_ifname NULL return
Daniel Wagner [Thu, 21 Apr 2011 07:39:44 +0000 (09:39 +0200)]
session: Handle connman_inet_ifname NULL return

connman_inet_ifname can return a NULL pointer. For example this
happens when all wifi interfaces are being removed because the wifi
dongle has been unplugged. The service is still valid at this point
but there is no device anymore. The kernel will then correctly return
NULL.

13 years agosession: Fix service removal from session
Daniel Wagner [Thu, 21 Apr 2011 07:37:15 +0000 (09:37 +0200)]
session: Fix service removal from session

13 years agosession: Fix update of service changes
Daniel Wagner [Thu, 21 Apr 2011 06:34:15 +0000 (08:34 +0200)]
session: Fix update of service changes

The info_last->service related entries have to be initialized
correctly. Furthermore, the session has to be notfied accordingly.

13 years agosession: Notify online setting
Daniel Wagner [Thu, 21 Apr 2011 06:34:15 +0000 (08:34 +0200)]
session: Notify online setting

13 years agosession: Fix online and priority initializing
Daniel Wagner [Thu, 21 Apr 2011 06:34:15 +0000 (08:34 +0200)]
session: Fix online and priority initializing

13 years agotimezone: Add support for writing new timezone information
Marcel Holtmann [Wed, 20 Apr 2011 17:01:34 +0000 (10:01 -0700)]
timezone: Add support for writing new timezone information

13 years agotimezone: Fix broken debug statement
Marcel Holtmann [Wed, 20 Apr 2011 15:36:54 +0000 (08:36 -0700)]
timezone: Fix broken debug statement

13 years agotools: Add private-network test
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:22 +0000 (14:41 +0200)]
tools: Add private-network test

13 years agotethering: Add private networks ip configuration and NAT
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:21 +0000 (14:41 +0200)]
tethering: Add private networks ip configuration and NAT

13 years agotethering: Add support to create private networks TUN interface
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:20 +0000 (14:41 +0200)]
tethering: Add support to create private networks TUN interface

13 years agomanager: Add hooks for the PrivateNetwork API
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:19 +0000 (14:41 +0200)]
manager: Add hooks for the PrivateNetwork API

RequestPrivateNetwork() doesn't return an fd yet and
both of them are completely dummy.

13 years agodoc: Add PrivateNetwork interface.
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:18 +0000 (14:41 +0200)]
doc: Add PrivateNetwork interface.

By now PrivateNetwork interface will cover the DUN server case.

13 years agoclock: Add skeleton for timezone change function
Marcel Holtmann [Wed, 20 Apr 2011 06:22:19 +0000 (23:22 -0700)]
clock: Add skeleton for timezone change function

13 years agoclock: Add support for timezone change notifications
Marcel Holtmann [Wed, 20 Apr 2011 06:16:49 +0000 (23:16 -0700)]
clock: Add support for timezone change notifications

13 years agomonitor-connman: Listen to session method calls
Daniel Wagner [Mon, 18 Apr 2011 11:59:26 +0000 (13:59 +0200)]
monitor-connman: Listen to session method calls

13 years agotest-session: Handle all net.connman.Error.Failed exceptions
Daniel Wagner [Mon, 18 Apr 2011 09:27:02 +0000 (11:27 +0200)]
test-session: Handle all net.connman.Error.Failed exceptions

13 years agosession: Ignore non emergency session dis/connect()
Daniel Wagner [Mon, 18 Apr 2011 09:25:13 +0000 (11:25 +0200)]
session: Ignore non emergency session dis/connect()

13 years agoclock: Add support for handling setting of time
Marcel Holtmann [Tue, 19 Apr 2011 01:45:24 +0000 (18:45 -0700)]
clock: Add support for handling setting of time

13 years agotimezone: Add support for retrieving current timezone
Marcel Holtmann [Mon, 18 Apr 2011 20:15:49 +0000 (13:15 -0700)]
timezone: Add support for retrieving current timezone

13 years agoclock: Add support for retrieving time and timezone properties
Marcel Holtmann [Mon, 18 Apr 2011 20:08:41 +0000 (13:08 -0700)]
clock: Add support for retrieving time and timezone properties

13 years agocore: Add skeleton for timezone lookup
Marcel Holtmann [Mon, 18 Apr 2011 20:05:52 +0000 (13:05 -0700)]
core: Add skeleton for timezone lookup

13 years agodbus: Add support for uint64 and int64 properties
Marcel Holtmann [Mon, 18 Apr 2011 19:55:12 +0000 (12:55 -0700)]
dbus: Add support for uint64 and int64 properties

13 years agoclock: Add support for time and timezone update properties
Marcel Holtmann [Mon, 18 Apr 2011 19:47:00 +0000 (12:47 -0700)]
clock: Add support for time and timezone update properties

13 years agotest: Add script for retrieving clock properties
Marcel Holtmann [Mon, 18 Apr 2011 19:33:23 +0000 (12:33 -0700)]
test: Add script for retrieving clock properties

13 years agoclock: Add support for timeserver modifications
Marcel Holtmann [Mon, 18 Apr 2011 19:05:22 +0000 (12:05 -0700)]
clock: Add support for timeserver modifications

13 years agotest: Add scripts for timeserver modifications
Marcel Holtmann [Mon, 18 Apr 2011 19:02:28 +0000 (12:02 -0700)]
test: Add scripts for timeserver modifications

13 years agoclock: Add D-Bus interface skeleton
Marcel Holtmann [Mon, 18 Apr 2011 18:33:19 +0000 (11:33 -0700)]
clock: Add D-Bus interface skeleton

13 years agoRelease 0.73 0.73
Marcel Holtmann [Mon, 18 Apr 2011 18:25:52 +0000 (11:25 -0700)]
Release 0.73