History log of /system/connectivity/shill/dns_server_proxy.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9d55d3b68f1bbd988d4d7352124096fad5b547a3 01-Oct-2015 Samuel Tan <samueltan@google.com> shill: run dnsmasq in system group

Pass the --group=system command line option to dnsmasq
so that it runs in the system group.

While there, add a TODO for starting this process with minijail.

BUG: 24572800
Change-Id: I7f28951d8423857f0ffca38781a183e142cddfec
TEST: shill compiles and dnsmasq runs successfully in Android.
/system/connectivity/shill/dns_server_proxy.cc
eb31b05d14189c7012177412df19fba64b177d11 01-Oct-2015 Peter Qiu <zqiu@google.com> DNSServerProxy: run dnsmasq in foreground mode

When dnsmasq is running in background mode, it will fork a new process
to run the daemon. With this, shill is not able to track/kill the
real dnsmasq process.

Fix it by running it in foreground mode.

Bug: 24543278
TEST=Verify from logcat that shill can track/kill the dnsmasq process

Change-Id: I8413169441121649178ecef284eb9b97c73aca3c
/system/connectivity/shill/dns_server_proxy.cc
d5d3482e261beaee1a13622143d4abf728165fb9 01-Oct-2015 Peter Qiu <zqiu@google.com> Support DNS server proxy on Android

There is no support for /etc/resolv.conf on Android, so a DNS
server proxy is needed to handle/redirect client DNS requests.
dnsmasq will be used to setup as a DNS server proxy, and it will
run under the "system" user.

Also add a special handling for the case when DHCP doesn't provide
DNS server addresses. We will default to use Google's DNS server
addresses in this case.

Not sure why we never had a problem with this scenario on Chrome OS,
so make this handling Android specific for now.

TODO: update connection_unittest.cc for Android.

Bug: 24543278
TEST=Manual test on dragonboard (ping to well known hosts)

Change-Id: I4573546a9987b1148a9c0e6157155a232be4f168
/system/connectivity/shill/dns_server_proxy.cc