History log of /system/netd/server/TetherController.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
33fe73272684d9be6c124d67662e04d16045f8ff 05-Jan-2016 Erik Kline <ek@google.com> Merge "Revert "Tell dnsmasq not to start wildcard sockets""
a3ec3703ab1377d0c82381c61566701ae21fcfc7 05-Jan-2016 Erik Kline <ek@google.com> Revert "Tell dnsmasq not to start wildcard sockets"

This reverts commit f1dfabed0a9b6ee9c37b64db3bbcb656281d4771.

The 3.4 kernel does not have SO_REUSEPORT functionality but the
headers #define it, so dnsmasq tries to use it and setsockopt
duly fails.

This is not a problem on 3.10 and later kernels, but reverting anyway.

Bug: 9580643
Bug: 26301652
Change-Id: I2322a80caa76ee4b7bb290f1665081b17d86fd43
/system/netd/server/TetherController.cpp
3000ca535156a189f87de7e08d89fb98872c4068 17-Dec-2015 Erik Kline <ek@google.com> Merge "Tell dnsmasq not to start wildcard sockets"
c2841283740e5026d6ee54ebe87b202c93c26d93 25-Nov-2015 Lorenzo Colitti <lorenzo@google.com> Support scoped addresses as tethered DNS servers.

Bug: 9580643
Change-Id: Id086ff9194097fc1e0ab8e2e58e6ff843303f051
/system/netd/server/TetherController.cpp
f1dfabed0a9b6ee9c37b64db3bbcb656281d4771 13-Nov-2015 Erik Kline <ek@google.com> Tell dnsmasq not to start wildcard sockets

Bug: 9580643
Change-Id: I8c95c15970d6ed72dc44cec42c4eb78e18ed46ba
/system/netd/server/TetherController.cpp
f90a8b92eaf5e74979f589f1f6d3fa403dc26680 13-Nov-2015 Erik Kline <ek@google.com> Pass both IPv4 and IPv6 nameservers to dnsmasq

Additionally, store and return a list of strings for
DNS forwarders, since that's what is most useful. These
strings are guaranteed to be valid IP string literals by
virtue of validation on input.

Bug: 9580643
Change-Id: I4fbaf19835055b12e38d585c0bfba0d2b18b9717
/system/netd/server/TetherController.cpp
13fa01fab904679970e4b95357f8eed7327b6d49 12-Nov-2015 Erik Kline <ek@google.com> Change dnsmasq input command argument separator

Heretofore netd issued commands to dnsmasq over a stdin channel
using ":" as an argument separator. This make it very complicated
to issue commands that involve IPv6 addresses.

This changes the separator from ":" to "|".

Additionally:

- Pass DHCP range string literals through to startTethering(),
still performing string literal to IPv4 address validation.

Bug: 9580643
Change-Id: I210daf311a4c3d84dae3ed054b92c9fa399a791f
/system/netd/server/TetherController.cpp
5407e14fd3d81bb76f94221b4a359faa2806de65 16-Mar-2015 Dan Albert <danalbert@google.com> Revert "Revert "Update for libbase.""

This reverts commit 4a0ab5ff4a87cfc4a987da99546b01e44875a2e5.

(cherry picked from commit 3e87c785434fdfed2fb00496cb391c411a426bdd)

Change-Id: I042f485f3cc84206766298853491ddd26dbba13f
/system/netd/server/TetherController.cpp
afd4037d7d7802d2ecc0494901ac17134a27aa1f 16-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Forgot this in merge resolution.

Change-Id: Ieb26ec5fc333743b86d414ee558c978334647853
/system/netd/server/TetherController.cpp
e298ded6ade9744f2a79cae045b5c324886262f4 16-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> resolved conflicts for merge of 6066d418 to master

Change-Id: I2aa9721365e96c363648dd8e9e15718ed50e3c12
4a0ab5ff4a87cfc4a987da99546b01e44875a2e5 16-Mar-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Update for libbase."

Breaks internal master.

This reverts commit b67219a71d1d896bcb34c4a7a797824b88515b2c.

Change-Id: I43145f0724ad2d669b65d20b6fd6ccc44b8f0a4f
/system/netd/server/TetherController.cpp
a4614fe5bfaafd0ff6be60ddb6fd135f99f5a5a5 16-Mar-2015 Vinit Deshpande <vinitd@google.com> Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'

Change-Id: I51337014e2851f47dd5e183c4bfdf39bafa59942
b67219a71d1d896bcb34c4a7a797824b88515b2c 14-Mar-2015 Dan Albert <danalbert@google.com> Update for libbase.

StringPrintf and the string based file I/O are being moved to libbase.

Change-Id: I765d9e53f65a76d318d9d0d9503403fc092254d5
/system/netd/server/TetherController.cpp
799625cd5b0a2191632f5b042bf9ff559c18a848 24-Feb-2015 Lorenzo Colitti <lorenzo@google.com> Changes to forwarding for wifi calling.

1. Support multiple forwarding requests. Keep track of all
requests inside TetherController, and enable system
forwarding any time there is more than one active request.
2. Enable both IPv4 and IPv6 forwarding.

