From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id CD17859CB1 for ; Wed, 13 Apr 2016 01:12:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 41CD4E088C; Wed, 13 Apr 2016 01:12:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id ABA9DE088C for ; Wed, 13 Apr 2016 01:12:26 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8E0A0340D2A for ; Wed, 13 Apr 2016 01:12:25 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 32B0422B for ; Wed, 13 Apr 2016 01:12:21 +0000 (UTC) From: "Patrick McLean" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Patrick McLean" Message-ID: <1460509930.128b74fe25d08b3f8d17e3ee793d87131eba9c37.chutzpah@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/miniupnpd/, net-misc/miniupnpd/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-misc/miniupnpd/Manifest net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch net-misc/miniupnpd/files/miniupnpd-conf.d-r1 net-misc/miniupnpd/files/miniupnpd-init.d-r1 net-misc/miniupnpd/metadata.xml net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild X-VCS-Directories: net-misc/miniupnpd/files/ net-misc/miniupnpd/ X-VCS-Committer: chutzpah X-VCS-Committer-Name: Patrick McLean X-VCS-Revision: 128b74fe25d08b3f8d17e3ee793d87131eba9c37 X-VCS-Branch: master Date: Wed, 13 Apr 2016 01:12:21 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: f14b8dde-0b07-4358-967d-2f07bfe5d3ae X-Archives-Hash: e26fe0b1224ea94e7c152b241b38c9a3 commit: 128b74fe25d08b3f8d17e3ee793d87131eba9c37 Author: Patrick McLean gentoo org> AuthorDate: Wed Apr 13 01:11:47 2016 +0000 Commit: Patrick McLean gentoo org> CommitDate: Wed Apr 13 01:12:10 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=128b74fe net-misc/miniupnpd: Version bump, expose several options through USE flags This also reworks the init script to be more modern and allows skipping of the iptables manipulation scripts. Package-Manager: portage-2.2.28 net-misc/miniupnpd/Manifest | 1 + .../files/miniupnpd-1.10_pre20160222-build.patch | 125 +++++++++++++++++++++ net-misc/miniupnpd/files/miniupnpd-conf.d-r1 | 10 ++ net-misc/miniupnpd/files/miniupnpd-init.d-r1 | 33 ++++++ net-misc/miniupnpd/metadata.xml | 7 ++ .../miniupnpd/miniupnpd-1.10_pre20160222.ebuild | 76 +++++++++++++ 6 files changed, 252 insertions(+) diff --git a/net-misc/miniupnpd/Manifest b/net-misc/miniupnpd/Manifest index 9915e8c..521d049 100644 --- a/net-misc/miniupnpd/Manifest +++ b/net-misc/miniupnpd/Manifest @@ -1 +1,2 @@ DIST miniupnpd-1.9.20150721.tar.gz 207562 SHA256 9340224e5023ecb5d1b7f45e4d69734dcfbadbe41a80d1f0182347e6b8104470 SHA512 ed060a19bfb8f285c10d0c86ca54b646d8cad6baf29266bb395fe75ec23de63986a51362281213e9a14cd14225cc19a33cf404a139a55c7b0f72ced78581c660 WHIRLPOOL 9050b20f6118c63fe9d1cce8c8710e47e9e491ff28a1df29bf4b7a1e4e57fa537b06ce8ed667c1bc138e63dc23ba95a793980a32586c84a4728aa5977d10c6d4 +DIST miniupnpd-1.9.20160222.tar.gz 217541 SHA256 e7d9d071876ac2ed41a04fe4436f8a8d4329c5c31d940e98c6666ca26823c960 SHA512 ebc24a69fde793a537c46bc1e2107f94a17b0d8818aa23a4b6faeb2b735f35db840a6ccc49efbe62a3960ad1f346bbb183b6d06eb5ac42c98c2d56c02869fdda WHIRLPOOL 12ef3a7861b2238cd806836a972438c2b60c9f2558aee2a36eb8f6dbea149dc289447697d55b11147c20cee9fde5f1bc7fbd13e86190b82a47d7d2242482774b diff --git a/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch b/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch new file mode 100644 index 0000000..3323b1c --- /dev/null +++ b/net-misc/miniupnpd/files/miniupnpd-1.10_pre20160222-build.patch @@ -0,0 +1,125 @@ +diff --git a/Makefile.linux b/Makefile.linux +index ce6b994..e535c38 100644 +--- a/Makefile.linux ++++ b/Makefile.linux +@@ -36,6 +36,7 @@ INSTALL = install + STRIP ?= strip + PKG_CONFIG ?= pkg-config + CP = cp ++LDLIBS_IPV6 := + + + INSTALLPREFIX ?= $(PREFIX)/usr +@@ -55,90 +56,8 @@ NETFILTEROBJS = netfilter/iptcrdr.o netfilter/iptpinhole.o netfilter/nfct_get.o + + ALLOBJS = $(BASEOBJS) $(LNXOBJS) $(NETFILTEROBJS) + +-PCFILE_FOUND := $(shell $(PKG_CONFIG) --exists libiptc; echo $$?) +- +-ifeq (${PCFILE_FOUND},0) +- +-IPTABLESVERSION := $(shell $(PKG_CONFIG) --modversion libiptc) +-IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 ) +-IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 ) +-IPTABLESVERSION3 := $(shell echo $(IPTABLESVERSION) | cut -d. -f3 ) +-# test if iptables version >= 1.4.3 +-TEST := $(shell [ \( \( $(IPTABLESVERSION1) -ge 1 \) -a \( $(IPTABLESVERSION2) -ge 4 \) \) -a \( $(IPTABLESVERSION3) -ge 3 \) ] && echo 1 ) +-ifeq ($(TEST), 1) ++LDLIBS += -lip4tc $(LDLIBS_IPV6) + CPPFLAGS += -DIPTABLES_143 +-endif +- +-CFLAGS += $(shell $(PKG_CONFIG) --cflags libiptc) +-LDLIBS += $(shell $(PKG_CONFIG) --static --libs-only-l libiptc) +-LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L libiptc) +-LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-other libiptc) +-else +- +-ifeq "$(wildcard /etc/gentoo-release )" "" +-LDLIBS ?= -liptc +-else # gentoo +-# the following is better, at least on gentoo with iptables 1.4.6 +-# see http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1618 +-# and http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2183 +-LDLIBS ?= -lip4tc +-CPPFLAGS := -DIPTABLES_143 $(CPPFLAGS) +-endif +- +-ARCH ?= $(shell uname -m | grep -q "x86_64" && echo 64) +-ifdef IPTABLESPATH +-CPPFLAGS := $(CPPFLAGS) -I$(IPTABLESPATH)/include/ +-LDFLAGS := $(LDFLAFGS) -L$(IPTABLESPATH)/libiptc/ +-# get iptables version and set IPTABLES_143 macro if needed +-ifeq ($(TARGET_OPENWRT),) +-IPTABLESVERSION := $(shell grep "\#define VERSION" $(IPTABLESPATH)/config.h | tr -d \" |cut -d" " -f3 ) +-IPTABLESVERSION1 := $(shell echo $(IPTABLESVERSION) | cut -d. -f1 ) +-IPTABLESVERSION2 := $(shell echo $(IPTABLESVERSION) | cut -d. -f2 ) +-IPTABLESVERSION3 := $(shell echo $(IPTABLESVERSION) | cut -d. -f3 ) +-# test if iptables version >= 1.4.3 +-TEST := $(shell [ \( \( $(IPTABLESVERSION1) -ge 1 \) -a \( $(IPTABLESVERSION2) -ge 4 \) \) -a \( $(IPTABLESVERSION3) -ge 3 \) ] && echo 1 ) +-ifeq ($(TEST), 1) +-CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143 +-# the following sucks, but works +-LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libip4tc.o +-#LDLIBS = $(IPTABLESPATH)/libiptc/.libs/libiptc.a +-else # ifeq ($(TEST), 1) +-LDLIBS = $(IPTABLESPATH)/libiptc/libiptc.a +-endif # ifeq ($(TEST), 1) +-else # ($(TARGET_OPENWRT),) +-# openWRT : +-# check for system-wide iptables files. Test if iptables version >= 1.4.3 +-# the following test has to be verified : +-TEST := $(shell test -f /usr/include/iptables/internal.h && grep -q "\#define IPTABLES_VERSION" /usr/include/iptables/internal.h && echo 1) +-ifeq ($(TEST), 1) +-CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143 +-LDLIBS = -liptc +-endif # ($(TEST), 1) +-TEST_LIB := $(shell test -f /usr/lib$(ARCH)/libiptc.a && echo 1) +-ifeq ($(TEST_LIB), 1) +-LDLIBS = -liptc /usr/lib$(ARCH)/libiptc.a +-endif # ($(TEST_LIB), 1) +-endif # ($(TARGET_OPENWRT),) +-else # ifdef IPTABLESPATH +-# IPTABLESPATH not defined +-# the following test has to be verified : +-TEST := $(shell test -f /usr/include/xtables.h && grep -q "XTABLES_VERSION_CODE" /usr/include/xtables.h && echo 1) +-ifeq ($(TEST), 1) +-CPPFLAGS := $(CPPFLAGS) -DIPTABLES_143 +-LDLIBS = -liptc +-TESTIP4TC := $(shell test -f /lib/libip4tc.so && echo 1) +-ifeq ($(TESTIP4TC), 1) +-LDLIBS := $(LDLIBS) -lip4tc +-endif # ($(TESTIP4TC), 1) +-TESTIP6TC := $(shell test -f /lib/libip6tc.so && echo 1) +-ifeq ($(TESTIP6TC), 1) +-LDLIBS := $(LDLIBS) -lip6tc +-endif # ($(TESTIP6TC), 1) +-endif # ($(TEST), 1) +-endif # ifdef IPTABLESPATH +-endif # ifdef PCFILE_FOUND +- +-#LDLIBS += -lnfnetlink + + TEST := $(shell $(PKG_CONFIG) --atleast-version=1.0.2 libnetfilter_conntrack && $(PKG_CONFIG) --atleast-version=1.0.3 libmnl && echo 1) + ifeq ($(TEST),1) +@@ -194,7 +113,6 @@ install: miniupnpd miniupnpd.8 miniupnpd.conf genuuid \ + $(INSTALL) linux/miniupnpd.init.d.script $(DESTDIR)$(PREFIX)/etc/init.d/miniupnpd + $(INSTALL) -d $(DESTDIR)$(MANINSTALLDIR) + $(INSTALL) --mode=0644 miniupnpd.8 $(DESTDIR)$(MANINSTALLDIR) +- gzip -f $(DESTDIR)$(MANINSTALLDIR)/miniupnpd.8 + + # genuuid is using the uuidgen CLI tool which is part of libuuid + # from the e2fsprogs +diff --git a/genconfig.sh b/genconfig.sh +index 976e963..faef028 100755 +--- a/genconfig.sh ++++ b/genconfig.sh +@@ -299,7 +299,7 @@ case $OS_NAME in + fi + echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE} + FW=netfilter +- V6SOCKETS_ARE_V6ONLY=`/sbin/sysctl -n net.ipv6.bindv6only` ++ V6SOCKETS_ARE_V6ONLY=`/usr/sbin/sysctl -n net.ipv6.bindv6only` + ;; + OpenWRT) + OS_URL=http://www.openwrt.org/ diff --git a/net-misc/miniupnpd/files/miniupnpd-conf.d-r1 b/net-misc/miniupnpd/files/miniupnpd-conf.d-r1 new file mode 100644 index 0000000..1464bf0 --- /dev/null +++ b/net-misc/miniupnpd/files/miniupnpd-conf.d-r1 @@ -0,0 +1,10 @@ +# /etc/conf.d/miniupnpd: Configuration for miniupnpd init script + +# extra arguments to be passed to the command +#extra_args="" + +# the location of the configuration file +#config_file="/etc/miniupnpd/miniupnpd.conf" + +# uncomment to not use included scripts to manipulate iptables +#no_iptables_scripts=1 diff --git a/net-misc/miniupnpd/files/miniupnpd-init.d-r1 b/net-misc/miniupnpd/files/miniupnpd-init.d-r1 new file mode 100644 index 0000000..9940610 --- /dev/null +++ b/net-misc/miniupnpd/files/miniupnpd-init.d-r1 @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/miniupnpd" +: "${config_file:=/etc/miniupnpd/miniupnpd.conf}" +command_args="-f ${config_file:-/etc/miniupnpd/miniupnpd.conf} ${extra_args}" +: "${pidfile:=/var/run/miniupnpd.pid}" + +depend() { + need net iptables + use minissdpd +} + +start_pre() { + local retval=0 + + if [[ -z ${no_iptables_scripts} ]]; then + /etc/miniupnpd/iptables_init.sh || retval=${?} + fi + + return ${retval} +} + +stop_post() { + local retval=0 + + if [[ -z ${no_iptables_scripts} ]]; then + /etc/miniupnpd/iptables_removeall.sh + fi + + return ${retval} +} diff --git a/net-misc/miniupnpd/metadata.xml b/net-misc/miniupnpd/metadata.xml index d788fe6..902c940 100644 --- a/net-misc/miniupnpd/metadata.xml +++ b/net-misc/miniupnpd/metadata.xml @@ -12,4 +12,11 @@ MiniUPnP Internet Gateway Device Deamon, used to allow UPnP enabled clients to forward ports. + + Enable lease file. + Build for IGDv2 instead of an IGDv1 + Enable support for PCP-PEER to allow NAT-PMP clients to mangle their packets. + Check if a port is in use before allowing a NAT-PMP client to map it. + Be more strict regarding compliance with UPnP specifications. + diff --git a/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild b/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild new file mode 100644 index 0000000..061fa32 --- /dev/null +++ b/net-misc/miniupnpd/miniupnpd-1.10_pre20160222.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils toolchain-funcs versionator flag-o-matic + +MY_PV=$(get_version_component_range 3) +MY_PV=1.9.${MY_PV#pre} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="MiniUPnP IGD Daemon" +HOMEPAGE="http://miniupnp.free.fr/" +SRC_URI="http://miniupnp.free.fr/files/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+leasefile igd2 ipv6 pcp-peer portinuse strict" + +RDEPEND=">=net-firewall/iptables-1.4.6:0=[ipv6?] + net-libs/libnfnetlink:= + net-libs/libmnl:= + dev-libs/gmp:0= + sys-apps/util-linux + dev-libs/openssl:0=" +DEPEND="${RDEPEND} + sys-apps/lsb-release" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-1.10_pre20160222-build.patch" +) + +src_prepare() { + default + mv Makefile.linux Makefile || die +} + +src_configure() { + local -a opts + opts=( + --vendorcfg + $(use igd2 && printf -- '--igd2\n') + $(use ipv6 && printf -- '--ipv6\n') + $(use leasefile && printf -- '--leasefile\n') + $(use portinuse && printf -- '--portinuse\n') + $(use pcp-peer && printf -- '--pcp-peer\n') + $(use strict && printf -- '--strict\n') + ) + + emake CONFIG_OPTIONS="${opts[*]}" config.h +} + +src_compile() { + # By default, it builds a bunch of unittests that are missing wrapper + # scripts in the tarball + emake CC="$(tc-getCC)" \ + STRIP=true \ + LDLIBS_IPV6="$(use ipv6 && printf -- '-lip6tc')" \ + miniupnpd +} + +src_install() { + emake PREFIX="${ED}" STRIP=true install + + newinitd "${FILESDIR}"/${PN}-init.d-r1 ${PN} + newconfd "${FILESDIR}"/${PN}-conf.d-r1 ${PN} +} + +pkg_postinst() { + elog "Please correct the external interface in the top of the two" + elog "scripts in /etc/miniupnpd and edit the config file in there too" +}