Merge "ping: remove group check"
diff --git a/ping.c b/ping.c
index a322a24..14bd52a 100644
--- a/ping.c
+++ b/ping.c
@@ -64,8 +64,6 @@
#include <netinet/ip_icmp.h>
#ifdef ANDROID
-#include <sys/types.h>
-#include <private/android_filesystem_config.h>
#define bcmp(a, b, c) memcmp(a, b, c)
#endif
@@ -110,47 +108,6 @@
char *device;
int pmtudisc = -1;
-#ifdef ANDROID
-int isInSupplementaryGroup(gid_t group) {
- long ngroups_max;
- gid_t empty[0];
- gid_t *groups;
- int ngroups;
- int i;
-
- if (getuid() == 0) {
- // root is presumed to be in every group
- return 1;
- }
-
- ngroups = getgroups(0, empty);
- if (ngroups < 0) {
- perror("ping: call to getgroups for sizing failed");
- exit(2);
- }
- groups = (gid_t *) malloc((ngroups * sizeof(gid_t)));
- if (groups == NULL) {
- fprintf(stderr, "ping: unable to allocate memory for %d groups. Aborting\n", ngroups);
- exit(2);
- }
- ngroups = getgroups(ngroups, groups);
- if (ngroups < 0) {
- perror("ping: getgroups failed");
- exit(2);
- }
-
- for (i = 0; i < ngroups; i++) {
- if (group == groups[i]) {
- free(groups);
- return 1;
- }
- }
-
- free(groups);
- return 0;
-}
-#endif
-
int
main(int argc, char **argv)
{
@@ -168,12 +125,6 @@
icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
socket_errno = errno;
-#ifdef ANDROID
- if (!isInSupplementaryGroup(AID_INET)) {
- fprintf(stderr, "You must have internet permissions to use ping. Aborting.\n");
- exit(2);
- }
-#endif
uid = getuid();
setuid(uid);