Bug: 19500693
Change-Id: Ic81bae7b399bc6ebf6a63de4bcd341885638dfa4
/system/netd/server/TetherController.cpp
d161406141619f84d94b2ecee618569cbbabcb30 03-Feb-2015 Elliott Hughes <enh@google.com> Switch netd over to <utils/file.h>.

Change-Id: Id79961cc4feee1c307dad06d64e3f4ffe060c4da
/system/netd/server/TetherController.cpp
53ea9cadf6cc5f8be1c16b5b6b660cd7366fd3f0 31-Jan-2015 Nick Kralevich <nnk@google.com> Avoid leaking file descriptors

Add O_CLOEXEC on open() calls, and SOCK_CLOEXEC on socket calls.
This avoids leaking file descriptors across execs.

Addresses the following SELinux denial:

audit(1422740213.283:8): avc: denied { read write } for pid=2597 comm="clatd" path="socket:[6709]" dev="sockfs" ino=6709 scontext=u:r:clatd:s0 tcontext=u:r:netd:s0 tclass=netlink_socket

and allows the removal of some other SELinux rules which were
inappropriately added because of leaking file descriptors.

Change-Id: I9c180488ea1969d610e488f967a7276a672bb477
/system/netd/server/TetherController.cpp
a9d791f48e3472400ffad73dca88c28fb2f7aaa7 27-Apr-2012 Jesper Hansson <jesper.hansson@sonymobile.com> Plug some leaks

Change-Id: I4268ea32cfb0ebd6ce5711e30865750dffa94e92
/system/netd/server/TetherController.cpp
667c477133318e4779819d34364194c8e5eaf19c 26-Aug-2014 Lorenzo Colitti <lorenzo@google.com> Add a socket mark parameter to tethering DNS commands.

This allows the framework to pass down to dnsmasq the socket mark
to use for DNS queries.

Bug: 16357676
Change-Id: I8933b6de198a92c2aaf0291931ace8966ddba275
/system/netd/server/TetherController.cpp
87475a1471373b72ffc9f81f17dfd7884723fa86 16-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Fix WiFi-Direct and Tethering.

A LocalNetwork object now always exists in the NetworkController, with a fixed
NetId that's guaranteed not to collide with NetIds created by the framework.

When routes are added on an interface tracked by the LocalNetwork, they are
added to a fixed "local_network" table.

When NAT is enabled, we add a special "iif -> oif" tethering rule.

Bug: 15413694
Bug: 15413741

Change-Id: I36effc438d5ac193a77174493bf196cb68a5b97a
/system/netd/server/TetherController.cpp
6a773534e7f8541f221f27fb8063af079b1a5936 11-Jul-2014 Sreeram Ramachandran <sreeram@google.com> Fix tethering in the case of a regular upstream connection.

Fixes tethering via Ethernet, Bluetooth and WiFi (hotspot).

Tethering when the upstream has a DUN-specific APN is likely still broken
(untested).

For now, assign a fixed NetId (a hack) until we can change the framework to
create a valid NetworkAgent and all that jazz.

Bug: 15968336
Bug: 14988803
Change-Id: Idcf4d492d9329a9c87913e27be6dd835a792bea2
/system/netd/server/TetherController.cpp
69261cb65186e27dfbdc1e3eec796437f9968ff9 20-Jun-2014 JP Abgrall <jpa@google.com> server: check interface names in RPC arguments for validity

This patch introduces a method isIfaceName that checks interface
names from various RPCs for validity before e.g. using them as
part of iptables arguments or in filenames.

All of these RPC calls can only be called from applications
with at least the CONNECTIVITY_INTERNAL permission in recent
Android versions, so the impact of the missing checks luckily
isn't very high.

Orig-Author: Jann Horn <jann@thejh.net>

Change-Id: I80df8d745a3de99ad02d6649f0d10562c81f6b98
Signed-off-by: JP Abgrall <jpa@google.com>
/system/netd/server/TetherController.cpp
56afacf838d24cf8e54d2cf0d8ab9182ab704125 29-May-2014 Sreeram Ramachandran <sreeram@google.com> Turn on C++11 and make all warnings into errors.

As a consequence:
+ Comment out the names of all unused parameters.
+ Remove all unused variables and functions.

In server/Android.mk, there are a couple of non-trivial changes:
+ Use libcxx instead of stlport. This is needed to fix a bunch of errors due to
specifying -std=c++11.
+ LOCAL_SHARED_LIBRARIES is sorted. Technically, the order in which libraries
are listed has an effect on linking, but nobody should be doing such brittle
things anyway.

Change-Id: I0aff5b745e04609da23144d0e8be4c5694321b8b
/system/netd/server/TetherController.cpp
f4cfad361175a7f9ccf4d41e76a9b289c3c3da22 21-May-2014 Sreeram Ramachandran <sreeram@google.com> Move netd_client into netd.

Change-Id: Ie4b6b303225c93f2448a503d6ea9cebb552cbad5
/system/netd/server/TetherController.cpp