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_icmp6_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_icmp6_socket.c')
-rw-r--r-- | libbb/create_icmp6_socket.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libbb/create_icmp6_socket.c b/libbb/create_icmp6_socket.c index c3d1b5578..b90f3e9fd 100644 --- a/libbb/create_icmp6_socket.c +++ b/libbb/create_icmp6_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 | #ifdef CONFIG_FEATURE_IPV6 | 15 | #ifdef CONFIG_FEATURE_IPV6 |
@@ -23,12 +21,12 @@ int create_icmp6_socket(void) | |||
23 | proto = getprotobyname("ipv6-icmp"); | 21 | proto = getprotobyname("ipv6-icmp"); |
24 | /* if getprotobyname failed, just silently force | 22 | /* if getprotobyname failed, just silently force |
25 | * proto->p_proto to have the correct value for "ipv6-icmp" */ | 23 | * proto->p_proto to have the correct value for "ipv6-icmp" */ |
26 | if ((sock = socket(AF_INET6, SOCK_RAW, | 24 | sock = socket(AF_INET6, SOCK_RAW, |
27 | (proto ? proto->p_proto : IPPROTO_ICMPV6))) < 0) { | 25 | (proto ? proto->p_proto : IPPROTO_ICMPV6)); |
26 | if (sock < 0) { | ||
28 | if (errno == EPERM) | 27 | if (errno == EPERM) |
29 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); | 28 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); |
30 | else | 29 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); |
31 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); | ||
32 | } | 30 | } |
33 | 31 | ||
34 | /* drop root privs if running setuid */ | 32 | /* drop root privs if running setuid */ |