- proto = getprotobyname("icmp");
- /* if getprotobyname failed, just silently force
- * proto->p_proto to have the correct value for "icmp" */
- if ((pingsock = socket(AF_INET, SOCK_RAW,
- (proto ? proto->p_proto : 1))) < 0) { /* 1 == ICMP */
- if (errno == EPERM)
- error_msg_and_die("permission denied. (are you root?)\n");
- else
- perror_msg_and_die("creating a raw socket");
- }
-
- /* drop root privs if running setuid */
- setuid(getuid());