framework/connectivity/connman.git
12 years agodevice: Consider blacklisted interfaces from main.conf when filtering
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.

12 years agomain: Support NetworkInterfaceBlacklist from main.conf
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

12 years agomain.conf: Add NetworkInterfaceBlacklist
Manfred Kober [Thu, 21 Jun 2012 07:40:30 +0000 (09:40 +0200)]
main.conf: Add NetworkInterfaceBlacklist

12 years agodnsproxy: Check cache for TCP request before connecting to server
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.

12 years agodnsproxy: Use DNS header in checks
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.

12 years agodnsproxy: Add more debugging prints
Jukka Rissanen [Wed, 20 Jun 2012 10:38:38 +0000 (13:38 +0300)]
dnsproxy: Add more debugging prints

12 years agodnsproxy: Check cache properly for TCP packets
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.

12 years agodnsproxy: Fix the negative caching of AAAA record
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.

12 years agodnsproxy: Save DNS packet in cache always in TCP format
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.

12 years agodnsproxy: Do not generate SIGPIPE
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).

12 years agoippool: Fix endless loop issue with 32 prefix length
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.

12 years agodnsproxy: Fix flushing pending requests
Paulo Pizarro [Mon, 18 Jun 2012 02:22:40 +0000 (23:22 -0300)]
dnsproxy: Fix flushing pending requests

12 years agodnsproxy: Release all the fields of the request after forward dns reply
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

12 years agodnsproxy: Avoid duplication of domains in the TCP server domain list
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.

12 years agodnsproxy: If no request was sent then the TCP server is destroyed
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

12 years agodnsproxy: If the answer is in the cache, the TCP request is released
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

12 years agodnsproxy: Only one copy of the relevant buffers will be made to a TCP request
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.

12 years agoREADME: Add information about mailing list and site
Lucas De Marchi [Thu, 14 Jun 2012 14:24:53 +0000 (11:24 -0300)]
README: Add information about mailing list and site

12 years agowifi: Use common scan callback handling
Patrik Flykt [Fri, 15 Jun 2012 11:13:53 +0000 (14:13 +0300)]
wifi: Use common scan callback handling

12 years agowifi: Do a hidden WiFi network scan also for user scans
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.

12 years agowifi: Use scan_callback() instead of hidden_scan_callback()
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.

12 years agodevice: Don't unnecessarily set device->scanning to false
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().

12 years agosupplicant: Call scan callback if needed when removing interface
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.

12 years agowifi: Reset autoscan timer on a new scan
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.

12 years agotechnology: Disable technology when the last device is unpowered
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().

12 years agodevice: Combine multiple if statements into one block of code
Patrik Flykt [Fri, 15 Jun 2012 11:13:46 +0000 (14:13 +0300)]
device: Combine multiple if statements into one block of code

12 years agodevice: Combine two if statements with identical outcome
Patrik Flykt [Fri, 15 Jun 2012 11:13:45 +0000 (14:13 +0300)]
device: Combine two if statements with identical outcome

12 years agotechnology: Remove unneeded scan stop when removing device
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.

12 years agowifi: Don't print an error when the wifi interface has been removed
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.

12 years agowifi: Stop scanning when disabling wifi
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.

12 years agoservice: Connecting hidden network waits until connected
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.

12 years agoservice: Add support functions for pending replies
Jukka Rissanen [Fri, 15 Jun 2012 13:00:20 +0000 (16:00 +0300)]
service: Add support functions for pending replies

12 years agoservice: Split reply_pending function to two parts
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.

12 years agotimeserver: Get rid of useless and annoying error message
Jukka Rissanen [Fri, 15 Jun 2012 12:34:07 +0000 (15:34 +0300)]
timeserver: Get rid of useless and annoying error message

12 years agoservice: Take last error into acount when retrying to connect
Tomasz Bursztyka [Mon, 28 May 2012 11:20:23 +0000 (14:20 +0300)]
service: Take last error into acount when retrying to connect

12 years agoagent: Implement the new type and argument for RequestInput method call
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.

12 years agoservice: Add a getter for the passphrase
Tomasz Bursztyka [Mon, 28 May 2012 11:20:21 +0000 (14:20 +0300)]
service: Add a getter for the passphrase

12 years agodoc: Add a new type and argument to agent RequestInput method call
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

12 years agotimeserver: Simplify timeserver IP address checking
Patrik Flykt [Mon, 4 Jun 2012 10:45:06 +0000 (13:45 +0300)]
timeserver: Simplify timeserver IP address checking

12 years agomain: Simplify fallback nameserver parsing
Patrik Flykt [Mon, 4 Jun 2012 10:45:05 +0000 (13:45 +0300)]
main: Simplify fallback nameserver parsing

12 years agoservice: Simplify nameserver route adding and removing
Patrik Flykt [Mon, 4 Jun 2012 10:45:04 +0000 (13:45 +0300)]
service: Simplify nameserver route adding and removing

12 years agoservice: Check that the supplied nameserver is in numeric format
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.

12 years agoinet: Create helper function for IP address checking
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.

12 years agogsupplicant: Properly handle WPS properties update
Tomasz Bursztyka [Fri, 8 Jun 2012 10:58:49 +0000 (13:58 +0300)]
gsupplicant: Properly handle WPS properties update

12 years agogsupplicant: Properly handle WiFi security change
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.

12 years agoipconfig: Set IPv6 privacy default value from kernel default
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.

12 years agodnsproxy: Do not print too many info messages
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.

12 years agodoc: Describe what happens when config file is removed
Jukka Rissanen [Tue, 5 Jun 2012 08:24:19 +0000 (11:24 +0300)]
doc: Describe what happens when config file is removed

12 years agoconfig: Check if we need to rescan the config file for any changes
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

12 years agoconfig: No service removal on cleanup
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.

12 years agoconfig: Check individual service entries for removal
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.

12 years agoconfig: Use config file name and entry when deciding removal
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.

12 years agoconfig: Save service after provisioning it
Jukka Rissanen [Tue, 5 Jun 2012 08:24:14 +0000 (11:24 +0300)]
config: Save service after provisioning it

12 years agoservice: Support function that saves service
Jukka Rissanen [Tue, 5 Jun 2012 08:24:13 +0000 (11:24 +0300)]
service: Support function that saves service

12 years agoservice: Sort service sequence after checking provisioned services
Jukka Rissanen [Tue, 5 Jun 2012 08:24:12 +0000 (11:24 +0300)]
service: Sort service sequence after checking provisioned services

12 years agoservice: Mark service as dirty and needing sorting
Jukka Rissanen [Tue, 5 Jun 2012 08:24:11 +0000 (11:24 +0300)]
service: Mark service as dirty and needing sorting

12 years agoservice: Add function to set the favorite flag
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.

12 years agoservice: Remove unprovisioned services when starting connman
Jukka Rissanen [Tue, 5 Jun 2012 08:24:09 +0000 (11:24 +0300)]
service: Remove unprovisioned services when starting connman

12 years agoservice: Save provisioned config information
Jukka Rissanen [Tue, 5 Jun 2012 08:24:08 +0000 (11:24 +0300)]
service: Save provisioned config information

12 years agoconfig: Set config information in service
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.

12 years agoconfig: Remove service if config file is removed
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).

12 years agoservice: Add function to remove a service
Jukka Rissanen [Tue, 5 Jun 2012 08:24:05 +0000 (11:24 +0300)]
service: Add function to remove a service

12 years agoservice: Add setter for config information
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.

12 years agostorage: Add function to remove a service directory
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.

12 years agoservice: Add function to return service by identifier
Jukka Rissanen [Tue, 5 Jun 2012 08:24:02 +0000 (11:24 +0300)]
service: Add function to return service by identifier

12 years agodnsproxy: Randomize the transaction id
Jukka Rissanen [Fri, 1 Jun 2012 12:02:08 +0000 (15:02 +0300)]
dnsproxy: Randomize the transaction id

12 years agodnsproxy: Use memmove() when discarding domain name
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.

12 years agodnsproxy: Check overlapping memcpy
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.

12 years agoservice: remove extra semicolon
Grant Erickson [Thu, 7 Jun 2012 04:49:08 +0000 (21:49 -0700)]
service: remove extra semicolon

12 years agodundee: Fix wrong casting
Daniel Wagner [Tue, 5 Jun 2012 16:27:35 +0000 (18:27 +0200)]
dundee: Fix wrong casting

12 years agodoc: Mention long D-Bus timeout for scan method
Marcel Holtmann [Mon, 4 Jun 2012 21:16:07 +0000 (06:16 +0900)]
doc: Mention long D-Bus timeout for scan method

12 years agobluetooth: Check ownership of device
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.

12 years agodundee: Check ownership of device
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.

12 years agodundee: Set device active/inactive
Daniel Wagner [Fri, 1 Jun 2012 14:11:28 +0000 (16:11 +0200)]
dundee: Set device active/inactive

12 years agodundee: Update network connected status
Daniel Wagner [Fri, 1 Jun 2012 14:11:27 +0000 (16:11 +0200)]
dundee: Update network connected status

12 years agodundee: Register connman_network at core
Daniel Wagner [Fri, 1 Jun 2012 14:11:26 +0000 (16:11 +0200)]
dundee: Register connman_network at core

12 years agodundee: Monitor Device.PropertyChanged signal
Daniel Wagner [Fri, 1 Jun 2012 14:11:25 +0000 (16:11 +0200)]
dundee: Monitor Device.PropertyChanged signal

12 years agodundee: Create connman device
Daniel Wagner [Fri, 1 Jun 2012 14:11:24 +0000 (16:11 +0200)]
dundee: Create connman device

12 years agodundee: Parse device properties in add_device
Daniel Wagner [Fri, 1 Jun 2012 14:11:23 +0000 (16:11 +0200)]
dundee: Parse device properties in add_device

12 years agodundee: Get modems when starting
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.

12 years agodundee: Monitor DeviceAdded/DeviceRemoved signal
Daniel Wagner [Fri, 1 Jun 2012 14:11:21 +0000 (16:11 +0200)]
dundee: Monitor DeviceAdded/DeviceRemoved signal

12 years agodundee: Watch service on D-Bus
Daniel Wagner [Fri, 1 Jun 2012 14:11:20 +0000 (16:11 +0200)]
dundee: Watch service on D-Bus

12 years agodundee: Add emply plugin
Daniel Wagner [Fri, 1 Jun 2012 14:11:19 +0000 (16:11 +0200)]
dundee: Add emply plugin

12 years agoREADME: Add --disable-dundee documentation
Daniel Wagner [Fri, 1 Jun 2012 14:11:18 +0000 (16:11 +0200)]
README: Add --disable-dundee documentation

12 years agoREADME: Fix whitespace and typo issues
Daniel Wagner [Fri, 1 Jun 2012 14:11:17 +0000 (16:11 +0200)]
README: Fix whitespace and typo issues

12 years agoTODO: Add migration removal task
Patrik Flykt [Fri, 1 Jun 2012 07:43:00 +0000 (10:43 +0300)]
TODO: Add migration removal task

12 years agoAUTHORS: Mention Mikel's and Paulo's contributions
Patrik Flykt [Thu, 31 May 2012 12:16:05 +0000 (15:16 +0300)]
AUTHORS: Mention Mikel's and Paulo's contributions

12 years agoRelease 1.1
Marcel Holtmann [Thu, 31 May 2012 10:39:30 +0000 (12:39 +0200)]
Release 1.1

12 years agodnsproxy: If the answer is in the cache, the UDP request is released
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

12 years agogdbus: Add macro for methods marked as NOREPLY
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.

12 years agontp: Log the time slew delta
Grant Erickson [Fri, 25 May 2012 21:15:15 +0000 (14:15 -0700)]
ntp: Log the time slew delta

12 years agomain.conf: Add InputRequestTimeout and BrowserLaunchTimeout
Marcel Holtmann [Wed, 23 May 2012 05:06:57 +0000 (07:06 +0200)]
main.conf: Add InputRequestTimeout and BrowserLaunchTimeout

12 years agoagent: Use input request and browser launch timeouts
Patrik Flykt [Tue, 29 May 2012 13:19:29 +0000 (16:19 +0300)]
agent: Use input request and browser launch timeouts

12 years agomain: Add InputRequestTimeout and BrowserLaunchTimeout variables
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.

12 years agoservice: Clean up append_nameservers() helper function
Patrik Flykt [Thu, 24 May 2012 13:25:03 +0000 (16:25 +0300)]
service: Clean up append_nameservers() helper function

12 years agoservice: Proper ordering of nameservers and search domains
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.

12 years agoresolver: Clean up remove function
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.

12 years agoservice: Properly handle nameservers and search domains
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.

12 years agoservice: Remove previous nameservers and search domains
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.

12 years agoservice: Add helpers for removing nameservers and search domains
Patrik Flykt [Thu, 24 May 2012 13:24:58 +0000 (16:24 +0300)]
service: Add helpers for removing nameservers and search domains