diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-03 00:36:35 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-03 00:36:35 +0000 |
commit | 19c238bc909d1e06a6bc70fe5f74124b64a4fa9d (patch) | |
tree | a696356bc1b8c002af41aa928bc6bf64d3832f17 /libbb/create_icmp_socket.c | |
parent | 2110aa9ece6f30563068b2ea29bd75e6ea1787eb (diff) | |
download | busybox-w32-19c238bc909d1e06a6bc70fe5f74124b64a4fa9d.tar.gz busybox-w32-19c238bc909d1e06a6bc70fe5f74124b64a4fa9d.tar.bz2 busybox-w32-19c238bc909d1e06a6bc70fe5f74124b64a4fa9d.zip |
ping: don't measure times if ping payload is less than 8 bytes;
commonalize some ping code.
Diffstat (limited to 'libbb/create_icmp_socket.c')
-rw-r--r-- | libbb/create_icmp_socket.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libbb/create_icmp_socket.c b/libbb/create_icmp_socket.c index 431c4d8a7..666454888 100644 --- a/libbb/create_icmp_socket.c +++ b/libbb/create_icmp_socket.c | |||
@@ -10,8 +10,6 @@ | |||
10 | #include <sys/types.h> | 10 | #include <sys/types.h> |
11 | #include <netdb.h> | 11 | #include <netdb.h> |
12 | #include <sys/socket.h> | 12 | #include <sys/socket.h> |
13 | #include <errno.h> | ||
14 | #include <unistd.h> | ||
15 | #include "libbb.h" | 13 | #include "libbb.h" |
16 | 14 | ||
17 | int create_icmp_socket(void) | 15 | int create_icmp_socket(void) |
@@ -22,12 +20,12 @@ int create_icmp_socket(void) | |||
22 | proto = getprotobyname("icmp"); | 20 | proto = getprotobyname("icmp"); |
23 | /* if getprotobyname failed, just silently force | 21 | /* if getprotobyname failed, just silently force |
24 | * proto->p_proto to have the correct value for "icmp" */ | 22 | * proto->p_proto to have the correct value for "icmp" */ |
25 | if ((sock = socket(AF_INET, SOCK_RAW, | 23 | sock = socket(AF_INET, SOCK_RAW, |
26 | (proto ? proto->p_proto : 1))) < 0) { /* 1 == ICMP */ | 24 | (proto ? proto->p_proto : 1)); /* 1 == ICMP */ |
25 | if (sock < 0) { | ||
27 | if (errno == EPERM) | 26 | if (errno == EPERM) |
28 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); | 27 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); |
29 | else | 28 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); |
30 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); | ||
31 | } | 29 | } |
32 | 30 | ||
33 | /* drop root privs if running setuid */ | 31 | /* drop root privs if running setuid */ |