| 1 | # Contributor: Carlo Landmeter <[email protected]> |
| 2 | # Contributor: Ariadne Conill <[email protected]> |
| 3 | # Maintainer: Natanael Copa <[email protected]> |
| 4 | pkgname=miniupnpd |
| 5 | pkgver=2.3.10 |
| 6 | pkgrel=0 |
| 7 | pkgdesc="Lightweight UPnP IGD & PCP/NAT-PMP daemon" |
| 8 | url="https://miniupnp.tuxfamily.org/" |
| 9 | arch="all" |
| 10 | license="BSD-3-Clause" |
| 11 | install="$pkgname.post-install" |
| 12 | depends="uuidgen" |
| 13 | makedepends="bsd-compat-headers iptables-dev libnfnetlink-dev libmnl-dev libnftnl-dev openssl-dev>3" |
| 14 | checkdepends="util-linux-dev" |
| 15 | subpackages="$pkgname-doc $pkgname-openrc |
| 16 | $pkgname-iptables:_fwscripts:noarch |
| 17 | $pkgname-ip6tables:_fwscripts:noarch |
| 18 | $pkgname-nftables |
| 19 | " |
| 20 | source="http://miniupnp.free.fr/files/miniupnpd-$pkgver.tar.gz |
| 21 | $pkgname.initd |
| 22 | " |
| 23 | # tests require a physical network device |
| 24 | options="!check" |
| 25 | |
| 26 | # secfixes: |
| 27 | # 2.3.10-r0: |
| 28 | # - CVE-2026-5720 |
| 29 | # 2.2.2-r0: |
| 30 | # - CVE-2019-12107 |
| 31 | # - CVE-2019-12108 |
| 32 | # - CVE-2019-12109 |
| 33 | # - CVE-2019-12110 |
| 34 | # - CVE-2019-12111 |
| 35 | |
| 36 | prepare() { |
| 37 | default_prepare |
| 38 | mv "$builddir" "${builddir}-iptables" |
| 39 | cp -al "${builddir}-iptables" "${builddir}-nftables" |
| 40 | } |
| 41 | |
| 42 | build_variant() { |
| 43 | cd "${srcdir}/${pkgname}-${pkgver}-$1" |
| 44 | ./configure \ |
| 45 | --firewall="$1" \ |
| 46 | --vendorcfg \ |
| 47 | --leasefile \ |
| 48 | --ipv6 \ |
| 49 | --igd2 |
| 50 | make ISGITREPO="" |
| 51 | } |
| 52 | |
| 53 | build() { |
| 54 | build_variant iptables |
| 55 | build_variant nftables |
| 56 | } |
| 57 | |
| 58 | check_variant() { |
| 59 | cd "${srcdir}/${pkgname}-${pkgver}-$1" |
| 60 | make check ISGITREPO="" |
| 61 | } |
| 62 | |
| 63 | check() { |
| 64 | check_variant iptables |
| 65 | check_variant nftables |
| 66 | } |
| 67 | |
| 68 | package() { |
| 69 | cd "${srcdir}/${pkgname}-${pkgver}-iptables" |
| 70 | make PREFIX="$pkgdir/" ISGITREPO="" install |
| 71 | install -m755 -D "$srcdir"/$pkgname.initd \ |
| 72 | "$pkgdir"/etc/init.d/$pkgname |
| 73 | } |
| 74 | |
| 75 | nftables() { |
| 76 | provides="${pkgname}=${pkgver}-r${pkgrel}" |
| 77 | cd "${srcdir}/${pkgname}-${pkgver}-nftables" |
| 78 | make PREFIX="$subpkgdir/" ISGITREPO="" install |
| 79 | |
| 80 | rm -rf "$subpkgdir"/etc/init.d |
| 81 | rm -rf "$subpkgdir"/usr/share |
| 82 | |
| 83 | install -D -m755 "${srcdir}/${pkgname}-${pkgver}-nftables/netfilter_nft/scripts/miniupnpd_functions.sh" "$subpkgdir"/etc/miniupnpd |
| 84 | } |
| 85 | |
| 86 | _fwscripts() { |
| 87 | depends= |
| 88 | local _tables=${subpkgname#$pkgname-} |
| 89 | pkgdesc="$_tables scripts for $pkgname" |
| 90 | install_if="$pkgname=$pkgver-r$pkgrel $_tables" |
| 91 | amove etc/miniupnpd/${_tables}_init.sh \ |
| 92 | etc/miniupnpd/${_tables}_removeall.sh |
| 93 | } |
| 94 | |
| 95 | sha512sums=" |
| 96 | 0e027730ea4c615eefc391c8f6b9160708abe7c3ee7a31677174880170c06fcb03cb3381750d9047a67a55c500d6e6b8c6692a88b0a192387dd82de602288390 miniupnpd-2.3.10.tar.gz |
| 97 | 3619d66b5d27369e9ae368f189fc4f4e25a803b460a954f47fd749195755bda8e828fbaa4e04ffc980aa72078f790d41a313c2ab7d0de7d4c284251a577b7a90 miniupnpd.initd |
| 98 | " |