fping: install fping SUID root 12087/head
authorHenrique de Moraes Holschuh <henrique@nic.br>
Sun, 3 May 2020 02:05:03 +0000 (23:05 -0300)
committerHenrique de Moraes Holschuh <henrique@nic.br>
Wed, 6 May 2020 18:44:48 +0000 (15:44 -0300)
fping requires either root or CAP_NET_PING to work, otherwise it is
useless.  Use INSTALL_SUID so that fping will be setuid root, and thus
it will be usable by non-root users.

fping knows to drop root priviledges after it parses the command line
and creates the ping socket.  You actually get a lot less code running
as root when you make it setuid root and run it from an unprivileged
user.

This is the same way net/iputils already handles "ping", which has the
same requirements.

Signed-off-by: Henrique de Moraes Holschuh <henrique@nic.br>
net/fping/Makefile

index 34bfdd3be209821bfcbae979a000fa4db0e6ae96..1f777126df9cf6ae5e7c999d5f9490a7092e3372 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fping
 PKG_VERSION:=4.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://fping.org/dist/
@@ -46,7 +46,7 @@ CONFIGURE_ARGS+= \
 
 define Package/fping/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fping $(1)/usr/bin/
+       $(INSTALL_SUID) $(PKG_INSTALL_DIR)/usr/sbin/fping $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,fping))