framework/connectivity/connman.git
12 years agoloopback: Recover Loopback on Setup when Up but No Address
Grant Erickson [Fri, 15 Jul 2011 17:21:34 +0000 (10:21 -0700)]
loopback: Recover Loopback on Setup when Up but No Address

It is possible to end up in situations in which the loopback interface
is up but has no valid address. In that case, we expect SIOCGIFADDR
will return EADDRNOTAVAIL and valid_loopback should return FALSE such
that connman can add a loopback address back to the interface.

This is a partial fix for bug 21001
<https://bugs.meego.com/show_bug.cgi?id=21001>.

12 years agoloopback: Improve Error Reporting when Recovering Loopback
Grant Erickson [Fri, 15 Jul 2011 17:21:33 +0000 (10:21 -0700)]
loopback: Improve Error Reporting when Recovering Loopback

When fixing up the loopback address or netmask, log what is being
fixed up.

12 years agoloopback: Use Existing Loopback Globals Rather than Temporaries
Grant Erickson [Fri, 15 Jul 2011 17:21:32 +0000 (10:21 -0700)]
loopback: Use Existing Loopback Globals Rather than Temporaries

Use preassigned globals for the loopback address and netmask rather
than creating and assigning additional temporaries.

12 years agoloopback: Return a More Descriptive Error Code
Grant Erickson [Fri, 15 Jul 2011 17:21:31 +0000 (10:21 -0700)]
loopback: Return a More Descriptive Error Code

Return a more descriptive -errno rather than -1 when we fail to create
a socket.

12 years agoservice: Do not iterate over NULL service list
Daniel Wagner [Tue, 12 Jul 2011 14:55:24 +0000 (16:55 +0200)]
service: Do not iterate over NULL service list

12 years agonetwork: Remove unused function
Daniel Wagner [Fri, 8 Jul 2011 10:32:21 +0000 (12:32 +0200)]
network: Remove unused function

12 years agoservice: Fix whitespace damage
Daniel Wagner [Fri, 8 Jul 2011 10:32:20 +0000 (12:32 +0200)]
service: Fix whitespace damage

12 years agoprovider: Fix ident memory leak if provider cannot be created
Patrik Flykt [Tue, 12 Jul 2011 11:00:50 +0000 (14:00 +0300)]
provider: Fix ident memory leak if provider cannot be created

12 years agoservice: Cleanup fix
Daniel Wagner [Tue, 12 Jul 2011 09:47:05 +0000 (11:47 +0200)]
service: Cleanup fix

When the system shuts downn, we destroy the service_list.  The destroy
callback on the service_list sequence is service_free() which will
call the provider code. Provider wants to iterater over the
service_list we are currently freeing. This results into a crash.

#0  0x0000003edd680991 in __strlen_sse2 () from /lib64/libc.so.6
#1  0x0000003ee0a280fb in ?? () from /lib64/libdbus-1.so.3
#2  0x0000003ee0a15f19 in ?? () from /lib64/libdbus-1.so.3
#3  0x0000003ee0a19c0a in dbus_message_iter_append_basic () from /lib64/libdbus-1.so.3
#4  0x000000000043985b in append_path (value=0x6a7800, user_data=0x7fffffffe350)
    at src/service.c:121
#5  0x0000003edf65af07 in g_sequence_foreach_range () from /lib64/libglib-2.0.so.0
#6  0x0000000000439888 in __connman_service_list (iter=0x7fffffffe350, user_data=0x0)
    at src/service.c:127
#7  0x000000000045971e in connman_dbus_property_append_array (iter=0x7fffffffe440, key=
    0x472cd8 "Services", type=111, function=0x439860 <__connman_service_list>, user_data=0x0)
    at src/dbus.c:204
#8  0x000000000045990a in connman_dbus_property_changed_array (path=0x472ca0 "/", interface=
    0x472c8c "net.connman.Manager", key=0x472cd8 "Services", type=111, function=
    0x439860 <__connman_service_list>, user_data=0x0) at src/dbus.c:271
