pluto: CAP_NET_RAW seems to be required on Android even to open regular sockets.
This commit is contained in:
@@ -294,7 +294,13 @@ int main(int argc, char **argv)
|
|||||||
bool force_keepalive = FALSE;
|
bool force_keepalive = FALSE;
|
||||||
char *virtual_private = NULL;
|
char *virtual_private = NULL;
|
||||||
#ifdef CAPABILITIES
|
#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 */
|
#endif /* CAPABILITIES */
|
||||||
|
|
||||||
/* initialize library and optionsfrom */
|
/* initialize library and optionsfrom */
|
||||||
|
|||||||
+1
-1
@@ -229,7 +229,7 @@ find_raw_ifaces4(void)
|
|||||||
struct ifconf ifconf;
|
struct ifconf ifconf;
|
||||||
struct ifreq buf[300]; /* for list of interfaces -- arbitrary limit */
|
struct ifreq buf[300]; /* for list of interfaces -- arbitrary limit */
|
||||||
struct raw_iface *rifaces = NULL;
|
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 */
|
/* get list of interfaces with assigned IPv4 addresses from system */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user