[connman] check service ID validity

storage: check service ID validity

Connman service ID is used, in the form it is read from storage, as
part of D-Bus path in connmand's D-Bus API. If the path constructed
using the service ID does not conform to D-Bus specifications, D-Bus
library assertion will cause connmand to exit; on restart the same
invalid ID is read from the storage and the assertion is triggered
again.

I experienced a connmand restart loop because some apparently
wispr-related memory corruption caused a service ID with binary
characters to be stored on disk. While that bug should be fixed also,
sanity-checking the service ID does not harm.
[connman] allow autoconnect when service is in failure state.
Merge pull request #6 from mer-packages/master

merge upstream to fork
Change the threshold for background scanning, -45 is actually very good RSSI.

Signed-off-by: Pasi Sjöholm <pasi.sjoholm@jollamobile.com>
[connman] do not start wifi scan if network is associating
Merge pull request #78 from lpotter/master

[connman] do not start wifi scan if network is associating
Merge pull request #79 from tigeli/master

Change the threshold for background scanning from -45 to -65
Merge pull request #76 from amccarthy/master

Data counter fixes
[connman] fix scan when no networks.
Merge pull request #80 from lpotter/master

[connman] fix scan when no networks.
Merge pull request #77 from hmallat/sanity-check-service-id

[connman] check service ID validity
[connman] Check interface validity before setting regdom

Ofono may emit a signal with cellular network MCC value, resulting in
a call to wifi_set_regdom(), when the wifi_data structure has been
created but wifi->interface is still NULL. Check the pointer value
before proceeding.

The error condition is difficult to reproduce; mostly it seems to
happen when wlan tethering is active.
Merge pull request #82 from hmallat/wifi-regdom-param-check

[connman] Check interface validity before setting regdom
supplicant: Tie P2P flush D-Bus call to the interface

As the callback for the call accesses GSupplicantInterface structure,
tie the pending call to the interface pointer so that it gets cancelled
if the interface is removed.

[connman] supplicant: Tie P2P flush D-Bus call to the interface
supplicant: rewrite pending DBus call handling for properties

Property-related D-Bus calls may be pending replies when the related
GSupplicantInterface structure is cleaned up. This results in an
attempt to access already freed memory when calls complete.

Fixed by keeping a list of pending property calls, and canceling the
calls related to an interface when the interface is removed. This is a
similar change to the one made earlier for pending method calls.

[connman] supplicant: rewrite pending DBus call handling for properties
wifi: cancel pending supplicant operations when removing

If there are pending D-Bus calls made inside supplicant code when
wifi_remove() frees the wifi struct, wifi plugin callback functions
may attempt to use already released memory when the calls complete.

Fixed by cancelling any outstanding supplicant calls in wifi_remove().

[connman] wifi: cancel pending supplicant operations when removing
Merge pull request #83 from hmallat/supplicant-dbus-call-cancellation

Supplicant dbus call cancellation
[connman] Don't override user setting when setting auto proxy url via dhcp.

Fixes loss of proxy auto configuration settings on first connect after
reboot or when a DHCP lease is renewed.

The pac field is used to store the user set proxy auto configuration
URL (from Proxy.Configuration property). DHCP was using the same field
instead of the proxy auto configuration field in the IP configuration
structure.