#9  0x00000000004391cd in services_changed (user_data=0x0) at src/profile.c:120
#10 0x000000000043924c in __connman_profile_changed (delayed=0) at src/profile.c:143
#11 0x000000000043f467 in service_free (user_data=0x6aab40) at src/service.c:2951
#12 0x0000003edf65aac8 in ?? () from /lib64/libglib-2.0.so.0
#13 0x0000003edf65aaa2 in ?? () from /lib64/libglib-2.0.so.0
#14 0x0000003edf65ae39 in g_sequence_free () from /lib64/libglib-2.0.so.0
#15 0x000000000044459f in __connman_service_cleanup () at src/service.c:5432
#16 0x000000000042ef5f in main (argc=1, argv=0x7fffffffe6b8) at src/main.c:412

12 years agoprovider: Untangle create and connect code block
Marcel Holtmann [Tue, 12 Jul 2011 09:48:11 +0000 (11:48 +0200)]
provider: Untangle create and connect code block

12 years agoprovider: Remove pointless jump to error label
Marcel Holtmann [Tue, 12 Jul 2011 09:39:04 +0000 (11:39 +0200)]
provider: Remove pointless jump to error label

This fixes a compiler warning for an uninitialized variable. And this
warning is a real error.

  CC     src/provider.o
src/provider.c: In function ‘__connman_provider_create_and_connect’:
src/provider.c:476: warning: ‘provider’ may be used uninitialized in this function

12 years agonetwork: Set network driver before creating the service
Samuel Ortiz [Sat, 9 Jul 2011 00:24:51 +0000 (02:24 +0200)]
network: Set network driver before creating the service

The autoconnect machine can potentially start from
__connman_service_create_from_network() so it needs a network driver.

12 years agoservice: disconnect state has priority over online one.
Tomasz Bursztyka [Fri, 8 Jul 2011 17:04:37 +0000 (20:04 +0300)]
service: disconnect state has priority over online one.

12 years agoservice: preventing to call ready state more than once.
Tomasz Bursztyka [Fri, 8 Jul 2011 16:31:03 +0000 (19:31 +0300)]
service: preventing to call ready state more than once.

12 years agotimezone: Remove /etc/localtime if it's a symbolic link
Yu A Wang [Fri, 8 Jul 2011 17:15:37 +0000 (19:15 +0200)]
timezone: Remove /etc/localtime if it's a symbolic link

And copy the timezone file over.

Fixes BMC #18887

12 years agodevice: Ignore dummy networking devices
Samuel Ortiz [Fri, 8 Jul 2011 16:34:15 +0000 (18:34 +0200)]
device: Ignore dummy networking devices

When a kernel comes with dummy network devices support enabled, the
dummy interface will take the default route whenever a real interface
disconnects.
This is not what we want as the default route won't be released then.

12 years agonetwork: Fix temp pointer memory leak
Samuel Ortiz [Fri, 8 Jul 2011 16:19:49 +0000 (18:19 +0200)]
network: Fix temp pointer memory leak

12 years agonetwork: Let the gateway code handle the READY transition
Samuel Ortiz [Fri, 8 Jul 2011 09:33:18 +0000 (11:33 +0200)]
network: Let the gateway code handle the READY transition

For IPv4 (DHCP, fixed or manual), and for manual IPv6, the gateway handling
code (connection.c) is the one responsible for moving to the READY state.

12 years agoipconfig: Don't call IP bound ops when type does not match
Samuel Ortiz [Fri, 8 Jul 2011 00:21:43 +0000 (02:21 +0200)]
ipconfig: Don't call IP bound ops when type does not match

12 years agonetwork: Autoconf IPv6 is ready when address is set
Samuel Ortiz [Fri, 8 Jul 2011 00:25:14 +0000 (02:25 +0200)]
network: Autoconf IPv6 is ready when address is set

It's not ready when the technology is connected. The ASSOC->READY transition
will happen through the IP bound ops.

12 years agoservice: Separate ipconfig state and service state handling
Tomasz Bursztyka [Fri, 8 Jul 2011 00:12:00 +0000 (02:12 +0200)]
service: Separate ipconfig state and service state handling

12 years agoservice: Use __connman_service_ipconfig_indicate_state()
Daniel Wagner [Thu, 7 Jul 2011 16:47:26 +0000 (19:47 +0300)]
service: Use __connman_service_ipconfig_indicate_state()

12 years agoservice: Add __connman_service_ipconfig_indicate_state()
Daniel Wagner [Thu, 7 Jul 2011 16:47:25 +0000 (19:47 +0300)]
service: Add __connman_service_ipconfig_indicate_state()

12 years agomonitor-connman: Parse Notification messages
Daniel Wagner [Thu, 7 Jul 2011 16:47:24 +0000 (19:47 +0300)]
monitor-connman: Parse Notification messages

12 years agodevice: Get service type from __connman_device_find_device
Samuel Ortiz [Thu, 7 Jul 2011 14:49:09 +0000 (16:49 +0200)]
device: Get service type from __connman_device_find_device

The device search is based on the service type, not on the device type.

Fixes BMC#18747

12 years agodnsproxy: Fix indentation.
Jukka Rissanen [Wed, 6 Jul 2011 10:26:11 +0000 (13:26 +0300)]
dnsproxy: Fix indentation.

12 years agoofono: Set IPv4 address if IPv6 method is not supported
Thierry Boureille [Wed, 6 Jul 2011 17:41:10 +0000 (19:41 +0200)]
ofono: Set IPv4 address if IPv6 method is not supported

Also, fall back to IPv6 when the IPv4 method is not supported.

12 years agogweb: Apply address family restiction to resolver
Tomasz Bursztyka [Mon, 4 Jul 2011 11:34:57 +0000 (14:34 +0300)]
gweb: Apply address family restiction to resolver

12 years agogresolv: Queries address family scope restriction
Tomasz Bursztyka [Mon, 4 Jul 2011 11:34:56 +0000 (14:34 +0300)]
gresolv: Queries address family scope restriction

Adding the capability to restrict DNS queries to a specific address family
through gresolv_set_address_family(). By default, AF_UNSPEC is applied.

12 years agosession: Service type to bearer string conversion support
Patrik Flykt [Fri, 1 Jul 2011 08:01:11 +0000 (11:01 +0300)]
session: Service type to bearer string conversion support

12 years agosession: Correct GSequence sorting to use service_entry structs
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.

12 years agoprovider: Get 'Host' and 'VPN.Domain' from provider struct
Patrik Flykt [Fri, 1 Jul 2011 08:01:09 +0000 (11:01 +0300)]
provider: Get 'Host' and 'VPN.Domain' from provider struct

12 years agoprovider: Properly set host and domain provider members
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.

12 years agoprovider: Fix memory leak; free provider->host in provider destruct
Patrik Flykt [Fri, 1 Jul 2011 08:01:07 +0000 (11:01 +0300)]
provider: Fix memory leak; free provider->host in provider destruct

12 years agomain: Move signalfd setup in its own function
Marcel Holtmann [Sat, 2 Jul 2011 04:38:14 +0000 (21:38 -0700)]
main: Move signalfd setup in its own function

12 years agomain: Use signalfd instead of plain signals
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.

12 years agogweb: Use GnuTLS priority string to provide wide compatibility
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

12 years agogweb: Remove call to deprecated GnuTLS function
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.

12 years agotethering: Update APIs to be able to use multiple private networks
Guillaume Zajac [Tue, 28 Jun 2011 13:19:12 +0000 (15:19 +0200)]
tethering: Update APIs to be able to use multiple private networks

12 years agodoc: Update private network method prototypes
Guillaume Zajac [Tue, 28 Jun 2011 13:19:11 +0000 (15:19 +0200)]
doc: Update private network method prototypes

12 years agoTODO: IPv6 gateway handling done.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:50 +0000 (13:37 +0300)]
TODO: IPv6 gateway handling done.

12 years agonetwork: Clear IPv6 autoconfigured routes when disconnected.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:49 +0000 (13:37 +0300)]
network: Clear IPv6 autoconfigured routes when disconnected.

12 years agoipconfig: Added function to enable IPv6.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:48 +0000 (13:37 +0300)]
ipconfig: Added function to enable IPv6.

12 years agonetwork: Clear interface addresses after removing gateway address.
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.

12 years agoipconfig: Add function to remove address from interface.
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.

12 years agonetwork: Set manual IPv6 state and gateway.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:45 +0000 (13:37 +0300)]
network: Set manual IPv6 state and gateway.

