From patchwork Fri Mar 6 20:10:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 1250587 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=F6GWQEjF; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48YzJH67Nbz9sNg for ; Sat, 7 Mar 2020 07:10:35 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5D8B58770C; Fri, 6 Mar 2020 20:10:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oyWAzr++nu-q; Fri, 6 Mar 2020 20:10:32 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 70FDA876DD; Fri, 6 Mar 2020 20:10:32 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 292AA1BF5DD for ; Fri, 6 Mar 2020 20:10:30 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 264B6876B3 for ; Fri, 6 Mar 2020 20:10:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KvklpP7dlBpY for ; Fri, 6 Mar 2020 20:10:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by whitealder.osuosl.org (Postfix) with ESMTPS id DAB96876DD for ; Fri, 6 Mar 2020 20:10:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1583525423; bh=0eqqwZhlD05dCegjYYFvulEtvmiCt/GM29+XiRz54g8=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=F6GWQEjFrZcC89CSlpqsNqgU8duQz8cR8t6FCO+GBwYHl0nU8UI50OFiOCkH+HxDw PtJwtDf2DeedxVc4UdlOTKZp9J9g5HCEIQTHmbnEghGA2QcM9JKhQuw1feHyujDPbX yUto0PXB82Mne6EvCOmGZcQOfHHo/973j+zopGJc= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.fritz.box ([62.216.209.187]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MGz1V-1j5cKa1sl1-00E6ow; Fri, 06 Mar 2020 21:10:23 +0100 From: Peter Seiderer To: buildroot@busybox.net Date: Fri, 6 Mar 2020 21:10:22 +0100 Message-Id: <20200306201022.22382-3-ps.report@gmx.net> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200306201022.22382-1-ps.report@gmx.net> References: <20200306201022.22382-1-ps.report@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:HEwaXs3cO4nvxFwjTgxMQXgEZ+HvYEvwK3bYggRtfcwRUmgIESD rbNWAxlvSmWIy40Q40EeG64s8EanUFWX0dyNKKM9GU6SL2a8ntgOK9Qr1cZ8Z2SsfAY1BBc KbpF04DrU8+d0BH+sJNh8Tlwk+RzHa1TOWrxuUWL/H594MJ3AZRNpw+7gnptB4ZypW9pVui OrF0wfNM8/13fZ2Ug2Ttg== X-UI-Out-Filterresults: notjunk:1; V03:K0:vhUTEhbIJGc=:7O7HngK6d3uhgcC8vx0LOV 1IcVprZmgHjE4v5m0PQyn16/GGkhjvMUrLH7Hnn2P9tCT2Xlq8QLUIGulMtIvRYoNFSGtohr9 9V6OVGeSBJ/MWfiO6FcqZsIspKxky0MQ3f61bEOhTctQzkvOFzrM0rnZYGriOOrKp/gwrF45L r3tD+5N3TYE4iQiYli0dmt/0OA7QCMpV4yspKvPr6Aifvib13FpVohi5waAVAw1ZJIEeO+o4f 6mitE0jGg3BEReMXxgMsmUIfsTKJWTAZBaHEMQ/ynIVX1z4HGGdchZU453eJXLq7o+6YaWQPQ CrLlHwRR1e/BkVCdm4Bv/wxZZnRW4bJX4CxyFpG6h+eF4+6p2VUDuuKgufL5Yt9One3uo6vFc 4K4QYrpEvbslqqMMHNTWEdzBbCljgho5mU5ZXC0GIiWG2eL9EGUAbhPHESaA9HOHOs6CAg16l D8KZyn4WLCZbqLevDAlsPzyCUnSW3jrBglvf/X+NGoF+XVCm7RPwG7Ki4mowr9GV1EYO/o57m +1skPSpDYb1D+u/kLXcTtPivP87YmykXOGiqAAPulm1ihZDQqDCOatQvkIgGq+WhVI4RBOAci r6E/+JXtm9JFf5XwPzh9oLYDyvTZIFXbFLv8JNcEqXLIzYSsIfhSkrEB+3yuYZEmNwAaNlF2W cs9vUjnvMqmZv1X3eHZBCDQiO27/nsoaeA4+msqMuvHcef/wB3MvPvKvaU/hOKc8/0q/1BzBq UXJ9xVN0eMmGGyulm5ViEsYksl2d6oPZR7Ro2H63WoJrqNM8kkwsdARjLurvdOCvZvXGV/oPx JUPGFJRhUCOK6+pwd5B7YlnWLGxs9r9cWppNfxcMvle3fj70NAvVOEbidX8Ek0QQzt/qucxZ0 3YmSHDrZannNclN1xRF+qR3O0gxxYFm6BihbBL/4JwoZgupunuKtmXVEOop335g3FluRWAt47 Fc1IED9jaq+L7tnBW9ezVhx2OjcgqknF3AwbQpO2l8AboeV+bSQundUuBIqYyEpUrRJJHhoMm yxTNYVFCslzmqJMAYvPBnevdTMHBhi6QJcVfWRvcaTaFS12Y8iif1FtY7BZb+sax9MIXgXR66 HlIypkDSnDAYyGV+sG2T5H5cQPwccOXmtnELtZk9RC39fLmGtMedg9/jqa1qbwwBk7W1LY0Ld fqdRHfBtflGSPdKuF9Sg8Fhzea/KVRyH+TmNuBZAoYZLmeTIl8r3oWkQRlZ3qaP/x1uCWrC/Y TZXb8k9sZE4eEBKgW Subject: [Buildroot] [PATCH v1 3/3] package/liboping: add patch to fix suid root feature X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fabrice Fontaine Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Add patch from upstream merge quest [1] to fix suid root feature. [1] https://github.com/octo/liboping/pull/35 Signed-off-by: Peter Seiderer --- ...-when-adding-hosts-not-when-doing-th.patch | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 package/liboping/0004-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch diff --git a/package/liboping/0004-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch b/package/liboping/0004-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch new file mode 100644 index 0000000000..bdfb3d3f08 --- /dev/null +++ b/package/liboping/0004-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch @@ -0,0 +1,91 @@ +From ac878566eb935fd3ebfb804e6bd9e1690d4a65e3 Mon Sep 17 00:00:00 2001 +From: Tollef Fog Heen +Date: Tue, 20 Mar 2018 22:40:32 +0100 +Subject: [PATCH 4/4] Open raw sockets when adding hosts, not when doing the + pinging + +This allows this to run as non-root again, without this, oping will +have dropped privileges before trying to ping, which then fails to +open the necessary raw sockets. + +Fixes: #34 + +[Upstream: https://github.com/octo/liboping/pull/35/commits/a88c51f38dafa1fba9118045176754bec05d3c94] +Signed-off-by: Peter Seiderer +--- + src/liboping.c | 48 +++++++++++++++++------------------------------- + 1 file changed, 17 insertions(+), 31 deletions(-) + +diff --git a/src/liboping.c b/src/liboping.c +index 39b0041..f98e810 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -1344,41 +1344,10 @@ int ping_send (pingobj_t *obj) + struct timeval nowtime; + struct timeval timeout; + +- _Bool need_ipv4_socket = 0; +- _Bool need_ipv6_socket = 0; +- + for (ptr = obj->head; ptr != NULL; ptr = ptr->next) + { + ptr->latency = -1.0; + ptr->recv_ttl = -1; +- +- if (ptr->addrfamily == AF_INET) +- need_ipv4_socket = 1; +- else if (ptr->addrfamily == AF_INET6) +- need_ipv6_socket = 1; +- } +- +- if (!need_ipv4_socket && !need_ipv6_socket) +- { +- ping_set_error (obj, "ping_send", "No hosts to ping"); +- return (-1); +- } +- +- if (need_ipv4_socket && obj->fd4 == -1) +- { +- obj->fd4 = ping_open_socket(obj, AF_INET); +- if (obj->fd4 == -1) +- return (-1); +- ping_set_ttl (obj, obj->ttl); +- ping_set_qos (obj, obj->qos); +- } +- if (need_ipv6_socket && obj->fd6 == -1) +- { +- obj->fd6 = ping_open_socket(obj, AF_INET6); +- if (obj->fd6 == -1) +- return (-1); +- ping_set_ttl (obj, obj->ttl); +- ping_set_qos (obj, obj->qos); + } + + if (gettimeofday (&nowtime, NULL) == -1) +@@ -1698,6 +1667,23 @@ int ping_host_add (pingobj_t *obj, const char *host) + ph->table_next = obj->table[ph->ident % PING_TABLE_LEN]; + obj->table[ph->ident % PING_TABLE_LEN] = ph; + ++ if (ph->addrfamily == AF_INET && obj->fd4 == -1) ++ { ++ obj->fd4 = ping_open_socket(obj, AF_INET); ++ if (obj->fd4 == -1) ++ return (-1); ++ ping_set_ttl (obj, obj->ttl); ++ ping_set_qos (obj, obj->qos); ++ } ++ if (ph->addrfamily == AF_INET6 && obj->fd6 == -1) ++ { ++ obj->fd6 = ping_open_socket(obj, AF_INET6); ++ if (obj->fd6 == -1) ++ return (-1); ++ ping_set_ttl (obj, obj->ttl); ++ ping_set_qos (obj, obj->qos); ++ } ++ + return (0); + } /* int ping_host_add */ + +-- +2.25.1 +