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.
Grant Erickson [Tue, 3 May 2011 16:15:16 +0000 (09:15 -0700)]
ipconfig: Add Function to Stringify ipconfig Type
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.
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.
Daniel Wagner [Tue, 31 May 2011 15:43:49 +0000 (17:43 +0200)]
device: Do not use connman_element_set/get_string()
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.
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().
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove CONNMAN_PROPERTY_ID_IPV6_*
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove HOSTNAME and DOMAINNAME
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
property: Remove unused CONNMAN_PROPERTY_ID_IPV4_*
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove IPv6
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove IPv4
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove connected failed code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
network: Use __connman_service_indicate_error for connetion failed
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove unused CONNMAN_ELEMENT_ERROR_DHCP_FAILED
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove service code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove vendor code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove zeroconf code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove bootp code
Daniel Wagner [Tue, 31 May 2011 15:43:48 +0000 (17:43 +0200)]
element: Remove profile code
Daniel Wagner [Tue, 31 May 2011 15:43:47 +0000 (17:43 +0200)]
element: Remove IPv6 element code
Marcel Holtmann [Fri, 27 May 2011 17:44:56 +0000 (10:44 -0700)]
6to4: Remove unused variables
Marcel Holtmann [Fri, 27 May 2011 17:44:01 +0000 (10:44 -0700)]
dnsproxy: Fix unused variable warnings
Marcel Holtmann [Fri, 27 May 2011 17:41:41 +0000 (10:41 -0700)]
rtnl: Fix debug handling to not cause false positives
Marcel Holtmann [Fri, 27 May 2011 17:38:25 +0000 (10:38 -0700)]
timezone: Fix error handling of inotify function
Marcel Holtmann [Fri, 27 May 2011 17:37:23 +0000 (10:37 -0700)]
network: Remove unused variables
Marcel Holtmann [Fri, 27 May 2011 17:36:42 +0000 (10:36 -0700)]
task: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:35:08 +0000 (10:35 -0700)]
main: Remove unused variable old_umask
Marcel Holtmann [Fri, 27 May 2011 17:33:41 +0000 (10:33 -0700)]
openvpn: Remove unused variable for VPN domain
Marcel Holtmann [Fri, 27 May 2011 17:33:01 +0000 (10:33 -0700)]
ofono: Remove unused code for online support check
Marcel Holtmann [Fri, 27 May 2011 17:31:51 +0000 (10:31 -0700)]
wifi: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:31:06 +0000 (10:31 -0700)]
gdhcp: Remove unused variable
Marcel Holtmann [Fri, 27 May 2011 17:29:47 +0000 (10:29 -0700)]
tools: Fix unused variable warnings for WISPr client
Marcel Holtmann [Fri, 27 May 2011 17:26:44 +0000 (10:26 -0700)]
gweb: Remove usage of unused variables
Szymon Janc [Tue, 10 May 2011 13:58:04 +0000 (15:58 +0200)]
gdbus: Remove unused result variable from g_dbus_pending_success
Daniel Wagner [Mon, 16 May 2011 20:54:51 +0000 (22:54 +0200)]
openvpn: Add remote-cert-tls
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.
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.
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.
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.
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Remove update_info()
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Update bearer in create_service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Update ifname in create_service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:10 +0000 (17:50 +0200)]
session: Remove use of __connman_service_get_name()
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Track service changes through notifier
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Move reason into service_entry
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Add create callback for __connman_service_get_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.
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.
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Add __connman_service_session_inc()/dec()
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Track connect reason
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).
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
session: Fix indention
Daniel Wagner [Mon, 9 May 2011 15:50:09 +0000 (17:50 +0200)]
service: Fix forwared decleration
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.
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.
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'.
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.
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.
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.
Daniel Wagner [Thu, 28 Apr 2011 12:51:29 +0000 (14:51 +0200)]
session: Factor out select code from session_changed
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.
Daniel Wagner [Thu, 28 Apr 2011 12:41:46 +0000 (14:41 +0200)]
session: Update documenation
Daniel Wagner [Thu, 28 Apr 2011 06:46:50 +0000 (08:46 +0200)]
test-session: Print more user friendly messages
Samuel Ortiz [Wed, 27 Apr 2011 08:48:05 +0000 (10:48 +0200)]
service: Make the service ipconfig ops less verbose
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
Samuel Ortiz [Wed, 27 Apr 2011 08:35:27 +0000 (10:35 +0200)]
AUTHORS: Mention Yu's contributions
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.
Yu A Wang [Thu, 21 Apr 2011 07:26:15 +0000 (03:26 -0400)]
tethering: Use tether device IP as tethering DNS server
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.
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.
Daniel Wagner [Thu, 21 Apr 2011 07:37:15 +0000 (09:37 +0200)]
session: Fix service removal from session
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.
Daniel Wagner [Thu, 21 Apr 2011 06:34:15 +0000 (08:34 +0200)]
session: Notify online setting
Daniel Wagner [Thu, 21 Apr 2011 06:34:15 +0000 (08:34 +0200)]
session: Fix online and priority initializing
Marcel Holtmann [Wed, 20 Apr 2011 17:01:34 +0000 (10:01 -0700)]
timezone: Add support for writing new timezone information
Marcel Holtmann [Wed, 20 Apr 2011 15:36:54 +0000 (08:36 -0700)]
timezone: Fix broken debug statement
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:22 +0000 (14:41 +0200)]
tools: Add private-network test
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:21 +0000 (14:41 +0200)]
tethering: Add private networks ip configuration and NAT
Gustavo F. Padovan [Wed, 20 Apr 2011 12:41:20 +0000 (14:41 +0200)]
tethering: Add support to create private networks TUN interface
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.
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.
Marcel Holtmann [Wed, 20 Apr 2011 06:22:19 +0000 (23:22 -0700)]
clock: Add skeleton for timezone change function
Marcel Holtmann [Wed, 20 Apr 2011 06:16:49 +0000 (23:16 -0700)]
clock: Add support for timezone change notifications
Daniel Wagner [Mon, 18 Apr 2011 11:59:26 +0000 (13:59 +0200)]
monitor-connman: Listen to session method calls
Daniel Wagner [Mon, 18 Apr 2011 09:27:02 +0000 (11:27 +0200)]
test-session: Handle all net.connman.Error.Failed exceptions
Daniel Wagner [Mon, 18 Apr 2011 09:25:13 +0000 (11:25 +0200)]
session: Ignore non emergency session dis/connect()
Marcel Holtmann [Tue, 19 Apr 2011 01:45:24 +0000 (18:45 -0700)]
clock: Add support for handling setting of time
Marcel Holtmann [Mon, 18 Apr 2011 20:15:49 +0000 (13:15 -0700)]
timezone: Add support for retrieving current timezone
Marcel Holtmann [Mon, 18 Apr 2011 20:08:41 +0000 (13:08 -0700)]
clock: Add support for retrieving time and timezone properties
Marcel Holtmann [Mon, 18 Apr 2011 20:05:52 +0000 (13:05 -0700)]
core: Add skeleton for timezone lookup
Marcel Holtmann [Mon, 18 Apr 2011 19:55:12 +0000 (12:55 -0700)]
dbus: Add support for uint64 and int64 properties
Marcel Holtmann [Mon, 18 Apr 2011 19:47:00 +0000 (12:47 -0700)]
clock: Add support for time and timezone update properties
Marcel Holtmann [Mon, 18 Apr 2011 19:33:23 +0000 (12:33 -0700)]
test: Add script for retrieving clock properties
Marcel Holtmann [Mon, 18 Apr 2011 19:05:22 +0000 (12:05 -0700)]
clock: Add support for timeserver modifications
Marcel Holtmann [Mon, 18 Apr 2011 19:02:28 +0000 (12:02 -0700)]
test: Add scripts for timeserver modifications
Marcel Holtmann [Mon, 18 Apr 2011 18:33:19 +0000 (11:33 -0700)]
clock: Add D-Bus interface skeleton
Marcel Holtmann [Mon, 18 Apr 2011 18:25:52 +0000 (11:25 -0700)]
Release 0.73
Marcel Holtmann [Mon, 18 Apr 2011 18:00:43 +0000 (11:00 -0700)]
core: Add skeleton for clock interfaces
Marcel Holtmann [Mon, 18 Apr 2011 17:50:37 +0000 (10:50 -0700)]
resolver: Fix some minor whitespace issues