Daniel Wagner [Mon, 13 Feb 2012 14:51:42 +0000 (15:51 +0100)]
test-nat: Add main table tests
This test makes use of the iptables check command.
Daniel Wagner [Mon, 13 Feb 2012 14:51:41 +0000 (15:51 +0100)]
test-nat: Commit table changes
Daniel Wagner [Mon, 13 Feb 2012 14:51:40 +0000 (15:51 +0100)]
nat: Fix typo in iptables rule
Daniel Wagner [Mon, 13 Feb 2012 14:51:39 +0000 (15:51 +0100)]
bridge: Fix __connman_bridge_enable() arguments ordering
Daniel Wagner [Mon, 13 Feb 2012 14:51:38 +0000 (15:51 +0100)]
iptables: Mask address when parsing ip/prefixlen
Netfilter likes to have the address properly masked.
Daniel Wagner [Mon, 13 Feb 2012 14:51:37 +0000 (15:51 +0100)]
iptables-test: Mask address when parsing ip/prefixlen
Netfilter likes to have the address properly masked.
Samuel Ortiz [Mon, 13 Feb 2012 15:26:34 +0000 (16:26 +0100)]
build: Add missing documentation to EXTRA_DIST
Tomasz Bursztyka [Mon, 6 Feb 2012 13:24:22 +0000 (15:24 +0200)]
iptables: Fix rule insertion in a builtin chain
Tomasz Bursztyka [Mon, 6 Feb 2012 13:24:21 +0000 (15:24 +0200)]
tools: Fix rule insertion in a builtin chain into iptables-test
Daniel Wagner [Mon, 6 Feb 2012 12:30:43 +0000 (13:30 +0100)]
tethering: Fix start of IP pool
The pool should start at 2 not 1 since this collides with
the gateway address.
Guillaume Zajac [Sat, 4 Feb 2012 01:13:38 +0000 (17:13 -0800)]
ofono: Update CDMA documentation
Jukka Rissanen [Thu, 2 Feb 2012 15:38:22 +0000 (17:38 +0200)]
resolver: Domain name was not set
When service sets the domain name, the server is NULL.
We must allow this as otherwise dnsproxy will not be able
to append domain name into DNS queries.
Fixes BMC#24712
Daniel Wagner [Wed, 1 Feb 2012 17:51:47 +0000 (18:51 +0100)]
test-nat: Add nat unit test
Daniel Wagner [Wed, 1 Feb 2012 17:51:46 +0000 (18:51 +0100)]
nat: Move nat code into a seperate file
Instead of natting all traffic, nat.c will restrict the masquerading
on given network/mask.
The nat handling code will be reused by session.c
Daniel Wagner [Wed, 1 Feb 2012 17:51:45 +0000 (18:51 +0100)]
tethering: Use notifier to update default interface.
Daniel Wagner [Wed, 1 Feb 2012 17:54:48 +0000 (18:54 +0100)]
bridge: Move bridge code into a seperate file
The bridge handling code will reused by session.c.
Daniel Wagner [Wed, 1 Feb 2012 17:51:43 +0000 (18:51 +0100)]
iptables: Parse also netmask for src/dst addresses
Daniel Wagner [Wed, 1 Feb 2012 17:51:42 +0000 (18:51 +0100)]
iptables-test: Parse also netmask for src/dst addresses
Samuel Ortiz [Fri, 10 Feb 2012 14:53:29 +0000 (15:53 +0100)]
ofono: Check for mcc before using it as an index
Also avoid calling set_regdom is the alpha2 is NULL.
Marcel Holtmann [Sat, 4 Feb 2012 03:53:14 +0000 (19:53 -0800)]
build: Remove --enable-ntpd
Samuel Ortiz [Sat, 4 Feb 2012 00:35:20 +0000 (01:35 +0100)]
AUTHORS: Mention Manfred's contributions
Manfred Kober [Wed, 1 Feb 2012 15:02:52 +0000 (16:02 +0100)]
wifi: Write Wifi Mode to network properties
Currently adhoc networks are shown in the service list, although
connecting to those is not supported. Filtering in network.c fails
because the WiFi.Mode was not set so far.
Fixes BMC#24737
Alok Barsode [Fri, 3 Feb 2012 18:26:06 +0000 (20:26 +0200)]
ntpd: Remove the ntpd plugin
We now have ntp support in the core, hence remove the plugin.
Alok Barsode [Fri, 3 Feb 2012 18:26:05 +0000 (20:26 +0200)]
timeserver: Remove connman_timeserver_driver framework
Alok Barsode [Fri, 3 Feb 2012 18:26:04 +0000 (20:26 +0200)]
timeserver: Remove connman_timeserver_[append/remove]
We do not need to these anymore as we directly use the timeservers from
service.
Alok Barsode [Fri, 3 Feb 2012 18:26:03 +0000 (20:26 +0200)]
timeserver: Check condition to restart timeservers
if we are using service timeservers, then do not restart
ntp if the user modifies system timeservers.
Alok Barsode [Fri, 3 Feb 2012 18:26:02 +0000 (20:26 +0200)]
timeserver: Use service timeserver, if any, before system timeservers
Alok Barsode [Fri, 3 Feb 2012 18:26:01 +0000 (20:26 +0200)]
ntp: Add timeserver switch logic
Add a timeout mechanism to switch to next system timeserver
if the current one does not respond or is a bogus one.
Alok Barsode [Fri, 3 Feb 2012 18:26:00 +0000 (20:26 +0200)]
Add __connman_timerserver_sync() to resolve a list of timeservers
__connman_timerserver_sync() resolves system timeservers one at a time
and queries the resolved server or the 1st of the resolved servers for
time correction. If the resolution fails it resolves the next one.
__connman_timerserver_sync_next() resolves the next system timeserver.
__connman_timerserver_stop() stops this query.If the user modifies the
system timeserver list, we restart the ntp process.
Alok Barsode [Fri, 3 Feb 2012 18:25:59 +0000 (20:25 +0200)]
ntp: NTP Query a Timeserver server IP
__connman_ntp_start() takes a NTP server IP, and starts querying it for
time correction.If a timeserver responds, we continue to query it every
"Poll Interval" seconds for time corrections.
__connman_ntp_stop() stops the polling process.
Alok Barsode [Fri, 3 Feb 2012 18:25:58 +0000 (20:25 +0200)]
service: Free service->timeservers
Alok Barsode [Fri, 3 Feb 2012 18:25:57 +0000 (20:25 +0200)]
dhcp: modify connman_dhcp to add multiple timeservers
Alok Barsode [Fri, 3 Feb 2012 18:25:56 +0000 (20:25 +0200)]
meego: Use system timeserver APIs to add/remove timeservers
Alok Barsode [Fri, 3 Feb 2012 18:25:55 +0000 (20:25 +0200)]
timeserver: Add functions to store/restore timeservers via the clock API
Patrik Flykt [Wed, 1 Feb 2012 14:43:58 +0000 (16:43 +0200)]
manager: Remove RequestScan D-Bus method call
Patrik Flykt [Wed, 1 Feb 2012 14:43:57 +0000 (16:43 +0200)]
device: Notify technology when a scan has started or stopped
Patrik Flykt [Wed, 1 Feb 2012 14:43:56 +0000 (16:43 +0200)]
technology: Implement Technology Scan and scan start/stop functionality
When Technology Scan D-Bus method call is called, add caller to a scan
list and start a scan for the service type. When a device reports scan
completed, check whether it was the last device scanning and reply to
the callers accordingly.
Also check for scanning status when removing devices and technology
objects.
Patrik Flykt [Wed, 1 Feb 2012 14:43:55 +0000 (16:43 +0200)]
device: Return success if scan succeeded for at least one device
Return success on requesting device scan if at least one of the
devices reported success. If scanning was unsuccessful for all
devices, return the error from the last one.
Patrik Flykt [Wed, 1 Feb 2012 14:43:54 +0000 (16:43 +0200)]
device: Return -EOPNOTSUPP if the device does not support scanning
Patrik Flykt [Wed, 1 Feb 2012 14:43:53 +0000 (16:43 +0200)]
wifi: Always set scanning to FALSE in scan callback
By always setting scanning to FALSE in the scan callback,
information for a stopped scan will be processed in
device.c.
Jukka Rissanen [Fri, 3 Feb 2012 11:31:28 +0000 (13:31 +0200)]
vpn: Reference of provider not taken
VPN plugin hooks itself into rtnl newlink watch and gives
provider pointer as user data. We must take reference of the
user data pointer as otherwise we might access invalid pointer
if provider is already removed when rtnl watch is triggered.
This seems to be a rare issue but I had one valgrind crash
because of this.
Tomasz Bursztyka [Wed, 1 Feb 2012 14:38:18 +0000 (16:38 +0200)]
iptables: add capability to check for an existing rule
Tomasz Bursztyka [Wed, 1 Feb 2012 14:38:17 +0000 (16:38 +0200)]
iptables: refactor how an existing rule is found
Tomasz Bursztyka [Wed, 1 Feb 2012 14:38:16 +0000 (16:38 +0200)]
test: adding a fonction to compare a rule against the actual ones
Tomasz Bursztyka [Wed, 1 Feb 2012 14:38:15 +0000 (16:38 +0200)]
test: refactoring rule finding part into iptables-test
Daniel Wagner [Fri, 27 Jan 2012 14:32:01 +0000 (15:32 +0100)]
TODO: Remove IP ranges allocation and check entry
Daniel Wagner [Fri, 27 Jan 2012 14:10:58 +0000 (15:10 +0100)]
ipconfig: Add/del IP address from IP pool
Guillaume Zajac [Mon, 29 Aug 2011 09:32:36 +0000 (11:32 +0200)]
tethering: Add notification callback implementation
Daniel Wagner [Thu, 26 Jan 2012 14:07:45 +0000 (15:07 +0100)]
test-ippool: Add collision unit test
Daniel Wagner [Thu, 26 Jan 2012 13:30:17 +0000 (14:30 +0100)]
ippool: Add API to notify when IP is externally assigned
Guillaume Zajac [Mon, 29 Aug 2011 09:32:34 +0000 (11:32 +0200)]
tethering: Use IP pool API with DHCP
Guillaume Zajac [Mon, 29 Aug 2011 09:32:33 +0000 (11:32 +0200)]
tethering: Use IP pool API with private network
Daniel Wagner [Thu, 26 Jan 2012 15:03:32 +0000 (16:03 +0100)]
test-ippool: Add unit test for ippool
Daniel Wagner [Thu, 26 Jan 2012 15:46:37 +0000 (16:46 +0100)]
ippool: Add IP pool layer
This is based on Guillaume Zajac intial IP pool patches.
Daniel Wagner [Mon, 30 Jan 2012 14:46:16 +0000 (15:46 +0100)]
vpnc: Fix compiler warning
Assignment discards ‘const’ qualifier from pointer target type.
Daniel Wagner [Tue, 31 Jan 2012 15:41:51 +0000 (16:41 +0100)]
session: Send SessionMode property change message
Alok Barsode [Wed, 25 Jan 2012 12:16:41 +0000 (14:16 +0200)]
technology: Fix technology refcounting
technology_add_device and technology_add_rfkill should increment
technology refcount. The refcount denotes the total number of devices
and rfkill switches in the technology. Similarly technology_remove_device
and technology_remove_rfkill should decrement technology refcount.
Once the refcount is 0, which means that there are no devices and rfkill
switches in this technology, technology should be freed.
Alok Barsode [Mon, 30 Jan 2012 10:23:58 +0000 (12:23 +0200)]
technology: Create a list for technology orphaned rfkill switches
If we get a rfkill switch before the technology driver was registered we
would lose track of it as we currently ignoed it. Adding a global rfkill
hash table which can keep a track of technologyless switches untill the
driver for them is loaded. If the driver is not compiled in the switches
will remain in the hash but will not be handled by connman.
Alok Barsode [Mon, 30 Jan 2012 10:16:25 +0000 (12:16 +0200)]
technology: Create a list for technology orphaned devices
If we get a device before the technology driver was registered we
would lose track of it as we ignoed it. Adding a device list which
can keep a track of technologyless devices untill the driver for
them is loaded. If the driver is not compiled in the devices will
remain in the list.
Samuel Ortiz [Fri, 27 Jan 2012 10:49:38 +0000 (11:49 +0100)]
AUTHORS: Mention Guillaume Zajac's contributions
Daniel Wagner [Fri, 27 Jan 2012 10:46:15 +0000 (11:46 +0100)]
oFono: Update documentation
Explain how the plugin works for a GSM modem.
Daniel Wagner [Fri, 20 Jan 2012 13:27:46 +0000 (14:27 +0100)]
show-introspection: Fix technology introspection
Patrik Flykt [Wed, 25 Jan 2012 11:49:45 +0000 (13:49 +0200)]
provider: Don't remove a provider on error
When a provider indicates error, set the corresponding
service error but don't remove the provider.
Patrik Flykt [Wed, 25 Jan 2012 11:49:44 +0000 (13:49 +0200)]
provider: Load providers at provider driver registration time
Load all saved providers that have the same type as the provider
driver being registered. While looking through the storage dir
for directory entries starting with 'provider_', the respective
settings file needs to be opened in order to check the type.
Since the settings file is already opened, load all other settings
as well with the help of the previously factored out functions.
Patrik Flykt [Wed, 25 Jan 2012 11:49:43 +0000 (13:49 +0200)]
provider: Handle connman_provider_load() in provider_create()
Load provider data in provider_create() if provider_register()
returns success.
Patrik Flykt [Wed, 25 Jan 2012 11:49:42 +0000 (13:49 +0200)]
provider: Factor out service creation
Factor out the creation of a service when given a provider.
Patrik Flykt [Wed, 25 Jan 2012 11:49:41 +0000 (13:49 +0200)]
provider: Factor out keyfile loading
Factor out keyfile loading from connman_provider_load() into
a fuction of its own.
Patrik Flykt [Wed, 25 Jan 2012 11:49:40 +0000 (13:49 +0200)]
provider: Don't set provider->name when creating provider struct
Don't unnecessarily set provider->name to the value of the provider
identifier in connman_provider_get() since it's going to be reset
immediately to the supplied provider name.
Patrik Flykt [Wed, 25 Jan 2012 11:49:39 +0000 (13:49 +0200)]
vpn: Add check for properly initialized driver_hash
Patrik Flykt [Wed, 25 Jan 2012 11:49:38 +0000 (13:49 +0200)]
storage: Function to fetch all saved providers
Implement __connman_storage_get_providers() to fetch all stored
providers.
Daniel Wagner [Wed, 25 Jan 2012 09:14:48 +0000 (10:14 +0100)]
AUTHORS: Mention Daniel's contributions
Daniel Mack [Wed, 21 Dec 2011 10:18:20 +0000 (11:18 +0100)]
iptables: Avoid NULL pointer dereference in table_cleanup()
Patrik Flykt [Fri, 20 Jan 2012 14:30:39 +0000 (16:30 +0200)]
technology: Remove 'State' property from Technology
Patrik Flykt [Fri, 20 Jan 2012 14:30:38 +0000 (16:30 +0200)]
technology: Add 'Connected' Technology property
Set Technology property 'Connected' to true if at least one service
for the Technology is connected; false otherwise.
Jukka Rissanen [Fri, 20 Jan 2012 10:01:49 +0000 (12:01 +0200)]
network: Add caller information to ref/unref debug prints.
Jukka Rissanen [Fri, 20 Jan 2012 10:01:48 +0000 (12:01 +0200)]
device: Add caller information to ref/unref debug prints.
Jukka Rissanen [Fri, 20 Jan 2012 10:01:47 +0000 (12:01 +0200)]
provider: Add caller information to ref/unref debug prints.
Jukka Rissanen [Fri, 20 Jan 2012 10:01:46 +0000 (12:01 +0200)]
ipconfig: Add caller information to ref/unref debug prints.
Jukka Rissanen [Fri, 20 Jan 2012 10:01:45 +0000 (12:01 +0200)]
service: Add caller information to ref/unref debug prints.
This helps to pin point the exact line/function who is taking the reference.
Patrik Flykt [Fri, 20 Jan 2012 12:01:28 +0000 (14:01 +0200)]
test-connman: Use Powered property to enable/disable Technologies
Daniel Wagner [Fri, 20 Jan 2012 08:05:12 +0000 (09:05 +0100)]
technology: Add object path to TechnologyAdded signal
As it is described in the manager-api.txt document.
Jukka Rissanen [Fri, 20 Jan 2012 07:53:58 +0000 (09:53 +0200)]
dnsproxy: Check that cache is valid before accessing it.
The cache can become invalid by just disconnecting a service.
In that case we must not access the cache hash.
Jukka Rissanen [Tue, 10 Jan 2012 09:22:01 +0000 (11:22 +0200)]
network: Avoid double network disconnect.
Jukka Rissanen [Tue, 10 Jan 2012 09:22:00 +0000 (11:22 +0200)]
network: Refactor set_connected() function.
The set_connected() is split to two parts, the disconnect
part is in set_disconnected() function.
Daniel Wagner [Thu, 19 Jan 2012 10:24:16 +0000 (11:24 +0100)]
ofono: Cancel pending SetProperty
If the cellular technolgy is disabled while ConnMan is connected
to a cellular network, the plugin gets first a network_disconnect()
call and shortly after that a modem_disable(). network_disconnect()
will set org.ofono.ConnectionContext.Active to false while this call
is pending modem_disable() tries to set org.ofono.Modem.Online to false.
There is no point in waiting for the first call to succeed or fail.
Just cancel it and set the modem offline.
Fixes BMC#24651.
Jukka Rissanen [Thu, 19 Jan 2012 14:31:44 +0000 (16:31 +0200)]
provider: Remove provider from the hash properly
We must not just do connman_provider_unref(provider) as that will
leave the provider to the provider_hash and we will get free memory
access error. We can just remove the provider from the hash and
that will unref the provider automagically.
Jukka Rissanen [Thu, 19 Jan 2012 14:31:43 +0000 (16:31 +0200)]
provider: VPN service can be null
Alok Barsode [Wed, 18 Jan 2012 15:13:49 +0000 (15:13 +0000)]
technology: Fix g_dbus_emit_signal argument
Fixes BMC#24636
Patrik Flykt [Thu, 19 Jan 2012 12:27:51 +0000 (14:27 +0200)]
technology: Remove unused notifier functions
Patrik Flykt [Thu, 19 Jan 2012 12:27:50 +0000 (14:27 +0200)]
notifier: Remove unused technology notifiers
Since there only user of __connman_notifier_is_enabled()
and __connman_notifier_is_register() was removed with the
technology method calls in Manager, remove the now unnecessary
support functions.
Patrik Flykt [Thu, 19 Jan 2012 12:27:49 +0000 (14:27 +0200)]
technology: Add 'Powered' Technology property
Remove __connman_technology_enable/disable functions but reuse
their contents for 'Powered' property implementation. As a result
move code around as the new functions are now static.
Patrik Flykt [Thu, 19 Jan 2012 12:27:48 +0000 (14:27 +0200)]
manager: Remove EnableTechnology and DisableTechnology
Remove EnableTechnology and DisableTechnology D-Bus method calls
from Manager API.
Patrik Flykt [Wed, 18 Jan 2012 13:06:28 +0000 (15:06 +0200)]
test-manager: Pretty-print SessionMode as 'true'/'false'
Patrik Flykt [Wed, 18 Jan 2012 13:06:27 +0000 (15:06 +0200)]
test-manager: Update test-manager with Technology changes
test-manager now gets the full set of technology paths and
properties from Manager GetTechnologies() D-Bus method call.
Fixes BMC#24637
Jukka Rissanen [Wed, 18 Jan 2012 10:48:35 +0000 (12:48 +0200)]
ipconfig: Possible to have double unref
Because we do not check that origin pointer is not this ipconfig,
it is possible that we might try to unref the ipconfig one time
too many.
Something like this was seen in the log file:
connmand[19208]: src/ipconfig.c:enable_ipv6()
connmand[19208]: src/ipconfig.c:__connman_ipconfig_unref() ipconfig 0x47502f0 refcount 0
connmand[19208]: src/ipconfig.c:__connman_ipconfig_disable() ipconfig 0x47502f0
connmand[19208]: src/ipconfig.c:disable_ipv6()
connmand[19208]: src/ipconfig.c:__connman_ipconfig_unref() ipconfig 0x47502f0 refcount -1
Jukka Rissanen [Wed, 18 Jan 2012 14:46:37 +0000 (16:46 +0200)]
proxy: Service was saved but not referenced
Jukka Rissanen [Wed, 18 Jan 2012 14:46:36 +0000 (16:46 +0200)]
connection: Only take service ref when saving service
The fix
b68795352dd5a9ac41eab31c765ade0c88329a6e was only partly
working. We must only take the ref when we are saving stuff
to hash (no need to take ref if we are only modifying value
in the hash). This patch reverts the commit b68795
Jukka Rissanen [Wed, 18 Jan 2012 14:46:35 +0000 (16:46 +0200)]
service: Properly ref/unref the network
We only took reference to network when the network was
created by service. This needs to be changed as the network
might disappear while service is using network pointer.
So now we take network ref when necessary and release it
when service is removed or if underlaying network is changed.
Jukka Rissanen [Wed, 18 Jan 2012 14:46:34 +0000 (16:46 +0200)]
service: Refactor the service unref function
Jukka Rissanen [Wed, 18 Jan 2012 14:46:33 +0000 (16:46 +0200)]
service: Add ref counting debug