Hi All
In our testing of new connman (version 1.29) we do see following error
print sometimes (This is happening very rarely and I do not have any easy
way to reproduce it at will):
2015-07-17 01:35:20.00 daemon.err connmand[321]: Invalid packet
timestamp from time server
After this print we
Setting the state of the disconnected VPN service
to IDLE instead of leaving it to DISCONNECTED.
Now it behaves the same way as the service that is
disconnected by ConnMan daemon.
Reported by Jaakko Hannikainen.
---
src/provider.c | 4
1 file changed, 4 insertions(+)
diff --git
If the user cancelled the agent request, then we might
have NULL reply in the input handler. If we try to pass
this kind of reply to dbus library, it will normally
just abort. So catch this and do not pass NULL message
to dbus_message_get_type().
This affects openconnect, l2tp and pptp input
We need to give the original DBus sender to connman-vpnd
when connmand is proxying the connect request. Otherwise
the possible agent request goes to default vpn agent
instead of the correct agent that initiated the connect
request.
Reported by Jaakko Hannikainen.
---
include/provider.h | 3 ++-
This fixes following scenario:
- user tries to connect to a VPN
- VPN requests some additional data via agent interface
- user cancels the agent request
- VPN connection is terminated
- VPN service goes back to idle
- user tries to connect to a VPN again
- VPN does not ask anything from the user
If agent API user (in this case connman-vpnd) has not set
the memory allocation callback (context_ref pointer), then
the requst-driver pointer will be NULL and we will get
a segfault in this usage scenario:
$ connmanctl
connmanctl vpnagent on
connmanctl connect vpn_service
VPN Agent RequestInput
This is a special case that happens if we for example stop
ConnMan while there is a pending DNS resolver going on.
Fixing this minor memory leak helps to catch the more
serious leaks in ConnMan.
Reported by Jaakko Hannikainen.
---
vpn/vpn-provider.c | 18 ++
1 file changed, 18
Hi,
these patches fix multiple issues in VPN connectivity.
Thanks to Jaakko Hannikainen for finding these issues.
Patch 1 fixes a crash issue in connman-vpnd. User
is able to cause segfault via connmanctl.
Another serious issue is found in patch 2 where
dbus library will abort if given invalid
Previously when querying the SSID from client through the agent api,
the request was sent to default agent rather than sender, as
get_dbus_sender returns NULL if service-pending is NULL, causing a
request to the default agent.
---
src/service.c | 5 ++---
1 file changed, 2 insertions(+), 3