Patrik Flykt [Fri, 1 Jul 2011 08:01:10 +0000 (11:01 +0300)]
session: Correct GSequence sorting to use service_entry structs
The items on session->service_list GSequence are of type
service_entry. Fix sorting function to cast the items correctly.
Patrik Flykt [Fri, 1 Jul 2011 08:01:09 +0000 (11:01 +0300)]
provider: Get 'Host' and 'VPN.Domain' from provider struct
Patrik Flykt [Fri, 1 Jul 2011 08:01:08 +0000 (11:01 +0300)]
provider: Properly set host and domain provider members
Detect 'Host' and 'VPN.Domain' strings being set and insert them
properly into the provider structure. Also ensure that the
strings corresponding to provider structure members are not
duplicated into the provider string settings hash.
Patrik Flykt [Fri, 1 Jul 2011 08:01:07 +0000 (11:01 +0300)]
provider: Fix memory leak; free provider->host in provider destruct
Marcel Holtmann [Sat, 2 Jul 2011 04:38:14 +0000 (21:38 -0700)]
main: Move signalfd setup in its own function
Daniel Wagner [Fri, 1 Jul 2011 16:15:40 +0000 (18:15 +0200)]
main: Use signalfd instead of plain signals
It's unsafe to call syslog in the terminat signal handler
because syslog takes an lock. So when the signal handler
kicks in and we were already in syslog, we have a nice
deadlock.
Lucas De Marchi [Fri, 1 Jul 2011 23:50:54 +0000 (20:50 -0300)]
gweb: Use GnuTLS priority string to provide wide compatibility
This priority string will only enable SSL 3.0 and TLS 1.0 as protocols
and will disable, via the %COMPAT keyword, several TLS protocol options
that are known to cause compatibility problems.
Reference: http://www.gnu.org/software/gnutls/manual/html_node/Interoperability.html#Interoperability
Lucas De Marchi [Fri, 1 Jul 2011 23:50:53 +0000 (20:50 -0300)]
gweb: Remove call to deprecated GnuTLS function
If we use gnutls 2.12.0 or later it's necessary to call
gnutls_transport_set_lowat() to disable the lowat functionality. Since
this function is deprecated in new versions of gnutls, call it only if
using an older version.
Guillaume Zajac [Tue, 28 Jun 2011 13:19:12 +0000 (15:19 +0200)]
tethering: Update APIs to be able to use multiple private networks
Guillaume Zajac [Tue, 28 Jun 2011 13:19:11 +0000 (15:19 +0200)]
doc: Update private network method prototypes
Jukka Rissanen [Wed, 22 Jun 2011 10:37:50 +0000 (13:37 +0300)]
TODO: IPv6 gateway handling done.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:49 +0000 (13:37 +0300)]
network: Clear IPv6 autoconfigured routes when disconnected.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:48 +0000 (13:37 +0300)]
ipconfig: Added function to enable IPv6.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:47 +0000 (13:37 +0300)]
network: Clear interface addresses after removing gateway address.
The reason for this patch is that service disconnect code path
is different from service change code path. In disconnect,
the __connman_ipconfig_address_remove() is called which clears the
addresses from interface. When changing from one service to another,
the function __connman_service_disconnect() is not called and thus
the interface address is not removed.
We cannot call __connman_ipconfig_address_remove() yet at this point
because it would clear addresses from internal data structures so we
use __connman_ipconfig_address_unset() instead.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:46 +0000 (13:37 +0300)]
ipconfig: Add function to remove address from interface.
The new function removes the address from interface but does not
touch internal data structures.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:45 +0000 (13:37 +0300)]
network: Set manual IPv6 state and gateway.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:44 +0000 (13:37 +0300)]
connection: Separate IPv4 and IPv6 gateway and routing handling.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:43 +0000 (13:37 +0300)]
network: Add IPv6 associating state.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:42 +0000 (13:37 +0300)]
service: Set and clear IPv6 nameserver addresses properly.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:41 +0000 (13:37 +0300)]
inet: Added support functions for setting and clearing IPv6 gateway address.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:40 +0000 (13:37 +0300)]
service: Fixed indentation.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:39 +0000 (13:37 +0300)]
inet: Fixed indentation.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:38 +0000 (13:37 +0300)]
inet: Changed error prints to print the error string.
Mohamed Abbas [Wed, 22 Jun 2011 17:53:04 +0000 (10:53 -0700)]
config: Provision service after adding new .config files.
For now if new .config files are added connman will create
new config and but do not provision existing services. This
patch will provision existing service if any config file are
added or modified.
Fixes bug #4880.
Lucas De Marchi [Tue, 21 Jun 2011 16:42:39 +0000 (13:42 -0300)]
main: Be quiet when config file isn't found
It's ok to run ConnMann without a configuration file, so don't print an
error message when this happens.
Tomasz Bursztyka [Wed, 22 Jun 2011 06:28:54 +0000 (09:28 +0300)]
gweb: added the capability to restrict the requests to a specific address family.
Alok Barsode [Mon, 20 Jun 2011 11:06:12 +0000 (14:06 +0300)]
wifi: Fix return value of wifi_[enable/disable].
Daniel Wagner [Mon, 27 Jun 2011 09:11:49 +0000 (11:11 +0200)]
Revert "service: Provide a function to query immutability"
This reverts commit
3092bccc020d84001dd23f76fdcb449069c8f657.
Unused interface.
Reported by Henri Bragge <henri.bragge@ixonos.com>
Daniel Wagner [Tue, 21 Jun 2011 14:45:50 +0000 (16:45 +0200)]
device: Fix an inbalance ref/unref of network objects
The destroy callback of the hash table (device->networks)
will unref and unregister the network object.
Daniel Wagner [Thu, 16 Jun 2011 14:06:25 +0000 (16:06 +0200)]
TODO: DUN client
Daniel Wagner [Thu, 16 Jun 2011 14:02:48 +0000 (16:02 +0200)]
todo: connman_element removal done
Patrik Flykt [Fri, 17 Jun 2011 08:07:15 +0000 (11:07 +0300)]
provider: Remove unnecessary additional check for NULL provider struct
Patrik Flykt [Thu, 16 Jun 2011 13:01:36 +0000 (16:01 +0300)]
service: Use existing setup_ip*config functions when creating a service
Patrik Flykt [Thu, 16 Jun 2011 13:01:35 +0000 (16:01 +0300)]
doc: Update documentation regarding 'SessionMode' property.
daniel.wagner@bmw-carit.de [Tue, 21 Jun 2011 09:26:05 +0000 (11:26 +0200)]
ofono: Fix add_newtork() error path
After add_network() added the newly created network object
to the network_hash and add_netork() bails out with an
error the network_remove() callback will called from network.c.
Therefore we don't have to free the network object in
the error path of add_network(). It will be removed
by the network_remove() callback.
Tomasz Bursztyka [Tue, 14 Jun 2011 09:55:29 +0000 (12:55 +0300)]
agent: Unify request input callback for passphrase and login based input.
Tomasz Bursztyka [Tue, 14 Jun 2011 09:55:28 +0000 (12:55 +0300)]
agent: Add documentation about WISPr-enabled hotspot input request.
daniel.wagner@bmw-carit.de [Mon, 20 Jun 2011 17:17:08 +0000 (19:17 +0200)]
device: Do not return error for unhandled devices
If device_probe returns an error for a device where no
driver has been registered, the device will be destroyed.
This happens when for example the wpa_supplicant is
started after ConnMan. In this case we don't have any
wifi device registered at the core when wpa_supplicant starts.
Samuel Ortiz [Fri, 17 Jun 2011 14:24:08 +0000 (16:24 +0200)]
AUTHORS: Mention Paulo's contributions
Paolo Pellegrino [Fri, 17 Jun 2011 14:20:26 +0000 (16:20 +0200)]
gsupplicant: Client certificate is not mandatory for TTLS/PEAP
Daniel Wagner [Thu, 16 Jun 2011 07:44:54 +0000 (09:44 +0200)]
property: Remove it
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
element: Remove element.c
Daniel Wagner [Thu, 16 Jun 2011 11:29:39 +0000 (13:29 +0200)]
timeserver: Do not use element driver API
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
provider: Remove element code
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
element: Remove network code
Daniel Wagner [Thu, 16 Jun 2011 08:15:46 +0000 (10:15 +0200)]
network: Remove element code from connman_network_[set|get]_blob()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
network: Use setter/getters for connman_network_set/get_uint16()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
network: Use setter/getters for connman_network_set/get_uint8()
Daniel Wagner [Thu, 16 Jun 2011 08:00:26 +0000 (10:00 +0200)]
network: Remove element code from connman_network_[set|get]_bool()
Daniel Wagner [Thu, 16 Jun 2011 07:57:35 +0000 (09:57 +0200)]
network: Remove unused set type element
Daniel Wagner [Thu, 16 Jun 2011 07:47:42 +0000 (09:47 +0200)]
network: Remove element code from connman_network_[set|get]_string()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
network: Remove unused network_driver->setup()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
service: Remove Service.Mode
The only source for the cellular mode update was removed in
a474ef1be8b76167b9d0ef8a9eb6fe24cc5eacc5". The WiFi plugin will not
support adhoc mode. So this property is completly unused.
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
wimax: Remove unused station_type
And remove therefore the dependencie on connman_network_set_string().
Daniel Wagner [Thu, 16 Jun 2011 07:44:52 +0000 (09:44 +0200)]
wifi: Whitespace cleanup
Marcel Holtmann [Wed, 15 Jun 2011 18:06:33 +0000 (11:06 -0700)]
Release 0.75
Marcel Holtmann [Wed, 15 Jun 2011 17:12:59 +0000 (10:12 -0700)]
unit: Fix wrong include of common header
Marcel Holtmann [Wed, 15 Jun 2011 17:12:34 +0000 (10:12 -0700)]
build: Include unit/test-connman.h into source list
Tomasz Bursztyka [Sat, 11 Jun 2011 08:07:39 +0000 (11:07 +0300)]
gsupplicant: Fix how raw key as psk are provided.
Yu A Wang [Thu, 9 Jun 2011 09:06:15 +0000 (05:06 -0400)]
service: Add timeout event only the first time
When connect to a 3G service with weak signal, it may connect
several times. When connman suspend to S3 and resume several
times, function remove_timeout only remove the last timeout event.
This will lead connman crash when connect_timeout invoked by other
timeout event to access previous already freed service.
Grant Erickson [Thu, 2 Jun 2011 04:16:13 +0000 (21:16 -0700)]
dhcp: Cancel old renewal timeout prior to adding a new one
Given the following reproduction steps:
1) Set up an access point with a Class B IP address, say
10.2.40.254.
2) Set up the access point to provide DHCP leases over a range
10.2.40.2 through 10.2.40.253.
3) Set up a short lease renewal period of 5-10 minutes.
4) Allow the device to associate, connect and receive an IP
address.
5) Midway through the lease interval, change the access point to a
different IP address, say, 10.2.41.254.
6) Change the access point to issue DHCP leases over a new range,
10.2.41.2 through 10.2.41.253.
7) Watch as the access point resets, the connection is lost, the
connection is regained and as connman tries to get a new DHCP
lease.
Prior to commit
39825846, connman could receive a new but different
DHCP lease but connman would not program the confirmed lease to the
interface.
However, following that commit, it now programs the new, changed DHCP
lease to the interface but still believes the old lease is valid and
attempts to keep servicing the old renewal timeout for the prior but
now stale lease.
This patch cancels any existing, pending DHCP lease renewal timeout
following a DHCP lease configuration change.
Grant Erickson [Fri, 10 Jun 2011 13:54:23 +0000 (15:54 +0200)]
inet: Standardize error codes and messages
Return and pass a consistent set of informative error codes and
display a consistent set of error messages for
connman_inet_modify_address and connman_{clear,set}_*_address.
Marcel Holtmann [Mon, 13 Jun 2011 20:12:44 +0000 (22:12 +0200)]
gweb: Make debug for write simpler
Marcel Holtmann [Mon, 13 Jun 2011 20:12:24 +0000 (22:12 +0200)]
build: Add alg-test to ignore list
Marcel Holtmann [Wed, 8 Jun 2011 08:29:01 +0000 (10:29 +0200)]
build: Check for linux/if_alg.h if tools are enabled
Marcel Holtmann [Wed, 8 Jun 2011 05:43:05 +0000 (07:43 +0200)]
tools: Use sendfile() instead of mmap() for AF_ALG test utility
Marcel Holtmann [Wed, 8 Jun 2011 05:28:16 +0000 (07:28 +0200)]
tools: Add utility for testing AF_ALG kernel interface
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add free-ride test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add session connect disconnect test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add session disconnect test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add session connect test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add create many session test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add create already exists test case
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add create and destroy test case
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add init/cleanup util function
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add create session test
Create a complete session, that is with proper notification object.
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add Session API binding
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add manager create/destroy tests
Also add util function for creating the test fixture data structure.
Daniel Wagner [Tue, 7 Jun 2011 13:42:21 +0000 (15:42 +0200)]
unit: Toggle SessionMode for each test case
Daniel Wagner [Tue, 7 Jun 2011 13:42:21 +0000 (15:42 +0200)]
unit: Add Manager API binding
Daniel Wagner [Tue, 7 Jun 2011 13:42:21 +0000 (15:42 +0200)]
unit: Add util function for unit tests
Daniel Wagner [Tue, 7 Jun 2011 13:42:21 +0000 (15:42 +0200)]
unit: Add test-session
Daniel Wagner [Thu, 2 Jun 2011 17:29:08 +0000 (19:29 +0200)]
element: Remove device code
Daniel Wagner [Thu, 2 Jun 2011 17:30:44 +0000 (19:30 +0200)]
element: Remove left overs from clean
Daniel Wagner [Tue, 7 Jun 2011 07:54:25 +0000 (09:54 +0200)]
dhcp: Fix dhcp_invalidate NULL pointer access
dhcp->nameservers can be NULL. This can be triggered with toggling
the technologies switches fast enough.
Marcel Holtmann [Thu, 2 Jun 2011 01:29:59 +0000 (03:29 +0200)]
Release 0.74
Marcel Holtmann [Thu, 2 Jun 2011 00:40:21 +0000 (02:40 +0200)]
tethering: Fix small typo
Marcel Holtmann [Thu, 2 Jun 2011 00:39:30 +0000 (02:39 +0200)]
tethering: Fix handling of undefined DBUS_TYPE_UNIX_FD
Samuel Ortiz [Tue, 31 May 2011 22:21:08 +0000 (00:21 +0200)]
AUTHORS: Mention Thierry's contributions
Samuel Ortiz [Tue, 31 May 2011 22:19:22 +0000 (00:19 +0200)]
TODO: D-Bus provisioning, private networks and v6v4 oFono support are done
Samuel Ortiz [Tue, 31 May 2011 22:16:26 +0000 (00:16 +0200)]
dhcp: Call ipconfig_address_remove from dhcp_invalidate
Clearing the ipconfig fields is not enough, the actual rntl command needs
to be sent for the IP to be cleared.
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.
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.
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().