diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-06-28 00:30:46 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-06-28 00:30:46 +0200 |
commit | 59f46676a9c03303809f40d1a27c4d2e9e640697 (patch) | |
tree | cb95d1c4f3da2e3ebc9358917a2aac3dafa6cc50 /libbb | |
parent | 4928e9f7d0a17898300f20567a331417fafc16c1 (diff) | |
download | busybox-w32-59f46676a9c03303809f40d1a27c4d2e9e640697.tar.gz busybox-w32-59f46676a9c03303809f40d1a27c4d2e9e640697.tar.bz2 busybox-w32-59f46676a9c03303809f40d1a27c4d2e9e640697.zip |
Move create_icmp[6]_socket to its only user, and simplify it
function old new delta
run_applet_and_exit 711 714 +3
sendping_tail 239 236 -3
common_ping_main 1798 1770 -28
create_icmp_socket 65 - -65
create_icmp6_socket 65 - -65
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/2 up/down: 3/-161) Total: -158 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/Kbuild.src | 2 | ||||
-rw-r--r-- | libbb/create_icmp6_socket.c | 38 | ||||
-rw-r--r-- | libbb/create_icmp_socket.c | 36 |
3 files changed, 0 insertions, 76 deletions
diff --git a/libbb/Kbuild.src b/libbb/Kbuild.src index 61eec26f7..c5d86c092 100644 --- a/libbb/Kbuild.src +++ b/libbb/Kbuild.src | |||
@@ -27,8 +27,6 @@ lib-y += concat_subpath_file.o | |||
27 | lib-y += copy_file.o | 27 | lib-y += copy_file.o |
28 | lib-y += copyfd.o | 28 | lib-y += copyfd.o |
29 | lib-y += crc32.o | 29 | lib-y += crc32.o |
30 | lib-y += create_icmp6_socket.o | ||
31 | lib-y += create_icmp_socket.o | ||
32 | lib-y += default_error_retval.o | 30 | lib-y += default_error_retval.o |
33 | lib-y += device_open.o | 31 | lib-y += device_open.o |
34 | lib-y += dump.o | 32 | lib-y += dump.o |
diff --git a/libbb/create_icmp6_socket.c b/libbb/create_icmp6_socket.c deleted file mode 100644 index 368c69028..000000000 --- a/libbb/create_icmp6_socket.c +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Utility routines. | ||
4 | * | ||
5 | * create raw socket for icmp (IPv6 version) protocol | ||
6 | * and drop root privileges if running setuid | ||
7 | * | ||
8 | * Licensed under GPLv2, see file LICENSE in this source tree. | ||
9 | */ | ||
10 | |||
11 | #include "libbb.h" | ||
12 | |||
13 | #if ENABLE_FEATURE_IPV6 | ||
14 | int FAST_FUNC create_icmp6_socket(void) | ||
15 | { | ||
16 | int sock; | ||
17 | #if 0 | ||
18 | struct protoent *proto; | ||
19 | proto = getprotobyname("ipv6-icmp"); | ||
20 | /* if getprotobyname failed, just silently force | ||
21 | * proto->p_proto to have the correct value for "ipv6-icmp" */ | ||
22 | sock = socket(AF_INET6, SOCK_RAW, | ||
23 | (proto ? proto->p_proto : IPPROTO_ICMPV6)); | ||
24 | #else | ||
25 | sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); | ||
26 | #endif | ||
27 | if (sock < 0) { | ||
28 | if (errno == EPERM) | ||
29 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); | ||
30 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); | ||
31 | } | ||
32 | |||
33 | /* drop root privs if running setuid */ | ||
34 | xsetuid(getuid()); | ||
35 | |||
36 | return sock; | ||
37 | } | ||
38 | #endif | ||
diff --git a/libbb/create_icmp_socket.c b/libbb/create_icmp_socket.c deleted file mode 100644 index 585626983..000000000 --- a/libbb/create_icmp_socket.c +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Utility routines. | ||
4 | * | ||
5 | * create raw socket for icmp protocol | ||
6 | * and drop root privileges if running setuid | ||
7 | * | ||
8 | * Licensed under GPLv2, see file LICENSE in this source tree. | ||
9 | */ | ||
10 | |||
11 | #include "libbb.h" | ||
12 | |||
13 | int FAST_FUNC create_icmp_socket(void) | ||
14 | { | ||
15 | int sock; | ||
16 | #if 0 | ||
17 | struct protoent *proto; | ||
18 | proto = getprotobyname("icmp"); | ||
19 | /* if getprotobyname failed, just silently force | ||
20 | * proto->p_proto to have the correct value for "icmp" */ | ||
21 | sock = socket(AF_INET, SOCK_RAW, | ||
22 | (proto ? proto->p_proto : 1)); /* 1 == ICMP */ | ||
23 | #else | ||
24 | sock = socket(AF_INET, SOCK_RAW, 1); /* 1 == ICMP */ | ||
25 | #endif | ||
26 | if (sock < 0) { | ||
27 | if (errno == EPERM) | ||
28 | bb_error_msg_and_die(bb_msg_perm_denied_are_you_root); | ||
29 | bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket); | ||
30 | } | ||
31 | |||
32 | /* drop root privs if running setuid */ | ||
33 | xsetuid(getuid()); | ||
34 | |||
35 | return sock; | ||
36 | } | ||