add supplementary groups when changing uid
Under Android, it's important to be in group 3003 to access the network. Current tor code switch_id() in common/compat.c only sets the primary group. That means that tor and everything like /var/run/tor has to be in group 3003.
It'd be nice to leave /var/run/tor owned by group debian-tor. That means to access the network, 3003 has to be a supplementary group for user debian-tor (easy) and switch_id() has to call setgroups() on the entire supplementary groups list.
There might be other security issues with doing this that I'm not aware of.
Trac:
Username: baccala