diff --git a/SOURCES/0000-iputils-rh.patch b/SOURCES/0000-iputils-rh.patch
new file mode 100644
index 0000000..f66f885
--- /dev/null
+++ b/SOURCES/0000-iputils-rh.patch
@@ -0,0 +1,20 @@
+--- iputils-s20160308/Makefile	2016-03-08 13:58:56.000000000 +0100
++++ iputils-s20160308-new/Makefile	2016-03-09 10:09:02.295409179 +0100
+@@ -36,7 +36,7 @@ WITHOUT_IFADDRS=no
+ ARPING_DEFAULT_DEVICE=
+ 
+ # nettle library for ipv6 ping [yes|no|static]
+-USE_NETTLE=yes
++USE_NETTLE=no
+ # libgcrypt library for ipv6 ping [no|yes|static]
+ USE_GCRYPT=no
+ # Crypto library for ping6 [shared|static|no]
+@@ -53,7 +53,7 @@ ENABLE_RDISC_SERVER=no
+ # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
+ # CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
+ CFLAGS?=-O3 -g
+-CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
++CFLAGS+=$(RPM_OPT_FLAGS) -fno-strict-aliasing -Wstrict-prototypes -Wall
+ CPPFLAGS+=-D_GNU_SOURCE
+ LDLIB=
+ 
diff --git a/SOURCES/0001-iputils-ifenslave.patch b/SOURCES/0001-iputils-ifenslave.patch
new file mode 100644
index 0000000..662d69d
--- /dev/null
+++ b/SOURCES/0001-iputils-ifenslave.patch
@@ -0,0 +1,13 @@
+--- iputils/ifenslave.c.addr	2006-03-29 15:00:24.000000000 +0200
++++ iputils/ifenslave.c	2006-03-29 15:02:01.000000000 +0200
+@@ -524,8 +524,8 @@
+ 	if (ioctl(skfd, SIOCGIFADDR, &ifr) < 0)
+ 		return -1;
+ 	printf("The result of SIOCGIFADDR is %2.2x.%2.2x.%2.2x.%2.2x.\n",
+-	       ifr.ifr_addr.sa_data[0], ifr.ifr_addr.sa_data[1],
+-	       ifr.ifr_addr.sa_data[2], ifr.ifr_addr.sa_data[3]);
++	       ifr.ifr_addr.sa_data[2], ifr.ifr_addr.sa_data[3],
++	       ifr.ifr_addr.sa_data[4], ifr.ifr_addr.sa_data[5]);
+ 
+ 	strcpy(ifr.ifr_name, ifname);
+ 	if (ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0)
diff --git a/SOURCES/0002-iputils-freeaddrinfo.patch b/SOURCES/0002-iputils-freeaddrinfo.patch
new file mode 100644
index 0000000..e814c43
--- /dev/null
+++ b/SOURCES/0002-iputils-freeaddrinfo.patch
@@ -0,0 +1,14 @@
+--- a/ping.c	2018-06-29 20:00:46.000000000 +0200
++++ b/ping.c	2019-07-10 09:50:06.653039073 +0200
+@@ -589,8 +589,10 @@ int ping4_run(int argc, char **argv, str
+ 				strncpy(hnamebuf, ai->ai_canonname, sizeof hnamebuf - 1);
+ 			hostname = hnamebuf;
+ 
+-			if (result)
++			if (result) {
+ 				freeaddrinfo(result);
++				ai = NULL;
++			}
+ 		}
+ 		if (argc > 1)
+ 			route[nroute++] = whereto.sin_addr.s_addr;
diff --git a/SOURCES/0003-fix-incorrect-statistics.patch b/SOURCES/0003-fix-incorrect-statistics.patch
new file mode 100644
index 0000000..efd719e
--- /dev/null
+++ b/SOURCES/0003-fix-incorrect-statistics.patch
@@ -0,0 +1,25 @@
+From 445826446c32035b3c8e8a7780c4e4b885f0f98f Mon Sep 17 00:00:00 2001
+From: Jan Macku <jamacku@redhat.com>
+Date: Mon, 7 Dec 2020 15:08:14 +0100
+Subject: [PATCH] ping: Fix incorrect statistics
+
+---
+ ping_common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ping_common.c b/ping_common.c
+index 040bf23..02cb5e1 100644
+--- a/ping_common.c
++++ b/ping_common.c
+@@ -934,7 +934,7 @@ void finish(void)
+ 		printf(", %g%% packet loss",
+ 		       (float) ((((long long)(ntransmitted - nreceived)) * 100.0) /
+ 			      ntransmitted));
+-		printf(", time %ldms", (1000*tv.tv_sec+tv.tv_usec+500)/1000);
++		printf(", time %ldms", 1000*tv.tv_sec+(tv.tv_usec+500)/1000);
+ 	}
+ 	putchar('\n');
+ 
+-- 
+2.28.0
+
diff --git a/SOURCES/0004-tracepath-fix-copying-input-ipv6-address.patch b/SOURCES/0004-tracepath-fix-copying-input-ipv6-address.patch
new file mode 100644
index 0000000..c3edb1c
--- /dev/null
+++ b/SOURCES/0004-tracepath-fix-copying-input-ipv6-address.patch
@@ -0,0 +1,38 @@
+From e0baf20067a75f093d690bd51a6db3f5afabca77 Mon Sep 17 00:00:00 2001
+From: Petr Vorel <pvorel@suse.cz>
+Date: Tue, 17 Jul 2018 17:56:10 +0200
+Subject: [PATCH] tracepath: Fix copying input IPv6 address
+
+Commit e669c86 broke copying input IPv6 address.
+tracepath recover from it, but it's slower.
+
+Previously was address too short:
+
+    strace ./tracepath -6 fe80::8895:e2af:e96e:fd8f
+    sendto(3, "\1\0\0\0\0\0\0\0\307\36N[\0\0\0\0w_\f\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 127952, 0, {sa_family=AF_INET6, sin6_port=htons(44444), inet_pton(AF_INET6, "fe80::", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 28) = -1 EMSGSIZE (Message too long)
+
+After fix is correct:
+
+    sendto(3, "\1\0\0\0\0\0\0\0\300\36N[\0\0\0\0'B\3\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 127952, 0, {sa_family=AF_INET6, sin6_port=htons(44444), inet_pton(AF_INET6, "fe80::8895:e2af:e96e:fd8f", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 28) = -1 EMSGSIZE (Message too long)
+
+Bug found by LTP test.
+
+Fixes: e669c86 tracepath: fix heap-buffer-overflow [asan]
+Fixes: #137
+---
+ tracepath.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tracepath.c b/tracepath.c
+index 53bda16f..539a7a11 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -475,7 +475,7 @@ int main(int argc, char **argv)
+ 		fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
+ 		if (fd < 0)
+ 			continue;
+-		memcpy(&target, ai->ai_addr, sizeof(*ai->ai_addr));
++		memcpy(&target, ai->ai_addr, ai->ai_addrlen);
+ 		targetlen = ai->ai_addrlen;
+ 		break;
+ 	}
diff --git a/SOURCES/0005-ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch b/SOURCES/0005-ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
new file mode 100644
index 0000000..7f41bbd
--- /dev/null
+++ b/SOURCES/0005-ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
@@ -0,0 +1,48 @@
+From 18f9a84e0e702841d6cc4d5f593de4fbd1348e83 Mon Sep 17 00:00:00 2001
+From: Sami Kerola <kerolasa@iki.fi>
+Date: Sat, 28 Dec 2019 17:16:27 +0000
+Subject: [PATCH] ninfod: change variable name to avoid colliding with function
+ name
+
+The sys/capability.h header has 'extern int cap_setuid(uid_t uid);'
+function prototype.
+
+Addresses: https://github.com/iputils/iputils/issues/246
+Signed-off-by: Sami Kerola <kerolasa@iki.fi>
+---
+ ninfod/ninfod.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
+index 26112d0d..95583de4 100644
+--- a/ninfod/ninfod.c
++++ b/ninfod/ninfod.c
+@@ -455,7 +455,7 @@ static void do_daemonize(void)
+ /* --------- */
+ #ifdef HAVE_LIBCAP
+ static const cap_value_t cap_net_raw = CAP_NET_RAW;
+-static const cap_value_t cap_setuid =  CAP_SETUID; 
++static const cap_value_t cap_setuserid = CAP_SETUID;
+ static cap_flag_value_t cap_ok;
+ #else
+ static uid_t euid;
+@@ -487,7 +487,7 @@ static void limit_capabilities(void)
+ 
+ 	cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
+ 	if (cap_ok != CAP_CLEAR)
+-		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
++		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
+ 
+ 	if (cap_set_proc(cap_p) < 0) {
+ 		DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
+@@ -520,8 +520,8 @@ static void drop_capabilities(void)
+ 
+ 	/* setuid / setuid */
+ 	if (cap_ok != CAP_CLEAR) {
+-		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
+-		cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
++		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
++		cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
+ 
+ 		if (cap_set_proc(cap_p) < 0) {
+ 			DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
diff --git a/SOURCES/0006-ping-Fix-unwanted-bell-on-unreachable-address.patch b/SOURCES/0006-ping-Fix-unwanted-bell-on-unreachable-address.patch
new file mode 100644
index 0000000..f750efc
--- /dev/null
+++ b/SOURCES/0006-ping-Fix-unwanted-bell-on-unreachable-address.patch
@@ -0,0 +1,113 @@
+From dc4f836759887a6edf141aa55adbdb9bc63f5e69 Mon Sep 17 00:00:00 2001
+From: Jan Macku <jamacku@redhat.com>
+Date: Tue, 22 Mar 2022 12:59:21 +0100
+Subject: [PATCH] ping: Fix unwanted bell on unreachable address
+
+Commit 4471ac629cf2603f4b8b45e042e072c992ce25a5 caused regression for IPv6
+that ping -a IP6_ADDR beeps also on wrong address (i.e.  when "Address
+unreachable"):
+
+    $ ping -a -c1 fd00:1:1:1::15
+    PING fd00:1:1:1::15(fd00:1:1:1::15) 56 data bytes
+    From fd00:1:1:1::2 icmp_seq=1 Destination unreachable: Address unreachable
+
+    --- fd00:1:1:1::15 ping statistics ---
+    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0m
+
+It should only bell when ping returns correctly.
+
+Another (fixed) regression was that ping after exit printed error "pipe N",
+where N is number of counts. Error was result of code from ping_common.c:
+printf("%spipe %d", comma, pipesize);
+
+4471ac6 was wrong that code for sock->working_recverr == 1 should stay,
+sock->working_recverr should be removed.
+
+Thus changes:
+* ping.c: put back "stronger filter" for raw socket but (unlike before
+  4471ac6) exit with 2 if setsockopt(ICMP_FILTER) fails
+* ping6_common.c: put back setsockopt(IPV6_RECVERR), but (unlike before
+  4471ac6) exit with 2 if it fails
+* ping6_common.c: remove ICMP6_FILTER_SETPASS calls. These caused error "pipe N".
+* ping6_common.c: return 0 after acknowledge() in ping6_parse_reply
+
+Fixes: 4471ac6 ("ping: Remove workaround for bug in IP_RECVERR on raw sockets")
+Fixes: https://github.com/iputils/iputils/issues/182
+Reported-by: Luiz Angelo Daros de Luca <luizluca@tre-sc.jus.br>
+Signed-off-by: Petr Vorel <pvorel@suse.cz>
+Reviewed-by: Sami Kerola <kerolasa@iki.fi>
+
+---
+Patch has been adjusted to be applicable to RHEL8 codebase
+
+Resolves: #2057570
+---
+ ping.c         | 11 +++++++++++
+ ping6_common.c | 15 +++------------
+ 2 files changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/ping.c b/ping.c
+index d9a3f5d..c870390 100644
+--- a/ping.c
++++ b/ping.c
+@@ -949,6 +949,17 @@ int ping4_receive_error_msg(socket_st *sock)
+ 
+ 		acknowledge(ntohs(icmph.un.echo.sequence));
+ 
++		if (sock->socktype == SOCK_RAW)
++		{
++			struct icmp_filter filt;
++
++			filt.data = ~((1 << ICMP_SOURCE_QUENCH) |
++						  (1 << ICMP_REDIRECT) |
++						  (1 << ICMP_ECHOREPLY));
++			if (setsockopt(sock->fd, SOL_RAW, ICMP_FILTER, (const void *)&filt,
++						   sizeof(filt)) == -1)
++				error(2, errno, "setsockopt(ICMP_FILTER)");
++		}
+ 		net_errors++;
+ 		nerrors++;
+ 		if (options & F_QUIET)
+diff --git a/ping6_common.c b/ping6_common.c
+index 5991c2a..1181341 100644
+--- a/ping6_common.c
++++ b/ping6_common.c
+@@ -879,6 +879,8 @@ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock
+ 	}
+ 
+ 	hold = 1;
++	if (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVERR, (const void *)&hold, sizeof hold))
++		error(2, errno, "IPV6_RECVERR");
+ 
+ 	/* Estimate memory eaten by single packet. It is rough estimate.
+ 	 * Actually, for small datalen's it depends on kernel side a lot. */
+@@ -906,11 +908,6 @@ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock
+ 
+ 		ICMP6_FILTER_SETBLOCKALL(&filter);
+ 
+-		ICMP6_FILTER_SETPASS(ICMP6_DST_UNREACH, &filter);
+-		ICMP6_FILTER_SETPASS(ICMP6_PACKET_TOO_BIG, &filter);
+-		ICMP6_FILTER_SETPASS(ICMP6_TIME_EXCEEDED, &filter);
+-		ICMP6_FILTER_SETPASS(ICMP6_PARAM_PROB, &filter);
+-
+ 		if (niquery_is_enabled())
+ 			ICMP6_FILTER_SETPASS(ICMPV6_NI_REPLY, &filter);
+ 		else
+@@ -1437,13 +1434,7 @@ ping6_parse_reply(socket_st *sock, struct msghdr *msg, int cc, void *addr, struc
+ 			    !is_ours(sock, icmph1->icmp6_id))
+ 				return 1;
+ 			acknowledge(ntohs(icmph1->icmp6_seq));
+-			nerrors++;
+-			if (options & F_FLOOD) {
+-				write_stdout("\bE", 2);
+-				return 0;
+-			}
+-			print_timestamp();
+-			printf("From %s: icmp_seq=%u ", pr_addr(from, sizeof *from), ntohs(icmph1->icmp6_seq));
++			return 0;
+ 		} else {
+ 			/* We've got something other than an ECHOREPLY */
+ 			if (!(options & F_VERBOSE) || uid)
+-- 
+2.35.1
+
diff --git a/SOURCES/fix-incorrect-statistics.patch b/SOURCES/fix-incorrect-statistics.patch
deleted file mode 100644
index efd719e..0000000
--- a/SOURCES/fix-incorrect-statistics.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 445826446c32035b3c8e8a7780c4e4b885f0f98f Mon Sep 17 00:00:00 2001
-From: Jan Macku <jamacku@redhat.com>
-Date: Mon, 7 Dec 2020 15:08:14 +0100
-Subject: [PATCH] ping: Fix incorrect statistics
-
----
- ping_common.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ping_common.c b/ping_common.c
-index 040bf23..02cb5e1 100644
---- a/ping_common.c
-+++ b/ping_common.c
-@@ -934,7 +934,7 @@ void finish(void)
- 		printf(", %g%% packet loss",
- 		       (float) ((((long long)(ntransmitted - nreceived)) * 100.0) /
- 			      ntransmitted));
--		printf(", time %ldms", (1000*tv.tv_sec+tv.tv_usec+500)/1000);
-+		printf(", time %ldms", 1000*tv.tv_sec+(tv.tv_usec+500)/1000);
- 	}
- 	putchar('\n');
- 
--- 
-2.28.0
-
diff --git a/SOURCES/iputils-freeaddrinfo.patch b/SOURCES/iputils-freeaddrinfo.patch
deleted file mode 100644
index e814c43..0000000
--- a/SOURCES/iputils-freeaddrinfo.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/ping.c	2018-06-29 20:00:46.000000000 +0200
-+++ b/ping.c	2019-07-10 09:50:06.653039073 +0200
-@@ -589,8 +589,10 @@ int ping4_run(int argc, char **argv, str
- 				strncpy(hnamebuf, ai->ai_canonname, sizeof hnamebuf - 1);
- 			hostname = hnamebuf;
- 
--			if (result)
-+			if (result) {
- 				freeaddrinfo(result);
-+				ai = NULL;
-+			}
- 		}
- 		if (argc > 1)
- 			route[nroute++] = whereto.sin_addr.s_addr;
diff --git a/SOURCES/iputils-ifenslave.patch b/SOURCES/iputils-ifenslave.patch
deleted file mode 100644
index 662d69d..0000000
--- a/SOURCES/iputils-ifenslave.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- iputils/ifenslave.c.addr	2006-03-29 15:00:24.000000000 +0200
-+++ iputils/ifenslave.c	2006-03-29 15:02:01.000000000 +0200
-@@ -524,8 +524,8 @@
- 	if (ioctl(skfd, SIOCGIFADDR, &ifr) < 0)
- 		return -1;
- 	printf("The result of SIOCGIFADDR is %2.2x.%2.2x.%2.2x.%2.2x.\n",
--	       ifr.ifr_addr.sa_data[0], ifr.ifr_addr.sa_data[1],
--	       ifr.ifr_addr.sa_data[2], ifr.ifr_addr.sa_data[3]);
-+	       ifr.ifr_addr.sa_data[2], ifr.ifr_addr.sa_data[3],
-+	       ifr.ifr_addr.sa_data[4], ifr.ifr_addr.sa_data[5]);
- 
- 	strcpy(ifr.ifr_name, ifname);
- 	if (ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0)
diff --git a/SOURCES/iputils-rh.patch b/SOURCES/iputils-rh.patch
deleted file mode 100644
index f66f885..0000000
--- a/SOURCES/iputils-rh.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- iputils-s20160308/Makefile	2016-03-08 13:58:56.000000000 +0100
-+++ iputils-s20160308-new/Makefile	2016-03-09 10:09:02.295409179 +0100
-@@ -36,7 +36,7 @@ WITHOUT_IFADDRS=no
- ARPING_DEFAULT_DEVICE=
- 
- # nettle library for ipv6 ping [yes|no|static]
--USE_NETTLE=yes
-+USE_NETTLE=no
- # libgcrypt library for ipv6 ping [no|yes|static]
- USE_GCRYPT=no
- # Crypto library for ping6 [shared|static|no]
-@@ -53,7 +53,7 @@ ENABLE_RDISC_SERVER=no
- # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
- # CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
- CFLAGS?=-O3 -g
--CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
-+CFLAGS+=$(RPM_OPT_FLAGS) -fno-strict-aliasing -Wstrict-prototypes -Wall
- CPPFLAGS+=-D_GNU_SOURCE
- LDLIB=
- 
diff --git a/SOURCES/ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch b/SOURCES/ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
deleted file mode 100644
index 7f41bbd..0000000
--- a/SOURCES/ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 18f9a84e0e702841d6cc4d5f593de4fbd1348e83 Mon Sep 17 00:00:00 2001
-From: Sami Kerola <kerolasa@iki.fi>
-Date: Sat, 28 Dec 2019 17:16:27 +0000
-Subject: [PATCH] ninfod: change variable name to avoid colliding with function
- name
-
-The sys/capability.h header has 'extern int cap_setuid(uid_t uid);'
-function prototype.
-
-Addresses: https://github.com/iputils/iputils/issues/246
-Signed-off-by: Sami Kerola <kerolasa@iki.fi>
----
- ninfod/ninfod.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
-index 26112d0d..95583de4 100644
---- a/ninfod/ninfod.c
-+++ b/ninfod/ninfod.c
-@@ -455,7 +455,7 @@ static void do_daemonize(void)
- /* --------- */
- #ifdef HAVE_LIBCAP
- static const cap_value_t cap_net_raw = CAP_NET_RAW;
--static const cap_value_t cap_setuid =  CAP_SETUID; 
-+static const cap_value_t cap_setuserid = CAP_SETUID;
- static cap_flag_value_t cap_ok;
- #else
- static uid_t euid;
-@@ -487,7 +487,7 @@ static void limit_capabilities(void)
- 
- 	cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
- 	if (cap_ok != CAP_CLEAR)
--		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
-+		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
- 
- 	if (cap_set_proc(cap_p) < 0) {
- 		DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
-@@ -520,8 +520,8 @@ static void drop_capabilities(void)
- 
- 	/* setuid / setuid */
- 	if (cap_ok != CAP_CLEAR) {
--		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
--		cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
-+		cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
-+		cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
- 
- 		if (cap_set_proc(cap_p) < 0) {
- 			DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
diff --git a/SOURCES/tracepath-fix-copying-input-ipv6-address.patch b/SOURCES/tracepath-fix-copying-input-ipv6-address.patch
deleted file mode 100644
index c3edb1c..0000000
--- a/SOURCES/tracepath-fix-copying-input-ipv6-address.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e0baf20067a75f093d690bd51a6db3f5afabca77 Mon Sep 17 00:00:00 2001
-From: Petr Vorel <pvorel@suse.cz>
-Date: Tue, 17 Jul 2018 17:56:10 +0200
-Subject: [PATCH] tracepath: Fix copying input IPv6 address
-
-Commit e669c86 broke copying input IPv6 address.
-tracepath recover from it, but it's slower.
-
-Previously was address too short:
-
-    strace ./tracepath -6 fe80::8895:e2af:e96e:fd8f
-    sendto(3, "\1\0\0\0\0\0\0\0\307\36N[\0\0\0\0w_\f\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 127952, 0, {sa_family=AF_INET6, sin6_port=htons(44444), inet_pton(AF_INET6, "fe80::", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 28) = -1 EMSGSIZE (Message too long)
-
-After fix is correct:
-
-    sendto(3, "\1\0\0\0\0\0\0\0\300\36N[\0\0\0\0'B\3\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 127952, 0, {sa_family=AF_INET6, sin6_port=htons(44444), inet_pton(AF_INET6, "fe80::8895:e2af:e96e:fd8f", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 28) = -1 EMSGSIZE (Message too long)
-
-Bug found by LTP test.
-
-Fixes: e669c86 tracepath: fix heap-buffer-overflow [asan]
-Fixes: #137
----
- tracepath.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tracepath.c b/tracepath.c
-index 53bda16f..539a7a11 100644
---- a/tracepath.c
-+++ b/tracepath.c
-@@ -475,7 +475,7 @@ int main(int argc, char **argv)
- 		fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
- 		if (fd < 0)
- 			continue;
--		memcpy(&target, ai->ai_addr, sizeof(*ai->ai_addr));
-+		memcpy(&target, ai->ai_addr, ai->ai_addrlen);
- 		targetlen = ai->ai_addrlen;
- 		break;
- 	}
diff --git a/SPECS/iputils.spec b/SPECS/iputils.spec
index 971cd21..97c9291 100644
--- a/SPECS/iputils.spec
+++ b/SPECS/iputils.spec
@@ -3,7 +3,7 @@
 Summary: Network monitoring tools including ping
 Name: iputils
 Version: 20180629
-Release: 9%{?dist}
+Release: 10%{?dist}
 # some parts are under the original BSD (ping.c)
 # some are under GPLv2+ (tracepath.c)
 License: BSD and GPLv2+
@@ -18,12 +18,13 @@ Source3: ninfod.service
 Source4: bsd.txt
 Source5: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
 
-Patch0: iputils-rh.patch
-Patch1: iputils-ifenslave.patch
-Patch2: iputils-freeaddrinfo.patch
-Patch3: fix-incorrect-statistics.patch
-Patch4: tracepath-fix-copying-input-ipv6-address.patch
-Patch5: ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
+Patch0: 0000-iputils-rh.patch
+Patch1: 0001-iputils-ifenslave.patch
+Patch2: 0002-iputils-freeaddrinfo.patch
+Patch3: 0003-fix-incorrect-statistics.patch
+Patch4: 0004-tracepath-fix-copying-input-ipv6-address.patch
+Patch5: 0005-ninfod-change-variable-name-to-avoid-colliding-with-function-name.patch
+Patch6: 0006-ping-Fix-unwanted-bell-on-unreachable-address.patch
 
 %if ! 0%{?_module_build}
 BuildRequires: docbook-utils perl-SGMLSpm
@@ -68,6 +69,7 @@ cp %{SOURCE4} %{SOURCE5} .
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 %ifarch s390 s390x
@@ -171,6 +173,9 @@ install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}/%{_unitdir}
 %endif
 
 %changelog
+* Tue Mar 22 2022 Jan Macku <jamacku@redhat.com> - 20180629-10
+- Fix regression of output when pinging unreachable IPv6 host (#2057570)
+
 * Thu Feb 03 2022 Jan Macku <jamacku@redhat.com> - 20180629-9
 - Fix copying input IPv6 address (#2047659)