Age | Commit message (Collapse) | Author | Files | Lines |
|
Load and save TimeUpdates and TimezoneUpdates Clock API properties.
Clock API Timeservers property is already handled by the timeserver
code.
Fixes BMC#25988
|
|
If the time update method is manual, no NTP time servers are returned.
|
|
|
|
|
|
See RFC 3315 Chapter 18.1.2. Creation and Transmission of Confirm
Messages for details
|
|
This is required so that we can decide whether to send CONFIRM
or SOLICITATION message to server.
|
|
This is needed when implementing CONFIRM message decision logic.
|
|
MRD (Maximum Retransmission Duration) is the total duration of
of retransmission of the message. This will be used when sending
Confirm message.
|
|
|
|
If tethering is active when device is removed, then shutdown
tethering cleanly so that tether interface and bridge are
properly removed.
|
|
Currently tethering does not support IPv6 so its listener is
not created and is null. This will cause following output
connmand[18363]: src/dnsproxy.c:destroy_tcp_listener() index 31
(connmand:18363): GLib-CRITICAL **: g_io_channel_unref: assertion `channel != NULL' failed
connmand[18363]: src/dnsproxy.c:destroy_udp_listener() index 31
(connmand:18363): GLib-CRITICAL **: g_io_channel_unref: assertion `channel != NULL' failed
|
|
|
|
This came from Daniel when running ConnMan using valgrind
==20635== Conditional jump or move depends on uninitialised value(s)
==20635== at 0x49ECF4: get_name (dnsproxy.c:867)
==20635== by 0x49F3F7: parse_response (dnsproxy.c:1096)
==20635== by 0x49FD40: cache_update (dnsproxy.c:1410)
==20635== by 0x4A0FF3: forward_dns_reply (dnsproxy.c:1803)
==20635== by 0x4A15D9: udp_server_event (dnsproxy.c:1912)
==20635== by 0x3331E47A54: g_main_context_dispatch (gmain.c:2715)
==20635== by 0x3331E47D87: g_main_context_iterate.isra.24 (gmain.c:3290)
==20635== by 0x3331E48181: g_main_loop_run (gmain.c:3484)
==20635== by 0x44B600: main (main.c:670)
|
|
The received IP address was not freed.
|
|
Make sure we do not create a new transaction id for a message
when it needs to be retransmitted.
|
|
|
|
|
|
|
|
If user has disabled dnsproxy with -r option, then fallback to
user specified nameservers instead of using the Google one.
|
|
The listener_table can be NULL if we have started connman with -r
option. Because we return < 0 value to caller in this case,
the caller, e.g. the tethering code, has a possibility to change
its functionality, e.g. the tethering code can fall back to some
other DNS servers.
|
|
If the user has enabled persistent tethering mode in main.conf, then
try to activate tethering when technology is re-enabled, or we are
returning from offline mode, or after the device has rebooted.
|
|
|
|
|
|
|
|
The __connman_technology_add_interface() needs to be called
after we have created the technology which is done by rtnl->newlink()
callback. If this is done the old way, the ethernet devices
will not get their interfaces set properly.
|
|
|
|
|
|
|
|
The UID is fetched via org.freedesktop.DBus.GetConnectionUnixUser D-Bus
method call.
|
|
The helper struct will be used by a new dbus function which uses
a different callback signature. Therefore, we need to use a
void pointer for storing the callback.
|
|
Do not handle the small alloc failures because glib will abort
when memory is tight anyway.
|
|
Streamline the callback typedefs with the rest of the code.
|
|
Match all is expressed via CONNMAN_SERVICE_TYPE_UNKNOWN. An empty
list means no match.
|
|
Make sure we never try to cleanup when the hash table has
been destroyed. In this case all resources have been
freed already.
|
|
By calling __connman_session_cleanup() before __connman_plugin_cleanup()
we make sure all resources allocated can released in the correct order.
The code assumes after an successful allocation, free will always work
and therefore we double free allocated memory.
|
|
This is related to fix d7d8f8bdb7c1ddae098893e10608fcb42034a9ff
We did not set the state to idle after disconnecting the
associating service.
Fixes BMC#25981
|
|
We must copy the response buffer before fixing the packet length.
Otherwise the packet length will go wrong if the request contained
EDNS0 data.
|
|
We were not handling client sent partial TCP messages correctly.
This meant that ConnMan would block if the client using TCP would
not send full DNS request.
When a new TCP client connects in tcp_listener_event(), a new
TCP channel is created to handle a partial client message if
all of the message is not already available. The partial TCP
message is patched together in tcp_client_event(). When all of
the TCP message has been received, the message is processed in
read_tcp_data(). The client has to send the DNS request within two
seconds before the connection is closed by ConnMan.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We add IPv6 loopback address to resolv.conf if we have created
an IPv6 listening socket to port 53. Also remove ::1 from resolv.conf
when deleting the proxy.
|
|
Do not bind to ANY address so that other DNS server applications
can be used on the same host for interfaces that are not managed
by ConnMan. This means that we only create DNS listeners on loopback
and tethering interfaces.
|
|
The returned address is used when we need to have a listening
socket tied to specific interface and address, and do not want to
bind to any address.
|
|
If we receive nameservers from vpnd we must set them in provider.
The connman_provider_set_nameservers() function needs changes
because we get the nameservers as an array, it makes no sense to
convert the array to string and then back to array.
|
|
If we are trying to connect a service and there is another
service connecting, then we disconnect the pending service
and connect the new one.
Fixes BMC#25981
|
|
Highly inspired by:
https://git.kernel.org/cgit/linux/kernel/git/shemminger/bridge-utils.git/commit/?id=5eebb7f9288b7881ffb929b1fd494fe3ac3be27d
As Russel puts it in his commit message for bridge-utils:
Linux 3.8 has a header, include/uapi/linux/if_bridge.h that uses a
struct in6_addr but doesn't define it. The trivial seeming fix of
including the header that does define it causes more problems. The
problem was discussed on mailing lists in January 2013. The final
suggestion I found was here:
http://www.redhat.com/archives/libvir-list/2013-January/msg01253.html
This is intended to implement that suggestion.
This changeset transplants this trivial fix to connman.
|