summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-10-24 06:11:58 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-10-24 06:11:58 +0000
commita237dedb06fa6dba167841e494e3fc0e77f21941 (patch)
tree2d24c746657f5ee9af2c6883090960c0e8b16ba3
parentb5d1077933fef6cd9f61f770db73a98ed54955ff (diff)
parentdb344d353df64c2f7ebdb2ec8d8b236e827fc43b (diff)
downloadnetd-oreo-mr1-security-release.tar.gz
Merge cherrypicks of [3116469, 3116470, 3116074, 3116075, 3116498, 3116499, 3117095, 3115988, 3116845, 3116471, 3116500, 3116573, 3115989, 3116501, 3116076, 3116472] into oc-mr1-releaseandroid-wear-8.1.0_r1android-security-8.1.0_r93android-security-8.1.0_r92android-security-8.1.0_r91android-security-8.1.0_r90android-security-8.1.0_r89android-security-8.1.0_r88android-security-8.1.0_r87android-security-8.1.0_r86android-security-8.1.0_r85android-security-8.1.0_r84android-security-8.1.0_r83android-security-8.1.0_r82android-cts-8.1_r9android-cts-8.1_r8android-cts-8.1_r7android-cts-8.1_r6android-cts-8.1_r5android-cts-8.1_r4android-cts-8.1_r3android-cts-8.1_r25android-cts-8.1_r24android-cts-8.1_r23android-cts-8.1_r22android-cts-8.1_r21android-cts-8.1_r20android-cts-8.1_r2android-cts-8.1_r19android-cts-8.1_r18android-cts-8.1_r17android-cts-8.1_r16android-cts-8.1_r15android-cts-8.1_r14android-cts-8.1_r13android-cts-8.1_r12android-cts-8.1_r11android-cts-8.1_r10android-cts-8.1_r1android-8.1.0_r81android-8.1.0_r80android-8.1.0_r79android-8.1.0_r78android-8.1.0_r77android-8.1.0_r76android-8.1.0_r75android-8.1.0_r74android-8.1.0_r73android-8.1.0_r72android-8.1.0_r71android-8.1.0_r70android-8.1.0_r69android-8.1.0_r68android-8.1.0_r66android-8.1.0_r6android-8.1.0_r5android-8.1.0_r4android-8.1.0_r3android-8.1.0_r23android-8.1.0_r19android-8.1.0_r16android-8.1.0_r15android-8.1.0_r12android-8.1.0_r11android-8.1.0_r10android-8.1.0_r1security-oc-mr1-releaseoreo-mr1-wear-releaseoreo-mr1-security-releaseoreo-mr1-s1-releaseoreo-mr1-releaseoreo-mr1-cuttlefish-testingoreo-mr1-cts-releaseoreo-m4-s1-release
Change-Id: I97df5de118901872a67558be50a9c40704da2899
-rw-r--r--server/TetherController.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/TetherController.cpp b/server/TetherController.cpp
index 1785ec71..43a20486 100644
--- a/server/TetherController.cpp
+++ b/server/TetherController.cpp
@@ -45,6 +45,7 @@ const char BP_TOOLS_MODE[] = "bp-tools";
const char IPV4_FORWARDING_PROC_FILE[] = "/proc/sys/net/ipv4/ip_forward";
const char IPV6_FORWARDING_PROC_FILE[] = "/proc/sys/net/ipv6/conf/all/forwarding";
const char SEPARATOR[] = "|";
+constexpr const char kTcpBeLiberal[] = "/proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal";
bool writeToFile(const char* filename, const char* value) {
int fd = open(filename, O_WRONLY | O_CLOEXEC);
@@ -63,6 +64,11 @@ bool writeToFile(const char* filename, const char* value) {
return true;
}
+// TODO: Consider altering TCP and UDP timeouts as well.
+void configureForTethering(bool enabled) {
+ writeToFile(kTcpBeLiberal, enabled ? "1" : "0");
+}
+
bool configureForIPv6Router(const char *interface) {
return (InterfaceController::setEnableIPv6(interface, 0) == 0)
&& (InterfaceController::setAcceptIPv6Ra(interface, 0) == 0)
@@ -211,6 +217,7 @@ int TetherController::startTethering(int num_addrs, char **dhcp_ranges) {
close(pipefd[0]);
mDaemonPid = pid;
mDaemonFd = pipefd[1];
+ configureForTethering(true);
applyDnsInterfaces();
ALOGD("Tethering services running");
}
@@ -219,6 +226,7 @@ int TetherController::startTethering(int num_addrs, char **dhcp_ranges) {
}
int TetherController::stopTethering() {
+ configureForTethering(false);
if (mDaemonPid == 0) {
ALOGE("Tethering already stopped");