12 years agoconnection: Separate IPv4 and IPv6 gateway and routing handling.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:44 +0000 (13:37 +0300)]
connection: Separate IPv4 and IPv6 gateway and routing handling.

12 years agonetwork: Add IPv6 associating state.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:43 +0000 (13:37 +0300)]
network: Add IPv6 associating state.

12 years agoservice: Set and clear IPv6 nameserver addresses properly.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:42 +0000 (13:37 +0300)]
service: Set and clear IPv6 nameserver addresses properly.

12 years agoinet: Added support functions for setting and clearing IPv6 gateway address.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:41 +0000 (13:37 +0300)]
inet: Added support functions for setting and clearing IPv6 gateway address.

12 years agoservice: Fixed indentation.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:40 +0000 (13:37 +0300)]
service: Fixed indentation.

12 years agoinet: Fixed indentation.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:39 +0000 (13:37 +0300)]
inet: Fixed indentation.

12 years agoinet: Changed error prints to print the error string.
Jukka Rissanen [Wed, 22 Jun 2011 10:37:38 +0000 (13:37 +0300)]
inet: Changed error prints to print the error string.

12 years agoconfig: Provision service after adding new .config files.
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.

12 years agomain: Be quiet when config file isn't found
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.

12 years agogweb: added the capability to restrict the requests to a specific address family.
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.

12 years agowifi: Fix return value of wifi_[enable/disable].
Alok Barsode [Mon, 20 Jun 2011 11:06:12 +0000 (14:06 +0300)]
wifi: Fix return value of wifi_[enable/disable].

12 years agoRevert "service: Provide a function to query immutability"
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>

12 years agodevice: Fix an inbalance ref/unref of network objects
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.

12 years agoTODO: DUN client
Daniel Wagner [Thu, 16 Jun 2011 14:06:25 +0000 (16:06 +0200)]
TODO: DUN client

12 years agotodo: connman_element removal done
Daniel Wagner [Thu, 16 Jun 2011 14:02:48 +0000 (16:02 +0200)]
todo: connman_element removal done

12 years agoprovider: Remove unnecessary additional check for NULL provider struct
Patrik Flykt [Fri, 17 Jun 2011 08:07:15 +0000 (11:07 +0300)]
provider: Remove unnecessary additional check for NULL provider struct

12 years agoservice: Use existing setup_ip*config functions when creating a service
Patrik Flykt [Thu, 16 Jun 2011 13:01:36 +0000 (16:01 +0300)]
service: Use existing setup_ip*config functions when creating a service

12 years agodoc: Update documentation regarding 'SessionMode' property.
Patrik Flykt [Thu, 16 Jun 2011 13:01:35 +0000 (16:01 +0300)]
doc: Update documentation regarding 'SessionMode' property.

12 years agoofono: Fix add_newtork() error path
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.

12 years agoagent: Unify request input callback for passphrase and login based input.
Tomasz Bursztyka [Tue, 14 Jun 2011 09:55:29 +0000 (12:55 +0300)]
agent: Unify request input callback for passphrase and login based input.

12 years agoagent: Add documentation about WISPr-enabled hotspot input request.
Tomasz Bursztyka [Tue, 14 Jun 2011 09:55:28 +0000 (12:55 +0300)]
agent: Add documentation about WISPr-enabled hotspot input request.

12 years agodevice: Do not return error for unhandled devices
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.

12 years agoAUTHORS: Mention Paulo's contributions
Samuel Ortiz [Fri, 17 Jun 2011 14:24:08 +0000 (16:24 +0200)]
AUTHORS: Mention Paulo's contributions

12 years agogsupplicant: Client certificate is not mandatory for TTLS/PEAP
Paolo Pellegrino [Fri, 17 Jun 2011 14:20:26 +0000 (16:20 +0200)]
gsupplicant: Client certificate is not mandatory for TTLS/PEAP

12 years agoproperty: Remove it
Daniel Wagner [Thu, 16 Jun 2011 07:44:54 +0000 (09:44 +0200)]
property: Remove it

12 years agoelement: Remove element.c
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
element: Remove element.c

12 years agotimeserver: Do not use element driver API
Daniel Wagner [Thu, 16 Jun 2011 11:29:39 +0000 (13:29 +0200)]
timeserver: Do not use element driver API

