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
Daniel Wagner [Fri, 1 Jun 2012 14:11:22 +0000 (16:11 +0200)]
dundee: Get modems when starting
In case ConnMan starts after Dundee we have to ask for the devices.
Daniel Wagner [Fri, 1 Jun 2012 14:11:21 +0000 (16:11 +0200)]
dundee: Monitor DeviceAdded/DeviceRemoved signal
Daniel Wagner [Fri, 1 Jun 2012 14:11:20 +0000 (16:11 +0200)]
dundee: Watch service on D-Bus
Daniel Wagner [Fri, 1 Jun 2012 14:11:19 +0000 (16:11 +0200)]
dundee: Add emply plugin
Daniel Wagner [Fri, 1 Jun 2012 14:11:18 +0000 (16:11 +0200)]
README: Add --disable-dundee documentation
Daniel Wagner [Fri, 1 Jun 2012 14:11:17 +0000 (16:11 +0200)]
README: Fix whitespace and typo issues
Patrik Flykt [Fri, 1 Jun 2012 07:43:00 +0000 (10:43 +0300)]
TODO: Add migration removal task
Patrik Flykt [Thu, 31 May 2012 12:16:05 +0000 (15:16 +0300)]
AUTHORS: Mention Mikel's and Paulo's contributions
Marcel Holtmann [Thu, 31 May 2012 10:39:30 +0000 (12:39 +0200)]
Release 1.1
Paulo Pizarro [Wed, 30 May 2012 20:24:24 +0000 (17:24 -0300)]
dnsproxy: If the answer is in the cache, the UDP request is released
Lucas De Marchi [Tue, 29 May 2012 11:57:06 +0000 (08:57 -0300)]
gdbus: Add macro for methods marked as NOREPLY
Bring gdbus up to sync with other projects. The macro is
not yet used in ConnMan.
Grant Erickson [Fri, 25 May 2012 21:15:15 +0000 (14:15 -0700)]
ntp: Log the time slew delta
Marcel Holtmann [Wed, 23 May 2012 05:06:57 +0000 (07:06 +0200)]
main.conf: Add InputRequestTimeout and BrowserLaunchTimeout
Patrik Flykt [Tue, 29 May 2012 13:19:29 +0000 (16:19 +0300)]
agent: Use input request and browser launch timeouts
Patrik Flykt [Tue, 29 May 2012 13:19:28 +0000 (16:19 +0300)]
main: Add InputRequestTimeout and BrowserLaunchTimeout variables
Add InputRequestTimeout and BrowserLaunchTimeout main.conf variable
handling and functions for fetching their values.
Patrik Flykt [Thu, 24 May 2012 13:25:03 +0000 (16:25 +0300)]
service: Clean up append_nameservers() helper function
Patrik Flykt [Thu, 24 May 2012 13:25:02 +0000 (16:25 +0300)]
service: Proper ordering of nameservers and search domains
The primary nameserver or search domain is the first element
in the array. When adding a nameserver or search domain to
the resolver, start from the end of the array since the resolver
functions expect the most important entry to be the last one
appended.
Patrik Flykt [Thu, 24 May 2012 13:25:01 +0000 (16:25 +0300)]
resolver: Clean up remove function
A search domain will have it's server attribute set to NULL, thus
remove that explicit check. Also when comparing entry elements to
the given attributes, consider NULL being equal to NULL.
Patrik Flykt [Thu, 24 May 2012 13:25:00 +0000 (16:25 +0300)]
service: Properly handle nameservers and search domains
Remove system added namservers in 'Nameservers' when setting
nameservers from a non-empty 'Nameservers.Config'. Also remove
system added domain name from search domains if 'Domains.Config'
is set.
Patrik Flykt [Thu, 24 May 2012 13:24:59 +0000 (16:24 +0300)]
service: Remove previous nameservers and search domains
Remove previous 'Nameservers.Configuration' nameservers and
'Domains.Configuration' search domains when new ones are set.
Patrik Flykt [Thu, 24 May 2012 13:24:58 +0000 (16:24 +0300)]
service: Add helpers for removing nameservers and search domains
Patrik Flykt [Thu, 24 May 2012 13:24:57 +0000 (16:24 +0300)]
resolver: Simplify code to return if a resolver entry exists
Lucas De Marchi [Wed, 23 May 2012 18:00:10 +0000 (15:00 -0300)]
dnsproxy: Fix wrong domain len causing crash in memmove
If host_len is 0, strlen(*ptr) will return 0 as well and domain_len will
have the wrong value (-1). This causes connman to crash with the
following backtrace:
connmand[13361]: ++++++++ backtrace ++++++++
connmand[13361]: #0 0x7f33a5e49140 in /lib/libpthread.so.0
connmand[13361]: #1 0x7f33a509ed80 in /lib/libc.so.6
connmand[13361]: #2 0x4671a8 in forward_dns_reply() at src/dnsproxy.c:1568
connmand[13361]: #3 0x46725a in udp_server_event() at src/dnsproxy.c:1706
connmand[13361]: #4 0x7f33a62e14a5 in /usr/lib/libglib-2.0.so.0
connmand[13361]: #5 0x7f33a62e17d8 in /usr/lib/libglib-2.0.so.0
connmand[13361]: #6 0x7f33a62e1bd2 in /usr/lib/libglib-2.0.so.0
connmand[13361]: #7 0x40dfa1 in main() at src/main.c:510
connmand[13361]: #8 0x7f33a4f8e455 in /lib/libc.so.6
connmand[13361]: +++++++++++++++++++++++++++
To reproduce this issue, we need to have a domain name set and make a
query for "". The easiest way to do so is to use the (wrong) git command
below:
git push :your.host.name
Make sure we calculate domain_len the right way. By guaranteeing
host_len and domain_len are >= we can also use memcpy() instead of
memmove().
Lucas De Marchi [Wed, 23 May 2012 18:00:09 +0000 (15:00 -0300)]
dnsproxy: Avoid useless memset
Lucas De Marchi [Wed, 23 May 2012 18:00:08 +0000 (15:00 -0300)]
dnsproxy: Fix constiness of variables
There's no point in casting 'domain' and 'query' to char* to remove the
const since we are not modifying them. Also we can avoid another var
entirely by updating the pointers only.
Jukka Rissanen [Mon, 28 May 2012 07:04:51 +0000 (10:04 +0300)]
storage: Remove obsolete functions that nobody calls
Config load and save functions are not called so they
are not needed.
Jukka Rissanen [Mon, 28 May 2012 07:04:50 +0000 (10:04 +0300)]
config: Remove unused function