aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/scotty3
diff options
context:
space:
mode:
authorMark Linimon <linimon@FreeBSD.org>2004-02-13 09:31:58 +0000
committerMark Linimon <linimon@FreeBSD.org>2004-02-13 09:31:58 +0000
commitd55e243de2bc52d66682a4c5258b821da82906ba (patch)
tree0b0fa2e451a6c59987717436b0b04b7aa0dabafb /net-mgmt/scotty3
parent7764f6342354c1831772c2c240dc699afbeebd0e (diff)
downloadports-d55e243de2bc52d66682a4c5258b821da82906ba.tar.gz
ports-d55e243de2bc52d66682a4c5258b821da82906ba.zip
If you attempt to send an ICMP echo to a host on the same ethernet
subnet, and that host is down/turned off, the Tnm::icmp echo command will fail rather than return an unreachable indication on some occasions. This is because the nmicmpd program will occasionally get an EHOSTDOWN error when doing a sendto() when the ARP entry resolution times out. This is a problem since this API can support a list of hosts to send traffic to, and a single error as described will abort the entire operation. (The reviewer claims that he could not duplicate the problem, but that the patch seems like a good idea anyway.) PR: ports/24940 Submitted by: Louis Mamakos <louie@transsys.com> Reviewed by: Stefan Eßer <se@FreeBSD.org>
Notes
Notes: svn path=/head/; revision=100831
Diffstat (limited to 'net-mgmt/scotty3')
-rw-r--r--net-mgmt/scotty3/files/patch-unix:nmicmpd.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/net-mgmt/scotty3/files/patch-unix:nmicmpd.c b/net-mgmt/scotty3/files/patch-unix:nmicmpd.c
new file mode 100644
index 000000000000..6432fa8643d7
--- /dev/null
+++ b/net-mgmt/scotty3/files/patch-unix:nmicmpd.c
@@ -0,0 +1,17 @@
+--- nmicmpd.c.orig Tue Feb 6 15:34:03 2001
++++ nmicmpd.c Tue Feb 6 15:44:53 2001
+@@ -924,6 +924,14 @@
+
+ if (rc != size) {
+ if (rc < 0) {
++ /*
++ * If we get an EHOSTDOWN error, this probably means that
++ * the the pending ARP entry has timed out for the host.
++ * Just ignore the error, and attempt a normal retry.
++ */
++ if (errno == EHOSTDOWN)
++ return 0;
++
+ PosixError("sendto failed");
+ }
+ job->status = ICMP_STATUS_GENERROR;