Yu A Wang [Thu, 24 Nov 2011 11:52:44 +0000 (06:52 -0500)]
ofono: Do not call set_connected() from the activation reply
As the IP setting may not be set when getting the activation D-Bus reply,
set_connected should not be called at that point but rather from
the context_changed routine.
Fixes BMC#24284
Jukka Rissanen [Fri, 25 Nov 2011 15:06:27 +0000 (17:06 +0200)]
tethering: Avoid removing dhcp server twice.
The tethering_dhcp_server pointer needs to be cleared as
otherwise the __connman_tethering_cleanup() will call it again.
Jukka Rissanen [Fri, 25 Nov 2011 15:06:16 +0000 (17:06 +0200)]
wifi: The remove interface callback used stale pointer.
When a wlan interface is removed we call proper method in
supplicant dbus interface. As the return message from supplicant
might come very late, we must not use the wifi pointer as
user data in interface remove callback. This is because the wifi
pointer might be removed before the answer comes from supplicant and
the callback user data pointer would not be valid at that point.
Jukka Rissanen [Fri, 25 Nov 2011 15:05:49 +0000 (17:05 +0200)]
wifi: Add debugging in order to find memory problems.
Jukka Rissanen [Fri, 25 Nov 2011 15:05:37 +0000 (17:05 +0200)]
ipconfig: Remove ipconfig from ipconfig_list
It is possible that ipdevice does not contain ipconfig for
some reason. If that happens, then ipconfig is not removed
from ipconfig_list which will then escalate into freed memory
access when interface is taken down.
The problem was seen with valgrind when tethering was enabled
and then disabled for wifi.
Tomasz Bursztyka [Fri, 25 Nov 2011 11:03:05 +0000 (13:03 +0200)]
6to4: Use the right interface index with gweb
Tomasz Bursztyka [Fri, 25 Nov 2011 11:03:04 +0000 (13:03 +0200)]
wispr: Use the right interface index with gweb
Tomasz Bursztyka [Fri, 25 Nov 2011 11:03:03 +0000 (13:03 +0200)]
gweb: Bind socket to the right interface
Tomasz Bursztyka [Fri, 25 Nov 2011 11:03:02 +0000 (13:03 +0200)]
gresolv: Bind socket to the right interface
Yu A Wang [Thu, 24 Nov 2011 03:04:17 +0000 (22:04 -0500)]
technology: Save the pending reply only when the status is inprogress
For ethernet device, there is no need to save a pending reply as
the technology enablement is synchronous.
Fixes BMC#24249
Jukka Rissanen [Wed, 23 Nov 2011 15:06:20 +0000 (17:06 +0200)]
service: Support automatically added nameservers
IPv6 autoconfigured nameservers can be added to resolver
via netlink messages in rtnl.c. Because of this they are
not seen in service object so we need to get those auto
added nameserver to be added in service.c so that
service can show them to user if necessary.
Fixes BMC#24196
Alok Barsode [Thu, 29 Sep 2011 10:53:04 +0000 (13:53 +0300)]
storage: Add default values to settings file.
On a clean start (without default.profile) create the settings file
with default values. Here is a list of default values:
Offlinemode = off.
Wifi = disabled.
bluetooth = disabled.
ethernet = disabled.
3G = disabled.
WiMAX = disabled.
The reason for offlinemode to be off here is that any changes to
the technology will not be recorded if we start in offlinemode.
Fixes BMC#24285
Jukka Rissanen [Wed, 23 Nov 2011 13:31:39 +0000 (15:31 +0200)]
dnsproxy: Do not copy two extra bytes if using TCP
Jukka Rissanen [Wed, 23 Nov 2011 13:31:38 +0000 (15:31 +0200)]
dnsproxy: Get rid of extra strlen() calls
Jukka Rissanen [Wed, 23 Nov 2011 13:31:37 +0000 (15:31 +0200)]
dnsproxy: One extra garbage byte was sent at the end of the message
Fixes BMC#24253
Daniel Wagner [Mon, 21 Nov 2011 15:18:02 +0000 (16:18 +0100)]
service: Fix memory leak in service_load()
Tomasz Bursztyka [Mon, 21 Nov 2011 08:51:42 +0000 (10:51 +0200)]
service: Set network_created flag only if create_hidden_wifi succeeds
Yu A Wang [Thu, 10 Nov 2011 05:08:34 +0000 (00:08 -0500)]
ofono: Don't set network index when device is removed
A NULL interface means the device is removed so there is no need for
setting the network index as it will eventually be removed.
Setting the network index to -1 prevents wpad or wispr to unreference
the service.
Fixes BMC#23979
Tomasz Bursztyka [Fri, 18 Nov 2011 13:08:52 +0000 (15:08 +0200)]
service: network_created is set only for hidden services
Fixes BMC#23976
Patrik Flykt [Wed, 16 Nov 2011 10:33:56 +0000 (12:33 +0200)]
plugins: Don't attempt to save strings with value NULL
If a string with value NULL is set with g_key_file_set_string(),
a critical glib error will be printed.
Daniel Wagner [Wed, 16 Nov 2011 14:09:51 +0000 (15:09 +0100)]
network: connman_network_set_nameservers() handle NULL argument correctly
Trying to access an array pointer which points to NULL is generally a
bad idea. Instead just return early.
Daniel Wagner [Tue, 15 Nov 2011 17:12:17 +0000 (18:12 +0100)]
notifier: Remove service from hash in error case
CONNMAN_SERVICE_STATE_FAILURE should be treated in the same
way as CONNMAN_SERVICE_STATE_DISCONNECT or CONNMAN_SERVICE_STATE_IDLE
in __connman_notifier_service_state_changed().
This should help to reduce the "Service state machine inconsistency detected."
error message.
Daniel Wagner [Tue, 15 Nov 2011 16:49:01 +0000 (17:49 +0100)]
network: Call indicate error function in error case
Setting the error only on one ipconfig type e.g. IPv4 is not enough.
service.c:combine_state() will report to stay in associating state:
src/service.c:service_indicate_state() service 0x6b1a60 old association - new failure/association => association
After applying the patch it loosk like this:
src/service.c:service_indicate_state() service 0x6b1f70 old association - new failure/association => association
src/service.c:service_indicate_state() service 0x6b1f70 old association - new failure/failure => failure
Jukka Rissanen [Tue, 15 Nov 2011 11:06:31 +0000 (13:06 +0200)]
l2tp: Config save support added
Jukka Rissanen [Tue, 15 Nov 2011 11:06:30 +0000 (13:06 +0200)]
pptp: Config save support added
Jukka Rissanen [Tue, 15 Nov 2011 11:06:29 +0000 (13:06 +0200)]
todo: Mark l2tp and pptp as done
Jukka Rissanen [Tue, 15 Nov 2011 11:06:28 +0000 (13:06 +0200)]
task: Make sure the process is eventually killed
If a task refuses to kill itself, then wait two secs before
trying again and if that does not help then forcefully kill it.
Jukka Rissanen [Tue, 15 Nov 2011 11:06:27 +0000 (13:06 +0200)]
readme: Add l2tp and pptp information
Jukka Rissanen [Tue, 15 Nov 2011 11:06:26 +0000 (13:06 +0200)]
pptp: Do not put password in command line options
Jukka Rissanen [Tue, 15 Nov 2011 11:06:25 +0000 (13:06 +0200)]
pptp: Return authentication errors properly
Jukka Rissanen [Tue, 15 Nov 2011 11:06:24 +0000 (13:06 +0200)]
l2tp: Check authentication error properly
Jukka Rissanen [Tue, 15 Nov 2011 11:06:23 +0000 (13:06 +0200)]
scripts: Report authentication error to connman
The ppp plugin now checks ppp authentication error and report it
to correct connman plugin.
Jukka Rissanen [Tue, 15 Nov 2011 11:06:22 +0000 (13:06 +0200)]
scripts: Compile libppp-plugin.so properly
Jukka Rissanen [Tue, 15 Nov 2011 11:06:21 +0000 (13:06 +0200)]
pptp: Add pptp makefile and configure file
Jukka Rissanen [Tue, 15 Nov 2011 11:06:20 +0000 (13:06 +0200)]
l2tp: Add l2tp makefile and configure file
Mohamed Abbas [Tue, 15 Nov 2011 11:06:19 +0000 (13:06 +0200)]
test: Add test script support for pptp/l2tp
Modify connect-vpn script to handle pptp/l2tp connection.
Mohamed Abbas [Tue, 15 Nov 2011 11:06:18 +0000 (13:06 +0200)]
l2tp: Add l2tp vpn support
Initial revision.
Mohamed Abbas [Tue, 15 Nov 2011 11:06:17 +0000 (13:06 +0200)]
pptp: Add ppp plugin library
pppd will use this library to talk with connman vpn plugin.
Original patch comes from Mohamed Abbas. Prepared for inclusion
by Jukka Rissanen, also changed the pptp function prefix to ppp as
the plugin is used by both pptp and l2tp plugins.
Mohamed Abbas [Tue, 15 Nov 2011 11:06:16 +0000 (13:06 +0200)]
pptp: Add pptp vpn support
Initial revision.
Mohamed Abbas [Tue, 15 Nov 2011 11:06:15 +0000 (13:06 +0200)]
task: Allow vpn plugins to send reply
Change task notify to allow client to send dbus reply. This
will allow vpn plugin to send requested user/password info.
Jukka Rissanen [Tue, 15 Nov 2011 11:06:14 +0000 (13:06 +0200)]
vpn: Add null checks
Mohamed Abbas [Tue, 15 Nov 2011 11:06:13 +0000 (13:06 +0200)]
vpn: Add support to allow ppp tunnelling
pptp and l2tp does not use tun/tab approach so change the vpn.c to
allow vpn daemon to create the interface. Now vpn plugin tell
vpn to create the device or leave to vpn client.
On connection vpn will get the interface name set the index
for the provider.
This patch is prepared by Jukka Rissanen and it contains
Mohamed Abbas original patch + fixes suggested by Daniel Wagner.
Jukka fixed memory leak in vpn_set_ifname().
Patrik Flykt [Tue, 15 Nov 2011 11:19:51 +0000 (13:19 +0200)]
tethering: Use already existing 'tether' bridge interface
When creating bridge interface 'tether', don't report error if
it already exists. Check also -EALREADY given by connman_inet_ifup()
via enable_bridge() if the bridge interface was already up.
Fixes BMC#23931
Tomasz Bursztyka [Thu, 10 Nov 2011 09:02:23 +0000 (11:02 +0200)]
iptables: Initiate defined table before working on it
Tomasz Bursztyka [Thu, 10 Nov 2011 09:02:22 +0000 (11:02 +0200)]
tools: Initiate defined table before working on it in iptables-test
Marcel Holtmann [Sat, 12 Nov 2011 23:23:12 +0000 (08:23 +0900)]
build: Create src/builtin.h via BUILT_SOURCES
Yu A Wang [Tue, 8 Nov 2011 02:32:25 +0000 (21:32 -0500)]
network: Fix failed to reconnect to 3G network when connect failed
When connect failed, set the associating value to false again, else
when we connect again the return err will be EALREADY.
Daniel Wagner [Tue, 8 Nov 2011 15:24:03 +0000 (16:24 +0100)]
bluetooth: Cleanup if technology driver register fails
Daniel Wagner [Tue, 8 Nov 2011 15:16:02 +0000 (16:16 +0100)]
rfkill.h: Remove unused header file
Daniel Wagner [Mon, 31 Oct 2011 12:19:12 +0000 (13:19 +0100)]
gdhcp: Use gcc atomics instead glib's ones
g_atomic_int_exchange_and_add() has been removed from glib 2.30
and g_atomic_int_add() should be used. Though there are still
quite a few distros out which do not ship a glib version with
g_atomic_int_add().
Instead of maintaing a compatiblilty glib layer we just use
the built-in functions for atomic memory access.
Daniel Wagner [Mon, 31 Oct 2011 12:19:11 +0000 (13:19 +0100)]
gweb: Use gcc atomics instead glib's ones
g_atomic_int_exchange_and_add() has been removed from glib 2.30
and g_atomic_int_add() should be used. Though there are still
quite a few distros out which do not ship a glib version with
g_atomic_int_add().
Instead of maintaing a compatiblilty glib layer we just use
the built-in functions for atomic memory access.
Daniel Wagner [Mon, 31 Oct 2011 12:19:10 +0000 (13:19 +0100)]
plugins: Use gcc atomics instead glib's ones
g_atomic_int_exchange_and_add() has been removed from glib 2.30
and g_atomic_int_add() should be used. Though there are still
quite a few distros out which do not ship a glib version with
g_atomic_int_add().
Instead of maintaing a compatiblilty glib layer we just use
the built-in functions for atomic memory access.
Daniel Wagner [Mon, 31 Oct 2011 12:19:09 +0000 (13:19 +0100)]
core: Use gcc atomics instead glib's ones
g_atomic_int_exchange_and_add() has been removed from glib 2.30
and g_atomic_int_add() should be used. Though there are still
quite a few distros out which do not ship a glib version with
g_atomic_int_add().
Instead of maintaing a compatiblilty glib layer we just use
the built-in functions for atomic memory access.
Samuel Ortiz [Mon, 7 Nov 2011 19:55:43 +0000 (20:55 +0100)]
doc: Remove outdate SetupRequired property
The APN provisioning is fully handled by oFono.
Patrik Flykt [Mon, 31 Oct 2011 13:31:44 +0000 (15:31 +0200)]
test: Connecting a saved provider does not need all arguments
Patrik Flykt [Mon, 31 Oct 2011 13:31:43 +0000 (15:31 +0200)]
vpnc: Save support for vpnc
Vpnc saves all settings with prefix 'VPNC.'
Patrik Flykt [Mon, 31 Oct 2011 13:31:42 +0000 (15:31 +0200)]
openvpn: Save support for openvpn
Openvpn saves all settings with prefix 'OpenVPN.'
Patrik Flykt [Mon, 31 Oct 2011 13:31:41 +0000 (15:31 +0200)]
openconnect: Save support for openconnect VPN
Openconnect saves VPN MTU, Server and CA cert file paths.
Patrik Flykt [Mon, 31 Oct 2011 13:31:40 +0000 (15:31 +0200)]
vpn: Extend vpn driver struct with save support
Add provider save function and register it in the
vpn driver initialization.
Patrik Flykt [Mon, 31 Oct 2011 13:31:39 +0000 (15:31 +0200)]
provider: Helper function for fetching the keyfile group
Patrik Flykt [Mon, 31 Oct 2011 13:31:38 +0000 (15:31 +0200)]
provider: Define a save function for provider drivers
Define a save function for connman provider driver
specific settings. No corresponding load function
is defined since all saved settings are already loaded
by connman_provider_load().
Patrik Flykt [Mon, 31 Oct 2011 13:31:37 +0000 (15:31 +0200)]
provider: Load and save provider data
On connect, save 'Type', 'Name', 'Host' and 'VPN.Domain' provider
settings. On probe, load saved keys and their values from storage
and add the key/value pairs to the provider struct.
Patrik Flykt [Mon, 31 Oct 2011 13:31:36 +0000 (15:31 +0200)]
storage: Load and save functions for providers
Patrik Flykt [Mon, 31 Oct 2011 13:31:35 +0000 (15:31 +0200)]
storage: Trivial change to free pathname in common part of the code
Patrik Flykt [Mon, 31 Oct 2011 13:31:34 +0000 (15:31 +0200)]
wifi: Only consider identifiers starting with 'wifi_'
Patrik Flykt [Mon, 31 Oct 2011 13:31:33 +0000 (15:31 +0200)]
storage: Don't list provider settings directories
Tomasz Bursztyka [Wed, 26 Oct 2011 10:43:27 +0000 (13:43 +0300)]
test: Tiny typo fix in test-session python script
Daniel Wagner [Fri, 28 Oct 2011 15:12:06 +0000 (17:12 +0200)]
session doc: Document PeriodicConnect and IdleTimeout
Daniel Wagner [Fri, 28 Oct 2011 15:12:05 +0000 (17:12 +0200)]
session doc: Document state transitions
Daniel Wagner [Fri, 28 Oct 2011 15:12:04 +0000 (17:12 +0200)]
session doc: Fix typo
Tomasz Bursztyka [Thu, 3 Nov 2011 08:46:30 +0000 (10:46 +0200)]
wifi: Handle erroneous disconnection after 4way-handshake
And interpret it as a wrong psk after 4 consecutive failures.
Tomasz Bursztyka [Thu, 3 Nov 2011 08:46:29 +0000 (10:46 +0200)]
gsupplicant: Add a function to enable or disable the selected network
Jukka Rissanen [Tue, 1 Nov 2011 09:24:48 +0000 (11:24 +0200)]
network: Check device pointer when doing IPv6 autoconf
The device can disappear if network is disconnected while setting
autoconf parameters.
Jukka Rissanen [Tue, 1 Nov 2011 09:09:55 +0000 (11:09 +0200)]
network: Disconnect network properly
When network is removed (for example when ethernet cable
is disconnected), then it needs to be disconnected also.
The disconnect was not done at all because of the reference
counting fixes in dhcp code.
Jukka Rissanen [Mon, 31 Oct 2011 15:38:15 +0000 (17:38 +0200)]
inet: Cleanup the router solicitations handler properly
Jukka Rissanen [Mon, 31 Oct 2011 10:53:11 +0000 (12:53 +0200)]
inet: Fix file descriptor leak when comparing subnets
Daniel Wagner [Mon, 31 Oct 2011 19:30:16 +0000 (20:30 +0100)]
device: Cancel pending trigger when device is removed
connmand[28326]: src/device.c:device_destruct() device 0x6b97c0 name candlejack.bmw-carit.intra-1
connmand[28326]: plugins/bluetooth.c:powered_reply()
connmand[28326]: Name "org.bluez" does not exist
connmand[28326]: src/device.c:device_pending_reset() device 0x6b97c0
Patrik Flykt [Tue, 25 Oct 2011 07:51:38 +0000 (10:51 +0300)]
test: Use session.Destroy()
Use session.Destroy() instead of the Manager API DestroySession()
method call.
Patrik Flykt [Tue, 25 Oct 2011 07:51:37 +0000 (10:51 +0300)]
doc: Document that DestroySession will not send Release to sessions
Patrik Flykt [Tue, 25 Oct 2011 07:51:36 +0000 (10:51 +0300)]
session: Implement Session API Destroy method call
Call session_disconnect() from destroy_session() thus adding
functionality to Session API Destroy method call.
Tomasz Bursztyka [Mon, 31 Oct 2011 09:33:48 +0000 (11:33 +0200)]
iptables: Fix xtables API version issues
Tomasz Bursztyka [Mon, 31 Oct 2011 09:33:47 +0000 (11:33 +0200)]
tools: Fix xtables API version issues with iptables-test
Jukka Rissanen [Fri, 28 Oct 2011 09:28:59 +0000 (12:28 +0300)]
gdhcp: Possible file descriptor leak
Patrik Flykt [Fri, 28 Oct 2011 08:04:48 +0000 (11:04 +0300)]
session: Add a list of pending connect/disconnect actions
deselect_service() and select_offline_service() want to clear
up the session state machinery by setting up a zero second
timeout function thereby letting the main loop run once through
all waiting actions. Unfortunately, if a service is being
removed meantime, the service structure stored in the timeout
functions will become invalid.
This is fixed by adding a list of pending connect/disconnect
actions per struct service_entry and cancelling all of them
if the service is removed.
Fixes BMC#22879
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:43 +0000 (10:26 +0300)]
iptables: Support builtin chain policies changes
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:42 +0000 (10:26 +0300)]
iptables: Disable getopt unknown option display
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:41 +0000 (10:26 +0300)]
iptables: Support for rule matches list
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:40 +0000 (10:26 +0300)]
iptables: Finalize matches extensions setup
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:39 +0000 (10:26 +0300)]
iptables: Add extensions options parsing for matches
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:38 +0000 (10:26 +0300)]
iptables: Finalize target extensions setup
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:37 +0000 (10:26 +0300)]
iptables: Add extensions options parsing for target
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:36 +0000 (10:26 +0300)]
iptables: Add x6_options matches handling
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:35 +0000 (10:26 +0300)]
iptables: Add x6_options target handling
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:34 +0000 (10:26 +0300)]
iptables: Move target and matches preparation routines
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:33 +0000 (10:26 +0300)]
iptables: Support matches rule list loading
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:32 +0000 (10:26 +0300)]
iptables: Refactor matches preparation
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:31 +0000 (10:26 +0300)]
iptables: Move target options merge to prepare_target
Tomasz Bursztyka [Thu, 27 Oct 2011 07:26:30 +0000 (10:26 +0300)]
iptables: Code preparation for option handling
Tomasz Bursztyka [Thu, 27 Oct 2011 07:24:59 +0000 (10:24 +0300)]
tools: Add iptables_test builtin chain policy changes
Tomasz Bursztyka [Thu, 27 Oct 2011 07:24:58 +0000 (10:24 +0300)]
tools: Initialize the iptables_test invert flag properly
The invert flag is specific to each option so it needs to be initialized
after each succesfully handled option.