Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I13526fbf80296a79be15548fc226a308941ac9ec
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
|
|
Change-Id: I174854914d9fd06a813270b57d1f7bc2bac63c6a
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
|
|
Change-Id: If16e739fde7e9d736c66015ab1efa982e49d3482
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
|
|
- Fixed NTP service's DNS resolving failure in Hive project.
- Do not turn "wlan0" interface down in cleanup_devices().
- Set resource limits "RLIMIT_NOFILE" for a process.
- After appending a file, fflush and fsync all modified in-core data of the file.
Change-Id: I2767b3302d6204d066fe2075027828ff209d0ee0
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: I2958446c35966d9ed72df0120b80561be7d89f54
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
|
|
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17
|
|
Change-Id: Ifd271983fdd1752bad4840f29964f5c103738aba
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
|
|
|
|
Service and network code use only interface indexes. Convert the rest of
the code using interface names to use interface indexes instead. The files
affected are:
include/resolver.h
src/connman.h
src/dnsproxy.c
src/resolver.c
src/rtnl.c
src/service.c
src/tethering.c
As the network and service code used interface indexes, the interface
name had to be looked up via a SIOCGIFNAME ioctl when needed. If a service
was removed due to the interface and network being taken down, the lookup
wouldn't work. This caused DNS servers to be left behind with broken sockets
since removing the DNS servers was done using the interface name.
|
|
|
|
The name server refresh should be only done for IPv6
nameservers.
|
|
Convert usage of g_slist_append() to g_slist_prepend() where
appropriate. gdbus, dnsproxy, resolver, rtnl, session and session
unit test have ordering requirements and thus not touched.
|
|
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.
|
|
|
|
Implemented feature from RFC 6106 section
'5.1. Recursive DNS Server Option':
"Lifetime 32-bit unsigned integer.
...
Hosts MAY send a Router Solicitation to ensure
the RDNSS information is fresh before the interval expires."
Host will send RS when a certain threshold of RDNSS lifetime is reached.
Values which can be adjusted:
- lifetime threshold - set to 80% from lifetime
- number of retries in case RA is not received - set to 0
- time between retries, in case RA is not received - set to 3 seconds
|
|
When connman is restarted, DNS servers are removed and added again
with function __connman_resolver_redo_servers(). While removing a
DNS entry, one should also remove the resolver timer registered for it.
Not doing so, causes the timeout handler resolver_expire_cb to fire
without being explicitly set.
|
|
|
|
|
|
|
|
|
|
This fix is for following scenario:
- New interface is coming up.
- There is radvd in the connected network and it is
advertising IPv6 addresses and DNS servers.
- Kernel receives router advertisement and picks up the DNS
server information which is then routed via netlink to
rtnl.c:rtnl_newnduseropt() which then creates DNS listener.
- Kernel activates DAD (duplicate address detection).
- As the DAD takes some time we now have interface up
and it only has link local IPv6 address defined.
- The DNS listener is now using link local source addresses when
sending queries instead of proper autoconfigured addresses.
- When DAD is finished, the interface will have autoconfigured
addresses assigned and corresponding netlink message will cause
function rtnl.c:process_newaddr() to be called.
- If all this happens, then we re-create DNS listener
in dnsproxy.c so that listener will have a proper
(autoconfigured) source address when sending DNS packets.
|
|
Append fallback nameservers, if any. Remove functions for adding
removing public nameservers since they are not used anymore.
|
|
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
|
|
|
|
IPv6 autoconfigured nameservers can be added to resolver
via netlink messages in rtnl.c. Because of this they are
not seen in service object so we need to get those auto
added nameserver to be added in service.c so that
service can show them to user if necessary.
Fixes BMC#24196
|
|
The _GNU_SOURCE needs to be defined so that O_CLOEXEC
symbols can be found in system header files.
The source does not compile without the patch in MeeGo 1.2
|
|
Make sure all file descriptor are closed.
|
|
|
|
In case dnsproxy can't create the socket listener we
should fall back to resolv.conf.
Reported by Kalle Valo <kalle.valo@canonical.com>
|
|
Remove resolver module support.
|
|
Domains are appended to entry list just like nameservers, and finally exported
to /etc/resolv.conf. Domains are written to resolv.conf in reverse order so
that the most recently appended domain will have the highest priority.
Search domains should only be useful for resolvfile_resolver and should be
ignored by dnsproxy_resolver.
|
|
We'll need this for servers discovered by RDNSS in IPv6 RA
|
|
|
|
|
|
Many routers block EDNS0 DNS requests and that leads to a non working
DNS resolver for ConnMan. This option can now be removed and have dnsproxy
fallling back to DNS over TCP for big DNS replies.
The optimal solution would be to keep this option and disable it on the fly
for nameserver paths rejecting EDNS0 packets. Unfortunately ConnMan is not
able to detect those paths at the moment and so simply falls back to DNS
over TCP.
|
|
The flush method sends any pending resolving requests. A resolver can
queue requests to some pending list when e.g. it knows ConnMan is offline.
|
|
|
|
Nameservers are appended to a local entry list. The MAXNS most recently
appended nameservers are written to /etc/resolv.conf in reverse order
(the most recently appended entry becomes the primary nameserver).
|
|
|
|
|
|
|
|
|
|
|
|
With EDNS0 enabled it is possible to receive larger DNS responses
over UDP without the requirement for using TCP. Potentially this
could cause interop issues with some weird DNS servers, but it
seems that also other operating systems enable this by default.
|
|
|
|
|
|
|
|
|
|
|
|
|