0
0
mirror of https://github.com/openwrt/packages.git synced 2025-10-03 12:50:12 +00:00
Files
packages/net/miniupnpd/Makefile
David Yang c51ecd6678 miniupnpd: Enable regex filter
UPnP rules now may have an optional regex filter on requester's
descriptions. This is a countermeasure against some UPnP exploiters
without shutting down UPnP service completely, albeit they can bypass it
by reporting innocent's descriptions maliciously.

Since the filter specifier is optional, existing valid config files will
still work.

This increases the executable's size by 1.3 kB from original 147.7 kB on
i386.

Signed-off-by: David Yang <mmyangfl@gmail.com>
2024-07-31 10:26:01 +02:00

119 lines
3.0 KiB
Makefile

#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=miniupnpd
PKG_VERSION:=2.3.7
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=fbdd5501039730f04a8420ea2f8f54b7df63f9f04cde2dc67fa7371e80477bbe
PKG_MAINTAINER:=
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnpd
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/version.mk
define Package/miniupnpd/Default
SECTION:=net
CATEGORY:=Network
DEPENDS:= \
+libcap-ng \
+libmnl \
+libuuid
PROVIDES:=miniupnpd
TITLE:=Lightweight UPnP IGD & PCP/NAT-PMP daemon
SUBMENU:=Firewall
URL:=https://miniupnp.tuxfamily.org/
endef
define Package/miniupnpd-iptables
$(call Package/miniupnpd/Default)
DEPENDS+= \
+IPV6:ip6tables \
+IPV6:libip6tc \
+iptables \
+libip4tc \
+libnetfilter-conntrack
TITLE+= (iptables)
VARIANT:=iptables
endef
define Package/miniupnpd-nftables
$(call Package/miniupnpd/Default)
DEPENDS+= \
+libnftnl
TITLE+= (nftables)
VARIANT:=nftables
DEFAULT_VARIANT:=1
CONFLICTS:=miniupnpd-iptables
endef
define Package/miniupnpd/conffiles/Default
/etc/config/upnpd
endef
Package/miniupnpd-iptables/conffiles = $(Package/miniupnpd/conffiles/Default)
Package/miniupnpd-nftables/conffiles = $(Package/miniupnpd/conffiles/Default)
define Build/Prepare
$(call Build/Prepare/Default)
echo "$(VERSION_NUMBER)" | tr '() ' '_' >$(PKG_BUILD_DIR)/os.openwrt
endef
CONFIGURE_ARGS = \
$(if $(CONFIG_IPV6),--ipv6) \
--igd2 \
--leasefile \
--portinuse \
--firewall=$(BUILD_VARIANT) \
--disable-fork \
--regex
TARGET_CFLAGS += $(FPIC)
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
ifeq ($(BUILD_VARIANT),iptables)
TARGET_CFLAGS += -flto
endif
define Package/miniupnpd/install/Default
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/miniupnpd $(1)/usr/sbin/miniupnpd
$(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd
$(INSTALL_CONF) ./files/upnpd.config $(1)/etc/config/upnpd
$(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/50-miniupnpd
endef
define Package/miniupnpd-iptables/install
$(call Package/miniupnpd/install/Default,$1)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/usr/share/miniupnpd
$(INSTALL_BIN) ./files/miniupnpd.defaults.iptables $(1)/etc/uci-defaults/99-miniupnpd
$(INSTALL_DATA) ./files/firewall3.include $(1)/usr/share/miniupnpd/firewall.include
endef
define Package/miniupnpd-nftables/install
$(call Package/miniupnpd/install/Default,$1)
$(INSTALL_DIR) $(1)/usr/share/nftables.d
$(CP) ./files/nftables.d/* $(1)/usr/share/nftables.d/
endef
$(eval $(call BuildPackage,miniupnpd-iptables))
$(eval $(call BuildPackage,miniupnpd-nftables))