Marcel Holtmann [Wed, 12 May 2010 17:14:46 +0000 (19:14 +0200)]
Add support for getting current system hostname
Marcel Holtmann [Wed, 12 May 2010 16:37:03 +0000 (18:37 +0200)]
Export IPv4 gateway properly information if available
Marcel Holtmann [Wed, 12 May 2010 15:09:20 +0000 (17:09 +0200)]
Ignore invalid hostname provided by DHCP server
Forest Bond [Wed, 12 May 2010 00:56:06 +0000 (20:56 -0400)]
Fail immediately enabling/disabling unregistered technology
Previously, calling EnableTechnology or DisableTechnology with an
unregistered technology type caused the call to fail silently and
eventually timeout. With this patch, a "Not Registered" error is
returned immediately instead.
Martin Xu [Mon, 10 May 2010 07:25:36 +0000 (15:25 +0800)]
Check ssid_len before set WiFi.SSID of network
wpa_s 0.7.1 reports hidden network SSID as NULL, during scan. Conseqently,
the ssid of hidden network (which is set by user before) may be cleared,
and can not be connected anymore.
Marcel Holtmann [Sat, 8 May 2010 11:01:41 +0000 (13:01 +0200)]
Mention Forest's contributions
Marcel Holtmann [Sat, 8 May 2010 10:58:30 +0000 (12:58 +0200)]
Minor coding style update
Forest Bond [Thu, 6 May 2010 17:35:33 +0000 (13:35 -0400)]
Add support multiple nameservers in /etc/resolv.conf
Nameservers are appended to a local entry list. The MAXNS most recently
appended nameservers are written to /etc/resolv.conf in reverse order
(the most recently appended entry becomes the primary nameserver).
Martin Xu [Fri, 7 May 2010 08:39:48 +0000 (16:39 +0800)]
Export Gateway from service properties IPv4
Marcel Holtmann [Thu, 6 May 2010 05:49:25 +0000 (07:49 +0200)]
Update the Nameservers and Domains property description
Kalle Valo [Wed, 5 May 2010 14:02:50 +0000 (17:02 +0300)]
Remove set_powered() calls based on IFF_UP
wpa_supplicant 0.7.2+ (from git) didn't connect automatically to a wifi
network. I found out that this because of two calls to
connman_device_set_powered(), from wifi_newlink() and get_interface_reply().
The former was called first and causing the latter call not to trigger a
scan.
Because wpa_supplicant is initialised only in get_interface_reply(), and I
wasn't able to find a reason for the set_powered() call in wifi_newlink(),
the call in wifi_newlink() can be removed. Now connman will work with
both 0.6 and 0.7 versions of wpa_supplicant.
Also the supplicant_scan() is not needed, calling connman_device_set_powered()
in get_interface_reply() will trigger a scan.
Martin Xu [Wed, 5 May 2010 15:26:59 +0000 (23:26 +0800)]
Call __connman_notifier_connect() only when state is READY
If we call it at READY or ONLINE state, The function will be called
twice and connected times is set as two. And StateChanged signal "offline"
will never be emitted.
Commit
59a8daa3 ("ONLINE and LOGIN are also "connected" states.") added
a check for also state CONNMAN_SERVICE_STATE_LOGIN in
__connman_service_indicate_state(). But this meant that
__connman_notifier_connect() was called twice for each service, first in
READY state and then in LOGIN state. This broke refcounting in notifier.c
and caused a bug that Manager interface would always clame to be in
online state after a first successful connection even if all services were
disconnected.
Daniel Wagner [Thu, 29 Apr 2010 15:43:32 +0000 (17:43 +0200)]
Append Ethernet dictionary to cellular service properties
Martin Xu [Wed, 28 Apr 2010 10:25:45 +0000 (18:25 +0800)]
Set network associating to FALSE in pan_disconnect()
Otherwise, connman_network_set_connected() takes normal service
disconnect as connecting failure.
Martin Xu [Tue, 27 Apr 2010 09:49:12 +0000 (17:49 +0800)]
Check error before call dbus_message_get_args to acquire arguments
Function dbus_message_get_args just checks the signature which may
happens to be s(string), then it will just return TRUE, and the error
message is treated as return value.
So dbus_set_error_from_message is used to check the error, before
call dbus_message_get_args.
Mohamed Abbas [Tue, 20 Apr 2010 22:05:47 +0000 (15:05 -0700)]
Clean all VPN added host and gateway entries on VPN disconnect
When VPN disconnect we need to clean all gateway and host entries
correctly. VPN will add a gatway into active physical interface,
this entries need to be delete on VPN disconnect.
This patch fixes the issue of more than one defaut gateway showing up.
VPN gateway needs extra work to clean and set the gateway since it needs
a physical interface to set the host/gateway correctly.
Mohamed Abbas [Tue, 20 Apr 2010 22:05:46 +0000 (15:05 -0700)]
Fix issue with two default gateways when using VPN
This patch fixes the issue of more than one defaut gateway showing up.
This caused because VPN gatway was added but an active flag never
been set, which lead to two active gateway can be registered.
Forest Bond [Thu, 22 Apr 2010 19:56:12 +0000 (15:56 -0400)]
Split DHCP-provided nameserver string.
The DHCP-provided nameserver string is split up into separate nameservers.
Currently, only one nameserver can be stored in the connman_element.ipv4
structure, so all but the first of the DHCP-provided nameservers are thrown
out.
Johan Hedberg [Thu, 29 Apr 2010 22:23:45 +0000 (01:23 +0300)]
Fix parent path introspection data invalidation for multiple levels
In the case that parent path data needs to be invalidated we shouldn't
stop at the immediate parent if it doesn't have our own handler
registered but should continue upwards in the tree until we reach root
or our own handler.
Johan Hedberg [Thu, 29 Apr 2010 21:27:54 +0000 (00:27 +0300)]
Fix memory leak in g_dbus_register_interface
Daniel Wagner [Tue, 20 Apr 2010 14:30:17 +0000 (16:30 +0200)]
Fix typo: store password into service->password field
Marcel Holtmann [Sat, 17 Apr 2010 03:57:13 +0000 (20:57 -0700)]
Mention Daniel's contributions
Samuel Ortiz [Fri, 16 Apr 2010 09:52:09 +0000 (11:52 +0200)]
Remove supplicant and device scanning state cleaning
With wpa_supplicant 0.7, there is no need to handle potential issues with scan
results not being sent. Also, the state change is sent before the actual scan
results, so marking all networks available at that point is misleading.
Daniel Wagner [Wed, 14 Apr 2010 14:03:46 +0000 (16:03 +0200)]
ofono API refactoring: Rename netreg Operator property to Name
for ofono version >0.20
Martin Xu [Wed, 14 Apr 2010 05:02:32 +0000 (13:02 +0800)]
Remove the access of status property of DataConnectionManager from oFono
The status property has been removed from oFono post oFono 0.20
Marcel Holtmann [Tue, 13 Apr 2010 15:47:37 +0000 (08:47 -0700)]
Release 0.52
Samuel Ortiz [Tue, 13 Apr 2010 14:31:12 +0000 (16:31 +0200)]
Fix session code identation
Samuel Ortiz [Tue, 13 Apr 2010 14:30:26 +0000 (16:30 +0200)]
Fix session API documentation
We return an object path, not a simple string.
Martin Xu [Mon, 12 Apr 2010 06:35:06 +0000 (14:35 +0800)]
Remove erroneous DHCP method setting from bluetooth plugin
The ipconfig method is set by connman_network_set_index(), DHCP being the
default one.
Martin Xu [Tue, 13 Apr 2010 13:14:08 +0000 (15:14 +0200)]
Load ipconfig setting from __connman_service_create_ipconfig()
When creating a service without an ipconfig, the ipconfig settings are not
loaded. This issue is fixed by calling __connman_ipconfig_load() indirectly
from connman_network_set_index().
Martin Xu [Tue, 13 Apr 2010 11:28:52 +0000 (13:28 +0200)]
Reset ipconfig index
With PAN, the bnep device index might change and thus it needs to be set
appropriately whenever connman_network_set_index() gets called.
Martin Xu [Mon, 12 Apr 2010 06:35:03 +0000 (14:35 +0800)]
Add __connman_ipconfig_set_index() helper
Martin Xu [Fri, 9 Apr 2010 08:06:47 +0000 (16:06 +0800)]
Reference PAN network before disconnecting
The PAN network can be destructed before getting the disconnect reply. In
that case disconnect_reply() will segfault by calling
connman_network_set_connected() with a NULL network pointer.
This issue is fixed by referencing the PAN network from pan_disconnect().
Samuel Ortiz [Thu, 8 Apr 2010 22:19:07 +0000 (00:19 +0200)]
Reset connman_network device pointer when it is no longer referenced
When removing all networks from a device, network->device pointers are
set to NULL even though the network is still referenced. This can lead
to segmentation faults when for example a service has several networks
and is being disconnected.
Samuel Ortiz [Tue, 6 Apr 2010 21:39:57 +0000 (23:39 +0200)]
Do not set network index from PAN disconnect reply
There is no need to track the network's connected state through its index.
As a matter of fact, setting the network index to -1 on the PAN disconnect
path can triggers segmentation faults when powering the device off at the
same time.
Samuel Ortiz [Thu, 1 Apr 2010 10:25:33 +0000 (12:25 +0200)]
Add session D-Bus manager API
Samuel Ortiz [Thu, 1 Apr 2010 10:17:36 +0000 (12:17 +0200)]
Add session support
The session layer allows 3rd party applications to request a network
session from connman. The only thing applications need to specify is
the type of network they're looking for, a.k.a. the network bearer. An
unspecified bearer means picking the best available service.
Samuel Ortiz [Thu, 1 Apr 2010 10:15:54 +0000 (12:15 +0200)]
Connect service based on service type
__connman_service_connect_type() tries to find the appropriate service
based on the service_type argument, and connect it. If the argument is
CONNMAN_SERVICE_TYPE_UNKNOWN, the first available service is picked.
Gustavo Sverzut Barbieri [Fri, 2 Apr 2010 18:56:38 +0000 (20:56 +0200)]
ONLINE and LOGIN are also "connected" states.
Code was initially done with CONNMAN_SERVICE_STATE_READY being the
only valid connected state, but later on CONNMAN_SERVICE_STATE_LOGIN
and CONNMAN_SERVICE_STATE_ONLINE were introduced, breaking couple of
functions that assumed the old behavior.
This patch creates the is_connected() function, similar to
is_connecting() and uses it instead.
__connman_service_indicate_state() checks just for ONLINE, as
requested by Marcel.
Mohamed Abbas [Thu, 1 Apr 2010 21:13:18 +0000 (23:13 +0200)]
Add hh2serial GPS support
This patch brings the hh2serial GPS device on and off with offline mode
changes. Although this power control is currently done through sysfs
entries, this will be fixed once the hh2serial driver gets proper
rfkill support.
Samuel Ortiz [Fri, 26 Mar 2010 19:44:58 +0000 (20:44 +0100)]
Use psk for building hidden WPA SSID group
When building a hidden SSID group for a WPA/WPA2 network, use psk as the
security string. With rsn or wpa strings, 2 services for the same SSID will
show up once the SSID appears in any scan result.
Marcel Holtmann [Thu, 25 Mar 2010 23:37:09 +0000 (16:37 -0700)]
Release 0.51
Samuel Ortiz [Thu, 25 Mar 2010 15:02:23 +0000 (16:02 +0100)]
Reset location->result when disconnecting.
If result is not reset, the service state is no longer indicated after a
connect/disconnect cycle.
Martin Xu [Thu, 25 Mar 2010 03:36:50 +0000 (11:36 +0800)]
Set netmask and gateway as the mandatory parameters of test/set-address
Martin Xu [Thu, 25 Mar 2010 03:36:49 +0000 (11:36 +0800)]
Add static gateway support
Martin Xu [Thu, 25 Mar 2010 03:36:48 +0000 (11:36 +0800)]
Add gateway to connman_ipaddress
Marcel Holtmann [Thu, 25 Mar 2010 00:41:51 +0000 (17:41 -0700)]
Enable portal plugin for developers by default
Samuel Ortiz [Thu, 25 Mar 2010 00:19:23 +0000 (01:19 +0100)]
Indicate new service state according to the location results.
Mohamed Abbas [Wed, 24 Mar 2010 23:34:02 +0000 (00:34 +0100)]
Call location detection after setting DNS and routing tables
Mohamed Abbas [Wed, 24 Mar 2010 23:04:49 +0000 (00:04 +0100)]
Portal detection plugin
Add new plugin to support page redirection when using wifi or ethernet.
Most of this code is a copy from tools/portal-test.com intergrated to
work with location core.
Samuel Ortiz [Wed, 24 Mar 2010 12:04:54 +0000 (13:04 +0100)]
Enable/Disable device when toggling the powered state
When devices are brought up and down externally (e.g. with ifconfig),
connman_device_set_powered() needs to enable or disable them. If it doesnt,
the device associated networks are kept alive and we're still showing them
while the device is actually down.
Kalle Valo [Fri, 19 Mar 2010 13:13:05 +0000 (15:13 +0200)]
Get simple-agent passphrase from command line
Martin Xu [Tue, 23 Mar 2010 09:27:46 +0000 (17:27 +0800)]
Use udev_device_get_devtype before __connman_inet_get_device_type
With some specific 3G cards __connman_inet_get_device_type() fails to
give the correct device type and we end up having both ethernet and 3G
services when pluging those in.
As udev_device_get_devtype() is more reliable, we're now calling it first
and falling back to __connman_inet_get_device_type() when
udev_device_get_devtype() returns a NULL string.
Martin Xu [Tue, 23 Mar 2010 03:43:50 +0000 (11:43 +0800)]
Set network->device as NULL when the device is removed
oFono plugin can use network->device to decide whether the modem is
removed during active PrimaryContext.
That fixes a segmentation fault when removing a 3G modem before getting
the set_network_active() D-Bus reply.
Samuel Ortiz [Mon, 22 Mar 2010 12:10:13 +0000 (13:10 +0100)]
Check for task->path when removing an interface or a network
We need to be more careful about task->path since it could disappear on
us if we want to go offline before we get the add_interface D-Bus reply.
Samuel Ortiz [Mon, 22 Mar 2010 12:06:05 +0000 (13:06 +0100)]
Ignore wext wireless rtnetlink events
The kernel wext core sends wireless events through the rtnetlink channel.
They show up with the ifi_change field set to 0.
The problem with those messages is that their ifi_flags might be
unsynchronized due to the fact that the actual message sending is handled
by a workqueue that doesnt build the message. ifi_flags is set to
dev_flags, but by the time the message is sent dev_flags might have changed.
Connman should just ignore those messages as we don't care about wext
events at all.
Martin Xu [Fri, 19 Mar 2010 06:44:22 +0000 (14:44 +0800)]
Handle the case that MobileNetworkCodeLength is not provided
Don't provide MNC and MCC in this case, but still create the 3G service.
Martin Xu [Fri, 19 Mar 2010 06:44:21 +0000 (14:44 +0800)]
Correct the modem properties key name
Samuel Ortiz [Wed, 17 Mar 2010 19:03:15 +0000 (20:03 +0100)]
Fix convert_wifi_security for psk string
CONNMAN_SERVICE_SECURITY_PSK should map to "psk", not "wep".
Martin Xu [Tue, 9 Mar 2010 05:46:39 +0000 (13:46 +0800)]
Export MCC and MNC for cellular services
Marcel Holtmann [Sun, 7 Mar 2010 23:04:13 +0000 (15:04 -0800)]
Remove internal GAtChat library
Marcel Holtmann [Sun, 7 Mar 2010 23:01:29 +0000 (15:01 -0800)]
Remove unneeded plugin for Ericsson MBM support
Marcel Holtmann [Sun, 7 Mar 2010 22:54:29 +0000 (14:54 -0800)]
Remove unneeded plugin for Option HSO support
Marcel Holtmann [Sun, 7 Mar 2010 22:46:59 +0000 (14:46 -0800)]
Rename Moblin plugin to MeeGo features plugin
Marcel Holtmann [Sun, 7 Mar 2010 22:32:48 +0000 (14:32 -0800)]
Make interface callback tables const
Vinicius Costa Gomes [Mon, 1 Feb 2010 19:16:22 +0000 (16:16 -0300)]
Fix the case when the requested name is already in use
We weren't setting the dbus error in this situation.
Marcel Holtmann [Wed, 3 Mar 2010 15:22:24 +0000 (07:22 -0800)]
Release 0.50
Marcel Holtmann [Wed, 3 Mar 2010 14:44:01 +0000 (06:44 -0800)]
Add config-format.txt to distribution
Samuel Ortiz [Fri, 26 Feb 2010 12:17:29 +0000 (13:17 +0100)]
Document configuration file format
Let's avoid having users digging the code to actually understand that
format.
Martin Xu [Thu, 25 Feb 2010 09:34:35 +0000 (17:34 +0800)]
Remove DHCP method setting from ethernet plugin
The method has been set when creating service.
And setting DHCP method after creating wired service causes the recorded
method gotten from entry file be replaced by DHCP method, consequently,
the static IP of wired service can not be remembered.
Martin Xu [Thu, 25 Feb 2010 06:06:07 +0000 (14:06 +0800)]
Check ipconfig in __connman_ipconfig_clear_address
3G service does not have ipconfig if the Primariy Context is not activated.
So we need to check the ipconfig here.
Lucas De Marchi [Thu, 18 Feb 2010 11:16:59 +0000 (09:16 -0200)]
Add script to set IP configuration method
This script is used to set IPv4.Configuration property of a service,
allowing to change among dhcp and manual methods.
Lucas De Marchi [Thu, 18 Feb 2010 10:58:53 +0000 (08:58 -0200)]
Fix configuration loading for unknown service
In case a service is unknown, the expected behavior is that it uses
dhcp. Currently, method will be left blank and thus connman will not be
able to connect to that service unless method is explicitly set through
IPv4.Configuration property.
Vinicius Costa Gomes [Fri, 12 Feb 2010 20:35:08 +0000 (17:35 -0300)]
Fix: a pending call was leaking in check_service
This was triggering an assert inside libdbus when the timeout inside
the leaking pending call expired. The assert said that we were trying
to remove an nonexistent timeout.
Samuel Ortiz [Tue, 16 Feb 2010 10:52:11 +0000 (11:52 +0100)]
Update all test scripts using devices properties directly
We need to go through the technology list first in order to access the
devices properties.
Gustavo Sverzut Barbieri [Mon, 15 Feb 2010 16:20:30 +0000 (14:20 -0200)]
Update test/list-networks to new properties hierarchy
The "Devices" property is gone, now need to walk "Technologies"
and then their devices.
Marcel Holtmann [Thu, 11 Feb 2010 05:04:21 +0000 (06:04 +0100)]
Release 0.49
Samuel Ortiz [Wed, 10 Feb 2010 19:44:37 +0000 (20:44 +0100)]
Set device powered when bluetooth adapters are powered
When a bluetooth adapters are added, we go through adapter_properties_reply(),
but we dont call connman_device_set_powered() or check_networks() because the
powered variable is false.
We should get the adapter properties upon getting the powered D-Bus reply
message and that will end up calling the right functions.
Samuel Ortiz [Wed, 10 Feb 2010 19:44:36 +0000 (20:44 +0100)]
Bring bluetooth interfaces up at startup
With the current code we're powering up the bluetooth devices through
change_powered, which gets indirectly called from connman_device_register()
through adapter_properties_reply(). Since we're calling
connman_device_register() withouth setting the device path, change_powered
actually does nothing. We have to set the device path before calling
connman_device_register() and then the bluetooth devices will actually be
powered up.
Mohamed Abbas [Thu, 4 Feb 2010 00:16:40 +0000 (16:16 -0800)]
Fix VPN issue when setting up host route
Martin Xu [Tue, 9 Feb 2010 09:29:55 +0000 (10:29 +0100)]
Load and save ipconfig settings
Martin Xu [Tue, 9 Feb 2010 09:29:54 +0000 (10:29 +0100)]
Static IP can be set regardles of the service state
Martin Xu [Tue, 9 Feb 2010 09:29:53 +0000 (10:29 +0100)]
Add static IP support
The IP adress setting is now based on the selected ipconfig method. It is
set after a service reconnection though.
Martin Xu [Tue, 9 Feb 2010 09:29:52 +0000 (10:29 +0100)]
Remove wrong unref of sevice->pending
When setting static ip for ethernet service, unreferencing service->pending
here will cause a segmentation fault.
The reason is that it is done in __connman_service_indicate_state() when
connection succeeds, and service->pending is NULL.
Martin Xu [Tue, 9 Feb 2010 09:29:51 +0000 (10:29 +0100)]
Check for ipaddress local and broadcast pointers
If local is NULL we return an error. If broadcast is NULL, we use the local
address prefix to build a broadcast one.
Martin Xu [Tue, 9 Feb 2010 09:29:50 +0000 (10:29 +0100)]
Add get and create ipconfig from service
In some cases (for example the oFono plugin), we will not get the network
index before creating the service. We then need a routine that allows us to
setup the ipconfig layer once we get the index.
Martin Xu [Tue, 9 Feb 2010 09:29:49 +0000 (10:29 +0100)]
Add some ipconfig helpers
__connman_ipconfig_get_method(): Returns the selected ipconfig method.
__connman_ipconfig_set_address(): Sets the device's IP address according
to the selected method. Only the manual method is supported.
__connman_ipconfig_clear_address(): Clears the device's IP address. Again,
only the manual method is supported for now.
Samuel Ortiz [Fri, 5 Feb 2010 20:07:15 +0000 (21:07 +0100)]
Fix start-scanning script
Devices are no longer part of the manager properties, go through
the technology list instead.
Samuel Ortiz [Fri, 5 Feb 2010 19:14:59 +0000 (20:14 +0100)]
Toggle WiFi device powered field
When receiving an RTNL message for a WiFI NEWLINK, the powered device
field should be toggled accordingly.
Samuel Ortiz [Thu, 4 Feb 2010 18:15:22 +0000 (19:15 +0100)]
Implement move_after() D-Bus service method
Basically the same as move_before(), except for the last g_sequence_move().
Samuel Ortiz [Tue, 2 Feb 2010 15:27:50 +0000 (16:27 +0100)]
Rename mac80211 routines and fields to cfg80211
The mac80211 boolean and inet routines names are a bit misleading since
what we really want to check is if the underlying wifi driver is cfg80211
compliant. The mac80211 drivers form a subset of that, as some full MAC
cards also are fully cfg80211 compliant.
Marcel Holtmann [Mon, 1 Feb 2010 01:34:06 +0000 (17:34 -0800)]
Fix service property monitoring handling
Marcel Holtmann [Mon, 1 Feb 2010 01:29:50 +0000 (17:29 -0800)]
Extract IPv4 and Ethernet values from service monitor script
Marcel Holtmann [Fri, 29 Jan 2010 22:11:26 +0000 (14:11 -0800)]
Add basic support for a location detection framework
Marcel Holtmann [Fri, 29 Jan 2010 16:36:45 +0000 (17:36 +0100)]
Add special state for portal login step
Martin Xu [Thu, 28 Jan 2010 14:38:46 +0000 (22:38 +0800)]
Add network->driver->setup() callback function
After string value has been set in function connman_network_set_string()
call network->driver->setup() to let network driver handle the value.
ofono network driver setup call back function handles "Cellular.APN" to
set up APN.
Marcel Holtmann [Thu, 28 Jan 2010 21:24:04 +0000 (22:24 +0100)]
Use 3 read attempts when in non-blocking mode
Marcel Holtmann [Thu, 28 Jan 2010 21:05:44 +0000 (22:05 +0100)]
Add new constructor for fully blocking operation
Denis Kenzior [Thu, 28 Jan 2010 20:31:22 +0000 (14:31 -0600)]
Fix: Take care of uninitialized variable condition
In some (impossible) circumstances rbytes and err might be used
uninitialized. Here we make a check that a read was actually attempted
before checking those variables.
Marcel Holtmann [Thu, 28 Jan 2010 11:41:31 +0000 (12:41 +0100)]
Limit the number of continues read attempts