Daniel Wagner [Sun, 23 Oct 2011 12:16:23 +0000 (14:16 +0200)]
tools: Add O_CLOEXEC to open()
Make sure all file descriptor are closed.
Jukka Rissanen [Fri, 21 Oct 2011 08:16:55 +0000 (11:16 +0300)]
service: Activate loose mode routing
If more than one service is connected at the same time,
then activate loose mode routing by setting the
/proc/sys/net/ipv4/conf/all/rp_filter to value 2
If the loose mode routing is not activated, then packets
are not routed properly if services are connected to same
subnet.
The original value of rp_filter is restored when the other
services are disconnected and only one service is connected.
For details of rp_filter setting, see Linux kernel file
Documentation/networking/ip-sysctl.txt
Fixes BMC#23606
Jukka Rissanen [Fri, 21 Oct 2011 08:16:54 +0000 (11:16 +0300)]
ipconfig: Set/unset IPv4 rp_filter setting
Jukka Rissanen [Tue, 18 Oct 2011 13:36:29 +0000 (16:36 +0300)]
network: Remove obsolete service lookup in disconnect
Jukka Rissanen [Tue, 18 Oct 2011 13:36:11 +0000 (16:36 +0300)]
service: Check NULL pointer
Daniel Wagner [Mon, 17 Oct 2011 13:50:17 +0000 (15:50 +0200)]
session: Do not select ongoing service again
In case Session.Connect() is called several times while
the selected services is still going from the IDLE state
to ONLINE state (or error state), do not call
select_and_connect() again. This leads to an inconsistent
ref counting on the service.
Fixes BMC#23630
Tomasz Bursztyka [Mon, 17 Oct 2011 13:51:32 +0000 (16:51 +0300)]
wispr: Reference count service properly according to contexts
Tomasz Bursztyka [Mon, 17 Oct 2011 13:51:31 +0000 (16:51 +0300)]
wispr: wispr_start will always re-start a new context
Tomasz Bursztyka [Mon, 17 Oct 2011 12:52:24 +0000 (15:52 +0300)]
service: wispr fallback when wpad fails
Tomasz Bursztyka [Mon, 17 Oct 2011 12:52:23 +0000 (15:52 +0300)]
wpad: Reference count service properly
Jukka Rissanen [Wed, 12 Oct 2011 13:41:46 +0000 (16:41 +0300)]
dhcp: Reference count network properly
Jukka Rissanen [Wed, 12 Oct 2011 13:05:18 +0000 (16:05 +0300)]
inet: Cleanup router solicitation callback properly after error
The cleanup routine must be called after an error and after
calling RS callback, otherwise the timeout is not removed
in right time.
Patrik Flykt [Wed, 12 Oct 2011 10:56:38 +0000 (13:56 +0300)]
notifier: Don't unnecessarily report "online" state on disconnect
When a service disconnects, don't send an extra 'online'
net.connman.Manager.StateChanged signal if another service is still
connected.
Fixes BMC#23421
Tomasz Bursztyka [Mon, 10 Oct 2011 10:09:11 +0000 (13:09 +0300)]
wispr: Set LoginRequired when wispr login is requested
Setting it while handling redirection is not bullet proof in case
of AP which does not implement well wispr and sends wispr content
with no redirection at first place.
Fixes BMC#23424
Yu A Wang [Tue, 11 Oct 2011 09:46:00 +0000 (09:46 +0000)]
dnsproxy: Fix can't resolv hostname
When we resolv hostname, we will append the domain name then we may
get question section mismatch error. After we get the DNS reply
we can remove the domain name again. This works well with one host
with only a A record, it may failed when the reply with many cnames
or additional records due to message compression error. But in a
local network we only resolv hostname will not meet these issues.
Modified by Julien Massot according to Samuel's comments.
Samuel Ortiz [Mon, 10 Oct 2011 16:12:35 +0000 (18:12 +0200)]
service: Update service order when changing the favorite flag
If the service order is not changed at the same time as the favorite
status, the service may stay on top of the service list despite not
being a favorite anymore.
Patch based on an initial fix from Danny Jeongseok Seo <s.seo@samsung.com>.
Yu A Wang [Mon, 10 Oct 2011 02:29:23 +0000 (22:29 -0400)]
Makefile: Add missed test files to test_scripts
Fixes BMC#23418
Yu A Wang [Mon, 10 Oct 2011 01:44:51 +0000 (21:44 -0400)]
service: Load ipconfig according to service identifier
We have seperate the storage file to different directories according
to service identifier, then we need to load it according to service
identifier too.
Fixes BMC#23475
Danny Jeongseok Seo [Fri, 7 Oct 2011 19:31:03 +0000 (21:31 +0200)]
service: Call __connman_service_disconnect from remove_service
Just calling __connman_network_disconnect() means missing proxy and
ipconfig clearance.
Patrik Flykt [Fri, 7 Oct 2011 09:35:41 +0000 (12:35 +0300)]
ipconfig: Show IPv4.Configuration properties for FIXED
Show IPv4.Configuration properties also for
CONNMAN_IPCONFIG_METHOD_FIXED configuration method.
Fixes BMC#23444
Patrik Flykt [Thu, 6 Oct 2011 13:08:10 +0000 (16:08 +0300)]
configure: Print errors if VPN binaries are not found
When a VPN has been enabled and its binary is not given
with '--with-<VPN>=PROGRAM', make an additional check
whether AC_PATH_PROG found the binary in question.
Marcel Holtmann [Thu, 6 Oct 2011 19:23:16 +0000 (12:23 -0700)]
log: Add support for backtrace symbole resolving
Marcel Holtmann [Thu, 6 Oct 2011 19:22:39 +0000 (12:22 -0700)]
build: Link session unit test with dynamic loader library
Alok Barsode [Thu, 6 Oct 2011 11:00:39 +0000 (14:00 +0300)]
technology: remove the pending_timeout source with g_source_remove
Alok Barsode [Thu, 6 Oct 2011 11:00:38 +0000 (14:00 +0300)]
device: Disconnect a connected network before disabling the device
When disabling a device, disconnect the device's connected network,
if there are any.
Fixes BCM#23165.
Samuel Ortiz [Thu, 6 Oct 2011 10:28:04 +0000 (12:28 +0200)]
AUTHORS: Mention Danny's contributions
Danny Jeongseok Seo [Thu, 6 Oct 2011 03:59:29 +0000 (12:59 +0900)]
device: Remove connections counter
The device connection counter is only used by the post scan auto connection
logic, and the connection status is handled by the autoconnection service
routine itself (__connman_service_auto_connect()).
Danny Jeongseok Seo [Thu, 6 Oct 2011 02:07:34 +0000 (11:07 +0900)]
device: Remove redundant connection numbers check
__connman_service_auto_connect() already checks for service state, so there
is no need to look at the device being connected or not.
Patrik Flykt [Fri, 30 Sep 2011 09:06:30 +0000 (12:06 +0300)]
service: Add interface name matching in __connman_service_lookup().
Fixes BMC#23419
Samuel Ortiz [Wed, 5 Oct 2011 09:46:08 +0000 (11:46 +0200)]
AUTHORS: Mention Philippe's contributions
Philippe Nunes [Fri, 30 Sep 2011 14:08:05 +0000 (16:08 +0200)]
ofono: Create the cellular network only when attached to the PS network
3G auto-connection may fail as the cellular network service may not be
ready to connect.
With this patch, the cellular network service should be exposed only after
PS network attachment is done.
Tomasz Bursztyka [Mon, 3 Oct 2011 07:43:23 +0000 (10:43 +0300)]
wispr: Setting the relevant service property when a login is required
When a wispr redirect occurs we set login required to the service
Fixes BMC#23424
Daniel Wagner [Thu, 29 Sep 2011 14:39:04 +0000 (16:39 +0200)]
session: Set dirty flag in de/select service function
Daniel Wagner [Thu, 29 Sep 2011 14:35:24 +0000 (16:35 +0200)]
session: Remove double assignment
The dirty flag is already cleared in append_notify()
Daniel Wagner [Fri, 30 Sep 2011 06:31:08 +0000 (08:31 +0200)]
session: Handle bearers update correctly
We cannot create a new service_list in populate_service_list
while we still hold pointers to entries (session->entry).
deselect_and_disconnect() would then operate on bogus pointers
leading to memory corruption
Fixes BMC#23325
Daniel Wagner [Tue, 27 Sep 2011 16:18:46 +0000 (18:18 +0200)]
session: Rename update_allowed_bearers()
Daniel Wagner [Tue, 27 Sep 2011 16:24:50 +0000 (18:24 +0200)]
session: Move update_allowed_bearers() up
Alok Barsode [Tue, 27 Sep 2011 08:47:17 +0000 (11:47 +0300)]
technology: Register a rfkilled technology in technology_add_rfkill
If a technology was rfkilled before connman ran, we need to register
it. If such tech was enabled, technology->device_list will be empty.
We save the state, rfkill unblock the type and exit. When the devices
get unblocked, they are automatically enabled since we saved the enable
state.
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:49 +0000 (14:43 +0300)]
tools: Fixed double-free error possibility into iptables-test
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:48 +0000 (14:43 +0300)]
iptables: Copyright year update
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:47 +0000 (14:43 +0300)]
iptables: Tiny indentation fix
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:46 +0000 (14:43 +0300)]
iptables: Adding capability to load necessary modules
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:45 +0000 (14:43 +0300)]
iptables: Rule deletion capability added
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:44 +0000 (14:43 +0300)]
iptables: Factorization of target reference update
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:43 +0000 (14:43 +0300)]
iptables: Refactoring how jumps are handled
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:42 +0000 (14:43 +0300)]
iptables: Fixing target reference update
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:41 +0000 (14:43 +0300)]
iptables: Renaming add into append
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:40 +0000 (14:43 +0300)]
iptables: Adding capability to insert a rule
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:39 +0000 (14:43 +0300)]
iptables: Code factorization for rule inclusion
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:38 +0000 (14:43 +0300)]
iptables: Fix memory leak
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:37 +0000 (14:43 +0300)]
iptables: Small indentation fix
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:36 +0000 (14:43 +0300)]
iptables: Adding capability to delete user-defined chains
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:35 +0000 (14:43 +0300)]
iptables: Added helper function to remove table entry
Tomasz Bursztyka [Fri, 23 Sep 2011 11:43:34 +0000 (14:43 +0300)]
iptables: find_chain_head/find_chain_tail code factorization
Jukka Rissanen [Wed, 14 Sep 2011 12:34:59 +0000 (15:34 +0300)]
provider: Remove provider if there is an error when connecting
If vpn service cannot be started for some reason, we must
remove the provider so that user can reconnect to it later.
Jukka Rissanen [Wed, 14 Sep 2011 12:32:53 +0000 (15:32 +0300)]
provider: Fix memory leak
Provider name is already allocated in connman_provider_get() so we
must deallocate it before setting it again.
Daniel Wagner [Thu, 22 Sep 2011 14:59:55 +0000 (16:59 +0200)]
Use 'cellular' instead of '3g' as bearer name
Fixes BMC#23324
Daniel Wagner [Wed, 21 Sep 2011 08:53:12 +0000 (10:53 +0200)]
session: Move info->online update code to session_changed()
service_state_changed() should only update the service
states. session_changed() takes care of all session settings.
Daniel Wagner [Wed, 21 Sep 2011 08:35:25 +0000 (10:35 +0200)]
session: Remove unnecessary deselect_service
Because in session_changed() we take care of this now.
Daniel Wagner [Tue, 20 Sep 2011 15:05:32 +0000 (17:05 +0200)]
session: Simplefy session_changed()
Since we are tracking the reason code now also in
the deslect_and_disconnect() function we can rely
on the correct handling there. Also no need to parse the
reason code again.
Daniel Wagner [Tue, 20 Sep 2011 15:21:07 +0000 (17:21 +0200)]
session: Add reason code to deselect_and_disconnect()
Daniel Wagner [Tue, 20 Sep 2011 14:37:42 +0000 (16:37 +0200)]
session: Add debug messages
Daniel Wagner [Tue, 20 Sep 2011 14:36:42 +0000 (16:36 +0200)]
session: Add CONNMAN_SESSION_REASON_DISCONNECT
Maybe the reason code should be renamed to state
Daniel Wagner [Tue, 20 Sep 2011 14:27:06 +0000 (16:27 +0200)]
session: Pass session_info pointer into functions
Daniel Wagner [Tue, 20 Sep 2011 14:24:01 +0000 (16:24 +0200)]
session: Remove deselect_previous_service()
The deselect_and_disconnect() function should be called
from session_changed() and not in the select_and_connect()
code path. All disconnect and connect decision are
initiate from session_changed(). This makes the code flow more
symetric.
Note that we break here a Online -> Offline transision, we are
going to fix this later again.
Daniel Wagner [Tue, 20 Sep 2011 13:03:31 +0000 (15:03 +0200)]
session: Rename test_and_disconnect
To deselect_and_disconnect in order to match more to the
select_and_connect function.
Daniel Wagner [Tue, 20 Sep 2011 12:47:13 +0000 (14:47 +0200)]
session: Track info not the session for ecall
This is a prepartion step for the next few patches.
Instead of passing the session pointer into functions
we are going to pass in only the session_info pointer.
Daniel Wagner [Tue, 20 Sep 2011 15:26:18 +0000 (17:26 +0200)]
session: Disconnect free ride session
In case where we get offline
Fixes BMC#22837
Daniel Wagner [Mon, 19 Sep 2011 12:53:34 +0000 (14:53 +0200)]
session: Refactor select_service
Split the online/offline code path with moving the corresponding
code into two new functions.
Daniel Wagner [Mon, 19 Sep 2011 11:50:09 +0000 (13:50 +0200)]
session: Fix null pointer derefencing
When an emergency session sets back the EmergencyCall
property, all other session are notified. If a session
previously was not connected (online == FALSE) no
entry (services) was selected. We should not derefency
a NULL pointer in this case.
Fixes BMC#22880
Daniel Wagner [Thu, 22 Sep 2011 13:45:11 +0000 (15:45 +0200)]
service: Don't iterate over changing sequence
__connman_service_disconnect_all() should not iterate over
the service_list directly because the ordering of the
services can change when disconnecting a service (e.g. default
service). The iterator might be invalid after a
__connman_service_disconnect() call.
It's better to iterate over a temporary list.
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:35 +0000 (15:39 +0300)]
todo: Added details to personnal firewall task
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:34 +0000 (15:39 +0300)]
tools: Copyright year update in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:33 +0000 (15:39 +0300)]
tools: Tiny indentation fix in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:32 +0000 (15:39 +0300)]
tools: Adding capability to load necessary modules into iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:31 +0000 (15:39 +0300)]
tools: Rule deletion capability added to iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:30 +0000 (15:39 +0300)]
tools: Factorization of target reference update in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:29 +0000 (15:39 +0300)]
tools: Refactoring how jumps are handled in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:28 +0000 (15:39 +0300)]
tools: Fixing target reference update in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:27 +0000 (15:39 +0300)]
tools: Renaming add into append into iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:26 +0000 (15:39 +0300)]
tools: Adding capability to insert a rule in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:25 +0000 (15:39 +0300)]
tools: Code factorization for rule inclusion in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:24 +0000 (15:39 +0300)]
tools: Fix memory leak in iptables-test.c
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:23 +0000 (15:39 +0300)]
tools: in, out, source and destination support in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:22 +0000 (15:39 +0300)]
tools: Small indentation fix in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:21 +0000 (15:39 +0300)]
tools: iptables-test delete a chain if only it is already flushed.
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:20 +0000 (15:39 +0300)]
tools: Added helper function to remove table entry in iptables-test
Tomasz Bursztyka [Thu, 22 Sep 2011 12:39:19 +0000 (15:39 +0300)]
tools: find_chain_head/find_chain_tail code factorization in iptables-test
Daniel Wagner [Wed, 21 Sep 2011 09:33:21 +0000 (11:33 +0200)]
main: Cleanup ipconfig after service
Since service.c depends on ipconfig.c, __connman_service_cleanup()
should be called before __connman_ipconfig_cleanup().
connmand[4787]: src/ipconfig.c:__connman_ipconfig_cleanup()
connmand[4787]: em1 {remove} index 2
connmand[4787]: wlan0 {remove} index 3
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b0460 refcount 1
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b04c0 refcount 1
connmand[4787]: hso0 {remove} index 4
connmand[4787]: src/service.c:__connman_service_cleanup()
connmand[4787]: src/service.c:service_free() service 0x6ae690
connmand[4787]: Service state machine inconsistency detected.
connmand[4787]: src/service.c:stats_stop() service 0x6ae690
connmand[4787]: src/service.c:services_changed()
connmand[4787]: src/ipconfig.c:connman_ipconfig_unref() ipconfig 0x6b0460 refcount 0
connmand[4787]: src/ipconfig.c:__connman_ipconfig_disable() ipconfig 0x6b0460
Breakpoint 1, g_log (log_domain=0x34b78adc06 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=
0x34b78b6710 "%s: assertion `%s' failed") at gmessages.c:573
573 {
(gdb) bt
#0 g_log (log_domain=0x34b78adc06 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=
0x34b78b6710 "%s: assertion `%s' failed") at gmessages.c:573
#1 0x00000034b7831d35 in g_hash_table_lookup (hash_table=0x0, key=0x3) at ghash.c:897
#2 0x000000000044e9a4 in __connman_ipconfig_disable (ipconfig=0x6b0460) at src/ipconfig.c:1678
#3 0x000000000044de9d in connman_ipconfig_unref (ipconfig=0x6b0460) at src/ipconfig.c:1279
#4 0x0000000000440750 in service_free (user_data=0x6ae690) at src/service.c:3416
#5 0x00000034b785aac8 in real_node_free (node=0x6a2ed0, seq=0x6a3de0) at gsequence.c:1755
#6 0x00000034b785aaa2 in real_node_free (node=0x6a2a70, seq=0x6a3de0) at gsequence.c:1751
#7 0x00000034b785ae39 in g_sequence_free (seq=0x6a3de0) at gsequence.c:283
#8 0x0000000000444b53 in __connman_service_cleanup () at src/service.c:5617
#9 0x000000000042fb75 in main (argc=1, argv=0x7fffffffe678) at src/main.c:401
Marcel Holtmann [Mon, 19 Sep 2011 11:36:24 +0000 (13:36 +0200)]
ntp: Add skeleton for Simple NTP support
Daniel Wagner [Mon, 19 Sep 2011 08:47:38 +0000 (10:47 +0200)]
AUTHORS: Mention Jeff's contributions
Daniel Wagner [Wed, 14 Sep 2011 13:54:38 +0000 (15:54 +0200)]
session: Only disconnect online sevices
Fixes BMC#22827
Daniel Wagner [Wed, 14 Sep 2011 13:16:34 +0000 (15:16 +0200)]
manager: Only defer result when enabling session mode
When leaving the session mode we might be still online
so we should not wait for entering the idle state.
Daniel Wagner [Wed, 24 Aug 2011 16:11:27 +0000 (18:11 +0200)]
session: Only select new service if not in progress
Daniel Wagner [Thu, 25 Aug 2011 08:12:15 +0000 (10:12 +0200)]
session: Refactor select_and_connect()
Make this function more readable.
Jeff Zheng [Wed, 14 Sep 2011 07:30:01 +0000 (15:30 +0800)]
test-session: Add multiple session support
Add an new parameter session_name in test-session so all session
operations are based on app_path and session_name
Marcel Holtmann [Tue, 13 Sep 2011 10:25:20 +0000 (12:25 +0200)]
wispr: Add magic "wispr" keyword to user agent
Without the "wispr" keyword in the user agent string, some WISPr 1.0
hotspots (like T-Mobile and Telekom) are not responding with the
proper WISPr XML properties.
Marcel Holtmann [Tue, 13 Sep 2011 10:00:59 +0000 (12:00 +0200)]
wispr: Use different status requests for IPv4 and IPv6
Marcel Holtmann [Tue, 13 Sep 2011 09:35:28 +0000 (11:35 +0200)]
build: Add OpenVPN script to ignore list
Marcel Holtmann [Tue, 13 Sep 2011 09:34:44 +0000 (11:34 +0200)]
6to4: Use ConnMan status URL for checking connectivity