From e0649fec3ce3daf0ee4cc5a84378b02bb56425b9 Mon Sep 17 00:00:00 2001
From: omni <omni+alpine@hack.org>
Date: Mon, 22 Apr 2024 15:08:44 +0000
Subject: [PATCH] main/fping: upgrade to 5.2

---
 main/fping/APKBUILD                | 13 ++++--------
 main/fping/int-conversion.patch    | 34 ------------------------------
 main/fping/unprivileged-ping.patch | 28 ------------------------
 3 files changed, 4 insertions(+), 71 deletions(-)
 delete mode 100644 main/fping/int-conversion.patch
 delete mode 100644 main/fping/unprivileged-ping.patch

diff --git a/main/fping/APKBUILD b/main/fping/APKBUILD
index f3448cdd41d2..59c03058cac2 100644
--- a/main/fping/APKBUILD
+++ b/main/fping/APKBUILD
@@ -1,17 +1,14 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=fping
-pkgver=5.1
-pkgrel=5
+pkgver=5.2
+pkgrel=0
 pkgdesc="A utility to ping multiple hosts at once"
 url="https://fping.org/"
 arch="all"
 license="MIT"
 makedepends="libcap-utils"
 subpackages="$pkgname-doc"
-source="https://fping.org/dist/fping-$pkgver.tar.gz
-	int-conversion.patch
-	unprivileged-ping.patch
-	"
+source="https://fping.org/dist/fping-$pkgver.tar.gz"
 # setcap: needs cap_net_raw to be able to send icmp packets
 options="!check setcap" # no testsuite
 
@@ -31,7 +28,5 @@ package() {
 }
 
 sha512sums="
-1a208da8dcd99093d0512af5d85ba5e7b5743ec97993d24c1fe612bb58d93090ac1ba0952f648aa075f16d390a77c4be65e394ae56dbede2a6914e0e8c68e2bd  fping-5.1.tar.gz
-aac9c7906b44f65eb586b4de50cb6b10c6d99b1a2f7fc2ea030491a23e174500dac945ebe9ad8a85a38da0bac4c3883aa41c6ebf980480de02ded709f76bde38  int-conversion.patch
-57fb8976a382ef21200430a238985cec04ecb72458e67d02ae4eac3af4f14108ad90460d562ee9f46a579d6226335b9391542c641acd2c6e1736fa138176e52f  unprivileged-ping.patch
+062896662804c55ffe2d4e3eb7efc2ff796d20a77b367e16f8fa381e302986b5127ca55f0866bbf08f8ae2b2f6795ec4c5d43dc59ebec157fb3e8eff25d0bdb3  fping-5.2.tar.gz
 "
diff --git a/main/fping/int-conversion.patch b/main/fping/int-conversion.patch
deleted file mode 100644
index 75abfdae5968..000000000000
--- a/main/fping/int-conversion.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-initialising without names is not possible because there are hidden __padding
-fields, so the order of args is wrong.
---
-diff --git a/src/fping.c b/src/fping.c
-index e26b216..d499689 100644
---- a/src/fping.c
-+++ b/src/fping.c
-@@ -1948,17 +1948,17 @@ int receive_packet(int64_t wait_time,
-     int recv_len;
-     static unsigned char msg_control[40];
-     struct iovec msg_iov = {
--        reply_buf,
--        reply_buf_len
-+        .iov_base = reply_buf,
-+        .iov_len = reply_buf_len
-     };
-     struct msghdr recv_msghdr = {
--        reply_src_addr,
--        reply_src_addr_len,
--        &msg_iov,
--        1,
--        &msg_control,
--        sizeof(msg_control),
--        0
-+        .msg_name = reply_src_addr,
-+        .msg_namelen = reply_src_addr_len,
-+        .msg_iov = &msg_iov,
-+        .msg_iovlen = 1,
-+        .msg_control = &msg_control,
-+        .msg_controllen = sizeof(msg_control),
-+        .msg_flags = 0
-     };
- #if HAVE_SO_TIMESTAMPNS
-     struct cmsghdr* cmsg;
diff --git a/main/fping/unprivileged-ping.patch b/main/fping/unprivileged-ping.patch
deleted file mode 100644
index cc414df9e514..000000000000
--- a/main/fping/unprivileged-ping.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Patch-Source: https://github.com/schweikert/fping/commit/e975a4339b24716fb57bed234b0a1176f2bf3451
---
-Author: David Schweikert <david@schweikert.ch>
-Committer: Nash Kaminski <Nash.Kaminski@ny.email.gs.com>
-Summary: This patch backports the upstream bugfix from
-         https://github.com/schweikert/fping/issues/248
-         for a regression introduced in version 5.1 which
-         prevents fping from functioning when run in an
-         unprivileged container.
-----
-diff --git a/src/fping.c b/src/fping.c
-index e26b216c..0bd2b70c 100644
---- a/src/fping.c
-+++ b/src/fping.c
-@@ -1104,11 +1104,11 @@ int main(int argc, char** argv)
-         exit(num_noaddress ? 2 : 1);
-     }
-
--    if (src_addr_set && socket4 >= 0) {
-+    if (socket4 >= 0 && (src_addr_set || socktype4 == SOCK_DGRAM)) {
-         socket_set_src_addr_ipv4(socket4, &src_addr, (socktype4 == SOCK_DGRAM) ? &ident4 : NULL);
-     }
- #ifdef IPV6
--    if (src_addr6_set && socket6 >= 0) {
-+    if (socket6 >= 0 && (src_addr6_set || socktype4 == SOCK_DGRAM)) {
-         socket_set_src_addr_ipv6(socket6, &src_addr6, (socktype6 == SOCK_DGRAM) ? &ident6 : NULL);
-     }
- #endif
-- 
GitLab