diff options
Diffstat (limited to 'meta/recipes-extended/iputils/iputils/0002-arping-fix-f-quit-on-first-reply-regression.patch')
-rw-r--r-- | meta/recipes-extended/iputils/iputils/0002-arping-fix-f-quit-on-first-reply-regression.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-extended/iputils/iputils/0002-arping-fix-f-quit-on-first-reply-regression.patch b/meta/recipes-extended/iputils/iputils/0002-arping-fix-f-quit-on-first-reply-regression.patch new file mode 100644 index 0000000000..a5f40860dc --- /dev/null +++ b/meta/recipes-extended/iputils/iputils/0002-arping-fix-f-quit-on-first-reply-regression.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 1df5350bdc952b14901fde356b17b78c2bcd4cff Mon Sep 17 00:00:00 2001 | ||
2 | From: Sami Kerola <kerolasa@iki.fi> | ||
3 | Date: Wed, 28 Aug 2019 20:05:22 +0100 | ||
4 | Subject: [PATCH] arping: fix -f quit on first reply regression | ||
5 | |||
6 | When arping runs together with -f 'quit on first reply' and -w <timeout> | ||
7 | 'how long to wait for a reply' the command needs to exit if replies are not | ||
8 | received after wait period. Notice that the exit in case of lost packages | ||
9 | will be 1 signifying failure. Getting a reply results to 0 exit value. | ||
10 | |||
11 | Addresses: https://bugs.debian.org/935946 | ||
12 | Reported-by: Lucas Nussbaum <lucas@debian.org> | ||
13 | Addresses: https://github.com/iputils/iputils/issues/211 | ||
14 | Reported-by: Noah Meyerhans <noahm@debian.org> | ||
15 | Broken-since: 67e070d08dcbec990e1178360f82b3e2ca4f6d5f | ||
16 | Signed-off-by: Sami Kerola <kerolasa@iki.fi> | ||
17 | Upstream-Status: Backport [https://github.com/iputils/iputils/commit/1df5350bdc952b14901fde356b17b78c2bcd4cff] | ||
18 | Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> | ||
19 | --- | ||
20 | arping.c | 3 ++- | ||
21 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/arping.c b/arping.c | ||
24 | index 2c87c15..30884f6 100644 | ||
25 | --- a/arping.c | ||
26 | +++ b/arping.c | ||
27 | @@ -764,7 +764,8 @@ static int event_loop(struct run_state *ctl) | ||
28 | continue; | ||
29 | } | ||
30 | total_expires += exp; | ||
31 | - if (0 < ctl->count && (uint64_t)ctl->count < total_expires) { | ||
32 | + if ((0 < ctl->count && (uint64_t)ctl->count < total_expires) || | ||
33 | + (ctl->quit_on_reply && ctl->timeout < total_expires)) { | ||
34 | exit_loop = 1; | ||
35 | continue; | ||
36 | } | ||
37 | -- | ||
38 | 2.18.4 | ||
39 | |||