summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSami Kerola <kerolasa@iki.fi>2019-07-31 21:28:12 +0100
committerSami Kerola <kerolasa@iki.fi>2019-07-31 21:32:21 +0100
commit18f14be80466ddc8fb17a400be82764a779c8dcd (patch)
tree032294eaa0c15a7ea86310cc1b9cd418541d1682
parent0ab270b9232952ef51ddbf3e2e37a11cb5f2dfa0 (diff)
downloadiputils-18f14be80466ddc8fb17a400be82764a779c8dcd.tar.gz
arping: revert partially - fix sent vs received packages return value
Commit 84ca65ca980315c73f929fed8b6f16bbd698c3a0 caused regression. The arping -D needs return value evaluation that was the earlier default, in other cases the new return value should be correct. Addresses: https://github.com/iputils/iputils/issues/209 See-also: https://github.com/void-linux/void-packages/issues/13304 Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-rw-r--r--arping.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arping.c b/arping.c
index 77c9c56..2c87c15 100644
--- a/arping.c
+++ b/arping.c
@@ -792,7 +792,11 @@ static int event_loop(struct run_state *ctl)
close(tfd);
freeifaddrs(ctl->ifa0);
rc |= finish(ctl);
- rc |= (ctl->sent != ctl->received);
+ if (ctl->dad && ctl->quit_on_reply)
+ /* Duplicate address detection mode return value */
+ rc |= !(ctl->brd_sent != ctl->received);
+ else
+ rc |= (ctl->sent != ctl->received);
return rc;
}