diff options
Diffstat (limited to 'libbb/create_icmp6_socket.c')
-rw-r--r-- | libbb/create_icmp6_socket.c | 38 |
1 files changed, 0 insertions, 38 deletions
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 | ||