X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Fcreate_icmp_socket.c;h=1fa016ab87cc08c266d559c755f86aea01f64e46;hb=08ea11ab0749a7977e6d47cd0fa7b3c9cc10af32;hp=6664548889d2004d9dd8c93ae62ddd2456ecd545;hpb=19c238bc909d1e06a6bc70fe5f74124b64a4fa9d;p=oweals%2Fbusybox.git diff --git a/libbb/create_icmp_socket.c b/libbb/create_icmp_socket.c index 666454888..1fa016ab8 100644 --- a/libbb/create_icmp_socket.c +++ b/libbb/create_icmp_socket.c @@ -2,27 +2,26 @@ /* * Utility routines. * - * create raw socket for icmp protocol test permission + * create raw socket for icmp protocol * and drop root privileges if running setuid - * */ -#include -#include -#include #include "libbb.h" -int create_icmp_socket(void) +int FAST_FUNC create_icmp_socket(void) { - struct protoent *proto; int sock; - +#if 0 + struct protoent *proto; proto = getprotobyname("icmp"); /* if getprotobyname failed, just silently force * proto->p_proto to have the correct value for "icmp" */ sock = socket(AF_INET, SOCK_RAW, (proto ? proto->p_proto : 1)); /* 1 == ICMP */ - if (sock < 0) { +#else + sock = socket(AF_INET, SOCK_RAW, 1); /* 1 == ICMP */ +#endif + if (sock < 0) { if (errno == EPERM) bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket);