diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2014-06-21 00:41:26 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2015-02-02 17:47:29 +0900 |
commit | 610743878821c018ac1918b280ecfa097b77d6f0 (patch) | |
tree | 2caa776cd892340d95594e2eaa1f55918038a2a0 /tests | |
parent | 1904b96289d82315dd0ec75eb0fd49cd04c605c5 (diff) | |
download | extras-610743878821c018ac1918b280ecfa097b77d6f0.tar.gz |
When changing UID, become a member of AID_INET.
Otherwise we can't open any sockets, which is not very useful.
Change-Id: I4a7def277f1d14232cfc4486011935e608571fd6
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/net_test/mark_test.py | 3 | ||||
-rwxr-xr-x | tests/net_test/net_test.py | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/net_test/mark_test.py b/tests/net_test/mark_test.py index 3d1ca1c5..18d0bf12 100755 --- a/tests/net_test/mark_test.py +++ b/tests/net_test/mark_test.py @@ -299,12 +299,15 @@ class RunAsUid(object): def __enter__(self): if self.uid: self.saved_uid = os.geteuid() + self.saved_groups = os.getgroups() if self.uid: + os.setgroups(self.saved_groups + [net_test.AID_INET]) os.seteuid(self.uid) def __exit__(self, unused_type, unused_value, unused_traceback): if self.uid: os.seteuid(self.saved_uid) + os.setgroups(self.saved_groups) def MakePktInfo(version, addr, ifindex): diff --git a/tests/net_test/net_test.py b/tests/net_test/net_test.py index 932a4af6..23b78689 100755 --- a/tests/net_test/net_test.py +++ b/tests/net_test/net_test.py @@ -22,6 +22,8 @@ IPV6_FLOWINFO_SEND = 33 ETH_P_IP = 0x0800 ETH_P_IPV6 = 0x86dd +IPPROTO_GRE = 47 + SIOCSIFHWADDR = 0x8924 IPV6_FL_A_GET = 0 @@ -47,7 +49,8 @@ IPV6_SEQ_DGRAM_HEADER = (" sl " "st tx_queue rx_queue tr tm->when retrnsmt" " uid timeout inode ref pointer drops\n") -IPPROTO_GRE = 47 +# Unix group to use if we want to open sockets as non-root. +AID_INET = 3003 def SetSocketTimeout(sock, ms): |