pluto: CAP_NET_RAW seems to be required on Android even to open regular sockets.

This commit is contained in:
Tobias Brunner 2011-10-18 11:52:43 +02:00
parent bdbbab35b1
commit a8256f0bda
2 changed files with 8 additions and 2 deletions

View File

@ -294,7 +294,13 @@ int main(int argc, char **argv)
bool force_keepalive = FALSE;
char *virtual_private = NULL;
#ifdef CAPABILITIES
int keep[] = { CAP_NET_ADMIN, CAP_NET_BIND_SERVICE };
int keep[] = {
CAP_NET_ADMIN,
CAP_NET_BIND_SERVICE,
#ifdef ANDROID
CAP_NET_RAW,
#endif
};
#endif /* CAPABILITIES */
/* initialize library and optionsfrom */

View File

@ -229,7 +229,7 @@ find_raw_ifaces4(void)
struct ifconf ifconf;
struct ifreq buf[300]; /* for list of interfaces -- arbitrary limit */
struct raw_iface *rifaces = NULL;
int master_sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); /* Get a UDP socket */
int master_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); /* Get a UDP socket */
/* get list of interfaces with assigned IPv4 addresses from system */