When changing UID, become a member of AID_INET.
Otherwise we can't open any sockets, which is not very useful.
Change-Id: I4a7def277f1d14232cfc4486011935e608571fd6
diff --git a/net/test/mark_test.py b/net/test/mark_test.py
index 3d1ca1c..18d0bf1 100755
--- a/net/test/mark_test.py
+++ b/net/test/mark_test.py
@@ -299,12 +299,15 @@
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/net/test/net_test.py b/net/test/net_test.py
index 932a4af..23b7868 100755
--- a/net/test/net_test.py
+++ b/net/test/net_test.py
@@ -22,6 +22,8 @@
ETH_P_IP = 0x0800
ETH_P_IPV6 = 0x86dd
+IPPROTO_GRE = 47
+
SIOCSIFHWADDR = 0x8924
IPV6_FL_A_GET = 0
@@ -47,7 +49,8 @@
"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):