Lucas De Marchi [Thu, 28 Jun 2012 14:20:53 +0000 (11:20 -0300)]
ofono: Watch for signals only on OFONO_SERVICE
Lucas De Marchi [Thu, 28 Jun 2012 14:20:52 +0000 (11:20 -0300)]
dundee: Watch for signals only on DUNDEE_SERVICE
Lucas De Marchi [Thu, 28 Jun 2012 14:20:51 +0000 (11:20 -0300)]
bluetooth: Watch for signals only on BLUEZ_SERVICE
Lucas De Marchi [Mon, 25 Jun 2012 15:44:40 +0000 (12:44 -0300)]
gdbus: Fix removal of filter after last filter_data
If there's a signal watch that's also watching for name
(data->name_watch) currently we are trying to remove the message_filter
twice since we may have the following call chain:
filter_data_remove_callback()
filter_data_free()
g_dbus_remove_watch()
filter_data_remove_callback()
filter_data_free()
dbus_connection_remove_filter()
dbus_connection_remove_filter()
Because of this we can't currently watch for signals passing the bus
name. After this patch we don't have this issue anymore.
We fix it by removing the filter before calling filter_data_free() if we
are the last filter_data and thus avoid calling
dbus_connection_remove_filter() twice.
Guillaume Zajac [Wed, 27 Jun 2012 15:00:29 +0000 (17:00 +0200)]
ofono: Fix potential crash
If a dummy context is created, it might happen
that its index is equal to -1. In this particular case
the IP address has not been copied to context->address
during ipv4 extraction.
If we force from oFono a context activation, it will
make ConnMan crashing on set_connected().
Patrik Flykt [Thu, 28 Jun 2012 08:24:53 +0000 (11:24 +0300)]
inet: Fix usage of getaddrinfo() return value
Fixes BMC#25304
Patrik Flykt [Thu, 28 Jun 2012 07:11:03 +0000 (10:11 +0300)]
wifi: Add wifi pointer NULL checks
Always check what connman_device_get_data() returns and act
accordingly.
Grant Erickson [Thu, 28 Jun 2012 00:21:18 +0000 (17:21 -0700)]
main: static-qualify default config values
The default configuration arrays default_auto_connect and
default_blacklist must be static-qualified. Otherwise, their
stack-allocated storage will go out of scope after parse_config
is finished and empty or commented-out DefaultAutoConnectTechnologies
or NetworkInterfaceBlacklist config entries will refer to
random stack data.
Patrik Flykt [Wed, 27 Jun 2012 12:25:15 +0000 (15:25 +0300)]
TODO: Add WPS pin code task
Patrik Flykt [Wed, 27 Jun 2012 12:24:26 +0000 (15:24 +0300)]
TODO: Remove DUN task, update WiFi scan owner
Marcel Holtmann [Tue, 26 Jun 2012 21:56:09 +0000 (14:56 -0700)]
Release 1.2
Jukka Rissanen [Tue, 26 Jun 2012 08:29:05 +0000 (11:29 +0300)]
gweb: Use g_try_realloc instead of g_realloc
Tomasz Bursztyka [Mon, 25 Jun 2012 10:16:37 +0000 (13:16 +0300)]
doc: Document 'informational' value of Requirement field
Tomasz Bursztyka [Mon, 25 Jun 2012 10:16:36 +0000 (13:16 +0300)]
agent: Fix how to provide PreviousPassphrase through D-Bus
Julien Massot [Fri, 15 Jun 2012 13:15:31 +0000 (13:15 +0000)]
ipconfig: Save prefixlen only if not cleared
This commit fixes a bug when using manual ipv4 addressing.
The first time it works, but once the service is reconnected it uses
an invalid netmask: 255.255.255.255.
Jukka Rissanen [Thu, 21 Jun 2012 10:57:33 +0000 (13:57 +0300)]
wifi: Check we have valid wifi pointer in autoscan
The wifi pointer in device might be NULL if wpa_supplicant dies
between autoscans.
Jukka Rissanen [Thu, 21 Jun 2012 10:39:17 +0000 (13:39 +0300)]
technology: Return proper error code when already disabled
Return AlreadyDisabled to the caller instead of InProgress if we
are already disabled.
Jukka Rissanen [Thu, 21 Jun 2012 10:39:16 +0000 (13:39 +0300)]
technology: Return proper error code when already enabled
We do not call the generic error message function because
it maps EALREADY to EINPROGRESS. So instead we call correct
error return function which returns AlreadyEnabled to the
caller.
Fixes BMC#25306
Patrik Flykt [Mon, 25 Jun 2012 06:24:15 +0000 (09:24 +0300)]
main.conf: Comment out example default values and add documentation
Patrik Flykt [Mon, 25 Jun 2012 06:23:03 +0000 (09:23 +0300)]
main: Use 'NetworkInterfaceBlacklist' string everywhere
Manfred Kober [Thu, 21 Jun 2012 07:40:33 +0000 (09:40 +0200)]
rtnl: Use filtered devices to determine blacklisted devices
Instead of hard-coding some selected devices to be ignored, the
blacklist check now uses the connman_device_isfiltered list.
Manfred Kober [Thu, 21 Jun 2012 07:40:32 +0000 (09:40 +0200)]
device: Consider blacklisted interfaces from main.conf when filtering
Interfaces blacklisted in main.conf are now also taken into account
by connman_device_isfiltered. This is done in addition to what gets
passed with -i or -I on the command line.
Manfred Kober [Thu, 21 Jun 2012 07:40:31 +0000 (09:40 +0200)]
main: Support NetworkInterfaceBlacklist from main.conf
This adds a settings variable and a function for fetching that list
Manfred Kober [Thu, 21 Jun 2012 07:40:30 +0000 (09:40 +0200)]
main.conf: Add NetworkInterfaceBlacklist
Jukka Rissanen [Wed, 20 Jun 2012 10:38:40 +0000 (13:38 +0300)]
dnsproxy: Check cache for TCP request before connecting to server
It is not necessary to create TCP sockets to server if we have
the answer already in the cache.
Jukka Rissanen [Wed, 20 Jun 2012 10:38:39 +0000 (13:38 +0300)]
dnsproxy: Use DNS header in checks
We should use the DNS header struct when checking DNS
protocol values instead of using pointer so that the
TCP offset is properly taken care of.
Jukka Rissanen [Wed, 20 Jun 2012 10:38:38 +0000 (13:38 +0300)]
dnsproxy: Add more debugging prints
Jukka Rissanen [Wed, 20 Jun 2012 10:38:37 +0000 (13:38 +0300)]
dnsproxy: Check cache properly for TCP packets
The DNS packet starts from offset 2 in TCP payload.
Jukka Rissanen [Wed, 20 Jun 2012 10:38:36 +0000 (13:38 +0300)]
dnsproxy: Fix the negative caching of AAAA record
Handle the TCP offset properly.
Jukka Rissanen [Wed, 20 Jun 2012 10:38:35 +0000 (13:38 +0300)]
dnsproxy: Save DNS packet in cache always in TCP format
The cached DNS packet will always contain two prefix bytes.
For UDP we do not send these two extra bytes. This way we do
not need to know if the cached message is from UDP or TCP query.
Jukka Rissanen [Wed, 20 Jun 2012 10:38:34 +0000 (13:38 +0300)]
dnsproxy: Do not generate SIGPIPE
Instead of generating SIGPIPE, just return EPIPE error
if TCP stream is broken. This way we cannot get aborted
if we receive SIGPIPE (seen this happening).
Guillaume Zajac [Tue, 19 Jun 2012 13:21:24 +0000 (15:21 +0200)]
ippool: Fix endless loop issue with 32 prefix length
While trying to establish a DUN connection with oFono,
an endless loop was found when requesting an IP block.
The problem was on data connection activation its address
with 32 length prefix was notified through ConnMann using
__connman_ippool_newaddr() but mask address shifting with
32 bits was obsolete. So IP pool was considerating block
0.0.0.0 to 255.255.255.255 was in use.
Paulo Pizarro [Mon, 18 Jun 2012 02:22:40 +0000 (23:22 -0300)]
dnsproxy: Fix flushing pending requests
Paulo Pizarro [Mon, 18 Jun 2012 02:22:39 +0000 (23:22 -0300)]
dnsproxy: Release all the fields of the request after forward dns reply
Paulo Pizarro [Mon, 18 Jun 2012 02:22:38 +0000 (23:22 -0300)]
dnsproxy: Avoid duplication of domains in the TCP server domain list
The domain list is created in the tcp_server_event function
at connection time (G_IO_OUT event), so it is not necessary
to create it here too.
Paulo Pizarro [Mon, 18 Jun 2012 02:22:37 +0000 (23:22 -0300)]
dnsproxy: If no request was sent then the TCP server is destroyed
Paulo Pizarro [Mon, 18 Jun 2012 02:22:36 +0000 (23:22 -0300)]
dnsproxy: If the answer is in the cache, the TCP request is released
Paulo Pizarro [Mon, 18 Jun 2012 02:22:35 +0000 (23:22 -0300)]
dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
This copy will be made after scanning the list of nameservers and
only if at least one TCP server is created.
Otherwise, it will be sent an error response to the request.
Lucas De Marchi [Thu, 14 Jun 2012 14:24:53 +0000 (11:24 -0300)]
README: Add information about mailing list and site
Patrik Flykt [Fri, 15 Jun 2012 11:13:53 +0000 (14:13 +0300)]
wifi: Use common scan callback handling
Patrik Flykt [Fri, 15 Jun 2012 11:13:52 +0000 (14:13 +0300)]
wifi: Do a hidden WiFi network scan also for user scans
Rename the callback function since it's not used only for
autoscan.
Patrik Flykt [Fri, 15 Jun 2012 11:13:51 +0000 (14:13 +0300)]
wifi: Use scan_callback() instead of hidden_scan_callback()
The functionality of the callbacks are the same, thus start using
scan_callback() only. As a result move code around.
Patrik Flykt [Fri, 15 Jun 2012 11:13:50 +0000 (14:13 +0300)]
device: Don't unnecessarily set device->scanning to false
The WiFi plugin will call connman_device_set_scanning() immediately
after connman_device_reset_scanning().
Patrik Flykt [Fri, 15 Jun 2012 11:13:49 +0000 (14:13 +0300)]
supplicant: Call scan callback if needed when removing interface
Check whether a scan callback is set for the interface when
an interface removed signal is received from wpa_supplicant.
wpa_supplicant seems not to reply to any outstanding scan method
calls after a wpa_supplicant 'RemoveInterface' has been received.
Patrik Flykt [Fri, 15 Jun 2012 11:13:48 +0000 (14:13 +0300)]
wifi: Reset autoscan timer on a new scan
Setting device scanning to false will clean up all networks not
seen so far. If a user scan happens to be requested while the
emulated background scan is running, the background scan will
be cancelled and the non-discovered networks cleared. This causes
unnecessary clearing and re-discovery of WiFi networks when the
user scan is completed.
Create a reset autoscan function that will only reset the autoscan
parameters and not set device scanning to false. Call this function
when starting a scan.
Patrik Flykt [Fri, 15 Jun 2012 11:13:47 +0000 (14:13 +0300)]
technology: Disable technology when the last device is unpowered
Reply via D-Bus to the caller and send the technology 'Powered'
property set to FALSE only after the last device has been powered
off. Update code but not behavior in __connman_technology_enabled()
so that the logic looks the same as in
__connman_technology_disabled().
Patrik Flykt [Fri, 15 Jun 2012 11:13:46 +0000 (14:13 +0300)]
device: Combine multiple if statements into one block of code
Patrik Flykt [Fri, 15 Jun 2012 11:13:45 +0000 (14:13 +0300)]
device: Combine two if statements with identical outcome
Patrik Flykt [Fri, 15 Jun 2012 11:13:44 +0000 (14:13 +0300)]
technology: Remove unneeded scan stop when removing device
Scanning has already been stopped when a device is to be removed
from the technology struct. Let __connman_technology_remove_device()
just remove the device and nothing else.
Patrik Flykt [Fri, 15 Jun 2012 11:13:43 +0000 (14:13 +0300)]
wifi: Don't print an error when the wifi interface has been removed
If the wifi data structure is NULL, it was already removed due to
a call to wifi_remove() and is thus not an error condition.
Patrik Flykt [Fri, 15 Jun 2012 11:13:42 +0000 (14:13 +0300)]
wifi: Stop scanning when disabling wifi
Move wifi scan stopping from wifi remove to wifi disable since
only wifi disable is called when the wifi technology is disabled.
Removing a wifi device will first disable it and then continue
with the removal procedure.
Jukka Rissanen [Fri, 15 Jun 2012 13:00:21 +0000 (16:00 +0300)]
service: Connecting hidden network waits until connected
If the user is connecting to hidden network, then we delay the
return of the reply to caller until the real service has connected.
This way the user connect to hidden and non-hidden networks works
the same way from caller point of view.
Jukka Rissanen [Fri, 15 Jun 2012 13:00:20 +0000 (16:00 +0300)]
service: Add support functions for pending replies
Jukka Rissanen [Fri, 15 Jun 2012 13:00:19 +0000 (16:00 +0300)]
service: Split reply_pending function to two parts
Split reply_pending() into two parts so that a D-Bus reply can be
sent to the client waiting for a reply.
Jukka Rissanen [Fri, 15 Jun 2012 12:34:07 +0000 (15:34 +0300)]
timeserver: Get rid of useless and annoying error message
Tomasz Bursztyka [Mon, 28 May 2012 11:20:23 +0000 (14:20 +0300)]
service: Take last error into acount when retrying to connect
Tomasz Bursztyka [Mon, 28 May 2012 11:20:22 +0000 (14:20 +0300)]
agent: Implement the new type and argument for RequestInput method call
This implements the usage of PreviousPassphrase argument as an informational
field type.
Tomasz Bursztyka [Mon, 28 May 2012 11:20:21 +0000 (14:20 +0300)]
service: Add a getter for the passphrase
Tomasz Bursztyka [Mon, 28 May 2012 11:20:20 +0000 (14:20 +0300)]
doc: Add a new type and argument to agent RequestInput method call
Patrik Flykt [Mon, 4 Jun 2012 10:45:06 +0000 (13:45 +0300)]
timeserver: Simplify timeserver IP address checking
Patrik Flykt [Mon, 4 Jun 2012 10:45:05 +0000 (13:45 +0300)]
main: Simplify fallback nameserver parsing
Patrik Flykt [Mon, 4 Jun 2012 10:45:04 +0000 (13:45 +0300)]
service: Simplify nameserver route adding and removing
Patrik Flykt [Mon, 4 Jun 2012 10:45:03 +0000 (13:45 +0300)]
service: Check that the supplied nameserver is in numeric format
Check that the supplied nameserver is in numeric format when set
with 'Nameservers.Configuration' service property.
Patrik Flykt [Mon, 4 Jun 2012 10:45:02 +0000 (13:45 +0300)]
inet: Create helper function for IP address checking
Create a helper function that checks if a given hostname is an IPv4
or IPv6 address. If it is, AF_INET or AF_INET6 is returned. On
error the negative error value from getaddrinfo is returned.
Tomasz Bursztyka [Fri, 8 Jun 2012 10:58:49 +0000 (13:58 +0300)]
gsupplicant: Properly handle WPS properties update
Tomasz Bursztyka [Fri, 8 Jun 2012 10:58:48 +0000 (13:58 +0300)]
gsupplicant: Properly handle WiFi security change
Handle RSN and WPA security separately and combine the results.
Jukka Rissanen [Wed, 6 Jun 2012 11:37:32 +0000 (14:37 +0300)]
ipconfig: Set IPv6 privacy default value from kernel default
Use value set in the kernel as the initial IPv6 privacy
setting. This also allows distros to set the privacy value
without needing to tweak connman.
Jukka Rissanen [Mon, 4 Jun 2012 10:54:28 +0000 (13:54 +0300)]
dnsproxy: Do not print too many info messages
Convert connman_info() into DBG() in order to avoid excessive logging
when debug prints are disabled.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:19 +0000 (11:24 +0300)]
doc: Describe what happens when config file is removed
Jukka Rissanen [Tue, 5 Jun 2012 08:24:18 +0000 (11:24 +0300)]
config: Check if we need to rescan the config file for any changes
Jukka Rissanen [Tue, 5 Jun 2012 08:24:17 +0000 (11:24 +0300)]
config: No service removal on cleanup
We must not remove the services when connman is stopped.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:16 +0000 (11:24 +0300)]
config: Check individual service entries for removal
Check if we need to remove a service if user removes
an entry from config file.
If user changes entry name in config file, then we
remove the service and then try to provision the service
again because the SSID might still be found.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:15 +0000 (11:24 +0300)]
config: Use config file name and entry when deciding removal
We need to know the config file and entry name in next patch
in order to know if the service entry was removed from config
file.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:14 +0000 (11:24 +0300)]
config: Save service after provisioning it
Jukka Rissanen [Tue, 5 Jun 2012 08:24:13 +0000 (11:24 +0300)]
service: Support function that saves service
Jukka Rissanen [Tue, 5 Jun 2012 08:24:12 +0000 (11:24 +0300)]
service: Sort service sequence after checking provisioned services
Jukka Rissanen [Tue, 5 Jun 2012 08:24:11 +0000 (11:24 +0300)]
service: Mark service as dirty and needing sorting
Jukka Rissanen [Tue, 5 Jun 2012 08:24:10 +0000 (11:24 +0300)]
service: Add function to set the favorite flag
Add a function that sets favorite flag but which does
not touch the ordering of service sequence. This is needed
when we check provisioned config file which traverses the
service sequence. If a proper provisioned service is found,
then it is marked as favorite but in this case we must not
do any ordering of service sequence because we are in the
middle of sequence traversal.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:09 +0000 (11:24 +0300)]
service: Remove unprovisioned services when starting connman
Jukka Rissanen [Tue, 5 Jun 2012 08:24:08 +0000 (11:24 +0300)]
service: Save provisioned config information
Jukka Rissanen [Tue, 5 Jun 2012 08:24:07 +0000 (11:24 +0300)]
config: Set config information in service
This is needed so that service can know if the
config file is removed when connmand is not running.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:06 +0000 (11:24 +0300)]
config: Remove service if config file is removed
If the user removes the config file, we disconnect and then
try to remove the corresponding service directory and all
known files (settings and data).
Jukka Rissanen [Tue, 5 Jun 2012 08:24:05 +0000 (11:24 +0300)]
service: Add function to remove a service
Jukka Rissanen [Tue, 5 Jun 2012 08:24:04 +0000 (11:24 +0300)]
service: Add setter for config information
Save config information (file name and section id) for
provisioned services. The information is used to remove the
service when config file is removed.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:03 +0000 (11:24 +0300)]
storage: Add function to remove a service directory
All known files from service directory are removed and
if successfull then the service directory is also removed.
Jukka Rissanen [Tue, 5 Jun 2012 08:24:02 +0000 (11:24 +0300)]
service: Add function to return service by identifier
Jukka Rissanen [Fri, 1 Jun 2012 12:02:08 +0000 (15:02 +0300)]
dnsproxy: Randomize the transaction id
Jukka Rissanen [Fri, 1 Jun 2012 12:02:07 +0000 (15:02 +0300)]
dnsproxy: Use memmove() when discarding domain name
The memory areas can overlap so memmove() must be used.
Jukka Rissanen [Fri, 1 Jun 2012 12:02:06 +0000 (15:02 +0300)]
dnsproxy: Check overlapping memcpy
The problem was seen with valgrind. We tried to get hostname
without domain part and if server returns an error, we could
end up in situation where domain_len == 0 even if append_domain
is set to TRUE. So check that if domain_len is 0, then do not
try to memcpy.
Grant Erickson [Thu, 7 Jun 2012 04:49:08 +0000 (21:49 -0700)]
service: remove extra semicolon
Daniel Wagner [Tue, 5 Jun 2012 16:27:35 +0000 (18:27 +0200)]
dundee: Fix wrong casting
Marcel Holtmann [Mon, 4 Jun 2012 21:16:07 +0000 (06:16 +0900)]
doc: Mention long D-Bus timeout for scan method
Daniel Wagner [Fri, 1 Jun 2012 14:11:30 +0000 (16:11 +0200)]
bluetooth: Check ownership of device
We have two drivers for the CONNMAN_DEVICE_TYPE_BLUETOOTH and therefore
check owner ship in probe function.
Daniel Wagner [Fri, 1 Jun 2012 14:11:29 +0000 (16:11 +0200)]
dundee: Check ownership of device
We have two drivers for the CONNMAN_DEVICE_TYPE_BLUETOOTH and therefore
check owner ship in probe function.
Daniel Wagner [Fri, 1 Jun 2012 14:11:28 +0000 (16:11 +0200)]
dundee: Set device active/inactive
Daniel Wagner [Fri, 1 Jun 2012 14:11:27 +0000 (16:11 +0200)]
dundee: Update network connected status
Daniel Wagner [Fri, 1 Jun 2012 14:11:26 +0000 (16:11 +0200)]
dundee: Register connman_network at core
Daniel Wagner [Fri, 1 Jun 2012 14:11:25 +0000 (16:11 +0200)]
dundee: Monitor Device.PropertyChanged signal
Daniel Wagner [Fri, 1 Jun 2012 14:11:24 +0000 (16:11 +0200)]
dundee: Create connman device
Daniel Wagner [Fri, 1 Jun 2012 14:11:23 +0000 (16:11 +0200)]
dundee: Parse device properties in add_device