device: Remove unused phyindex
TODO: Add WiMAX removal task
storage.c: Search for settings file even if d_type is DT_UNKNOWN.

This is useful for filesystems where d_type is always DT_UNKNOWN,
for example in reiserfs.
main: Remove unused compat argument
main: Add support for specifying a non-default configuration file.

This patch adds support for specifying a main configuration file
different from the default value of /etc/connman/main.conf. This
is valuable during debug to specify alternate debug-only
configurations.
ipconfig: Add function to check if the ipconfig is OFF
service: Do not try to connect to service that cannot create connection

Check if the service IPv4/6 ipconfig is turned OFF, in this
case do not try to connect to that service because it will
not succeed.

Fixes BMC#25587
service: Do not set the service state when changing IPv4 method

The service state will be set to proper state if we are
actually doing the connection so do not set the state
when we are just setting the IPv4 method.
service: Initiate autoconnect after changing ipconfig method
service: Signal error property changes

In order to allow clients to update the property in a manner similar to
other service properties, signal changes in the service "Error" property
key/value pair.

The value "" is used when no error is asserted because D-Bus property
changed convention has no semantics for indicating a key/value pair was
removed.
connection: Add more debugging when setting VPN routes
connection: Set VPN default route to the VPN interface

Do not bother setting individual routes for default gateway so
for VPN we set the whole interface as a default gateway route.
provider: Allow VPN connection if not in connected state

Allow user to connect to VPN via dbus and supplying all
VPN parameters if the provider already exists but the VPN
is not in connected state.

This means that the user can call the Manager.ConnectProvider interface
multiple times to connect to VPN service. This patch is needed so that
OpenConnect can work correctly. Without this patch the OpenConnect cookie
cannot be passed to openconnect client program.
provider: Discard routes to VPN server via VPN tunnel

These obsolete routes must be discarded as we cannot
contact VPN server via VPN tunnel. If the VPN server
address is not yet resolved, we do that while starting
the VPN client process.

Example of non working routes:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         UG    0      0        0 vpn0
10.10.15.0      0.0.0.0         255.255.255.0   U     0      0        0 wlan0
10.10.15.1      0.0.0.0         255.255.255.255 UH    0      0        0 wlan0
10.252.112.0    0.0.0.0         255.255.240.0   U     0      0        0 vpn0
193.229.0.40    10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0
193.229.0.42    10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0
113.108.211.91  0.0.0.0         255.255.255.255 UH    0      0        0 vpn0
113.108.211.91  10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0

The correct routes should be like this:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 vpn0
10.10.15.0      0.0.0.0         255.255.255.0   U     0      0        0 wlan0
10.10.15.1      0.0.0.0         255.255.255.255 UH    0      0        0 wlan0
10.252.112.0    0.0.0.0         255.255.240.0   U     0      0        0 vpn0
193.229.0.40    10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0
193.229.0.42    10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0
113.108.211.91  10.10.15.1      255.255.255.255 UGH   0      0        0 wlan0
main: Introduce conf file option to disable hostname updates

The AllowHostnameUpdates in system config file can be used
to ignore the hostname update request that for example
can be received via DHCP hostname option.
dhcp: Apply received hostname option according to conf file setting

We do not use the received DHCP hostname option (12) if system
config file setting says so.

Fixes BMC#25597
bluetooth: Add device to hash before registration

During the connman_device_register() procedure a lookup to the
bluetooth_devices hash table happens, however the device is not on the
hash at this point and the look out fails.

If the registration fails, technology_disable() returns the Failed
message on D-Bus with the error status zero. That happens because we
don't have any device registered.

This patch moves the insertion of the device to before the device
registration.
dundee: Clean up device in case of setup failure

If the creation and registration of Bluetooth DUN device fails we need to
clean up before return, otherwise we leak memory.
technology: Rename save_state function by technology_save
technology: Save tethering identifier and passphrase