Blame SOURCES/iputils-ping-eacces.patch
|
|
c7bd11 |
commit 6702a95f2ea1a6a5b7c94437a87c1be6d0677733
|
|
|
c7bd11 |
Author: Jan Synacek <jsynacek@redhat.com>
|
|
|
c7bd11 |
Date: Mon Sep 12 12:50:58 2016 +0200
|
|
|
c7bd11 |
|
|
|
c7bd11 |
ping: fix error message when getting EACCES from connect()
|
|
|
c7bd11 |
|
|
|
c7bd11 |
According to man connect(2), EACCES can be set either when pinging a
|
|
|
c7bd11 |
broadcast address, or when a local firewall rule is in place.
|
|
|
c7bd11 |
|
|
|
c7bd11 |
Easily reproduced by running "ip route add prohibit <ipaddr>" and then
|
|
|
c7bd11 |
trying to ping the address.
|
|
|
c7bd11 |
|
|
|
c7bd11 |
diff --git a/ping.c b/ping.c
|
|
|
c7bd11 |
index 34eb436..52b0f0e 100644
|
|
|
c7bd11 |
--- a/ping.c
|
|
|
c7bd11 |
+++ b/ping.c
|
|
|
c7bd11 |
@@ -655,7 +655,8 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
|
|
|
c7bd11 |
if (connect(probe_fd, (struct sockaddr*)&dst, sizeof(dst)) == -1) {
|
|
|
c7bd11 |
if (errno == EACCES) {
|
|
|
c7bd11 |
if (broadcast_pings == 0) {
|
|
|
c7bd11 |
- fprintf(stderr, "Do you want to ping broadcast? Then -b\n");
|
|
|
c7bd11 |
+ fprintf(stderr,
|
|
|
c7bd11 |
+ "Do you want to ping broadcast? Then -b. If not, check your local firewall rules.\n");
|
|
|
c7bd11 |
exit(2);
|
|
|
c7bd11 |
}
|
|
|
c7bd11 |
fprintf(stderr, "WARNING: pinging broadcast address\n");
|