12 years agoprovider: Remove element code
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
provider: Remove element code

12 years agoelement: Remove network code
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
element: Remove network code

12 years agonetwork: Remove element code from connman_network_[set|get]_blob()
Daniel Wagner [Thu, 16 Jun 2011 08:15:46 +0000 (10:15 +0200)]
network: Remove element code from connman_network_[set|get]_blob()

12 years agonetwork: 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_uint16()

12 years agonetwork: Use setter/getters for connman_network_set/get_uint8()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
network: Use setter/getters for connman_network_set/get_uint8()

12 years agonetwork: Remove element code from connman_network_[set|get]_bool()
Daniel Wagner [Thu, 16 Jun 2011 08:00:26 +0000 (10:00 +0200)]
network: Remove element code from connman_network_[set|get]_bool()

12 years agonetwork: Remove unused set type element
Daniel Wagner [Thu, 16 Jun 2011 07:57:35 +0000 (09:57 +0200)]
network: Remove unused set type element

12 years agonetwork: Remove element code from connman_network_[set|get]_string()
Daniel Wagner [Thu, 16 Jun 2011 07:47:42 +0000 (09:47 +0200)]
network: Remove element code from connman_network_[set|get]_string()

12 years agonetwork: Remove unused network_driver->setup()
Daniel Wagner [Thu, 16 Jun 2011 07:44:53 +0000 (09:44 +0200)]
network: Remove unused network_driver->setup()

12 years agoservice: Remove Service.Mode
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.

12 years agowimax: Remove unused station_type
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().

12 years agowifi: Whitespace cleanup
Daniel Wagner [Thu, 16 Jun 2011 07:44:52 +0000 (09:44 +0200)]
wifi: Whitespace cleanup

12 years agoRelease 0.75
Marcel Holtmann [Wed, 15 Jun 2011 18:06:33 +0000 (11:06 -0700)]
Release 0.75

12 years agounit: Fix wrong include of common header
Marcel Holtmann [Wed, 15 Jun 2011 17:12:59 +0000 (10:12 -0700)]
unit: Fix wrong include of common header

12 years agobuild: Include unit/test-connman.h into source list
Marcel Holtmann [Wed, 15 Jun 2011 17:12:34 +0000 (10:12 -0700)]
build: Include unit/test-connman.h into source list

12 years agogsupplicant: Fix how raw key as psk are provided.
Tomasz Bursztyka [Sat, 11 Jun 2011 08:07:39 +0000 (11:07 +0300)]
gsupplicant: Fix how raw key as psk are provided.

12 years agoservice: Add timeout event only the first time
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.

12 years agodhcp: Cancel old renewal timeout prior to adding a new one
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.

12 years agoinet: Standardize error codes and messages
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.

12 years agogweb: Make debug for write simpler
Marcel Holtmann [Mon, 13 Jun 2011 20:12:44 +0000 (22:12 +0200)]
gweb: Make debug for write simpler

12 years agobuild: Add alg-test to ignore list
Marcel Holtmann [Mon, 13 Jun 2011 20:12:24 +0000 (22:12 +0200)]
build: Add alg-test to ignore list

12 years agobuild: Check for linux/if_alg.h if tools are enabled
Marcel Holtmann [Wed, 8 Jun 2011 08:29:01 +0000 (10:29 +0200)]
build: Check for linux/if_alg.h if tools are enabled

12 years agotools: Use sendfile() instead of mmap() for AF_ALG test utility
Marcel Holtmann [Wed, 8 Jun 2011 05:43:05 +0000 (07:43 +0200)]
tools: Use sendfile() instead of mmap() for AF_ALG test utility

12 years agotools: Add utility for testing AF_ALG kernel interface
Marcel Holtmann [Wed, 8 Jun 2011 05:28:16 +0000 (07:28 +0200)]
tools: Add utility for testing AF_ALG kernel interface

12 years agounit: Add free-ride test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add free-ride test

12 years agounit: Add session connect disconnect test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add session connect disconnect test

12 years agounit: Add session disconnect test
Daniel Wagner [Tue, 7 Jun 2011 13:42:22 +0000 (15:42 +0200)]
unit: Add session disconnect test