* [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/files/, net-dns/dnsmasq/
@ 2016-05-31 22:19 Patrick McLean
0 siblings, 0 replies; 4+ messages in thread
From: Patrick McLean @ 2016-05-31 22:19 UTC (permalink / raw
To: gentoo-commits
commit: 82c65b45c21f0c64aaf06ced2177d58685caf9ac
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue May 31 22:19:27 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue May 31 22:19:37 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82c65b45
net-dns/dnsmasq: Clean out old versions
Package-Manager: portage-2.3.0_rc1
net-dns/dnsmasq/Manifest | 2 -
net-dns/dnsmasq/dnsmasq-2.66.ebuild | 139 ---------------
net-dns/dnsmasq/dnsmasq-2.72-r2.ebuild | 192 ---------------------
.../dnsmasq/files/dnsmasq-2.47-fbsd-config.patch | 16 --
.../files/dnsmasq-2.66-dhcp-option-zero.patch | 134 --------------
...up-servers.bind-when-many-servers-defined.patch | 28 ---
...receipt-of-certain-malformed-DNS-requests.patch | 40 -----
net-dns/dnsmasq/files/dnsmasq.service | 12 --
8 files changed, 563 deletions(-)
diff --git a/net-dns/dnsmasq/Manifest b/net-dns/dnsmasq/Manifest
index 3c7db91..2eea2d5 100644
--- a/net-dns/dnsmasq/Manifest
+++ b/net-dns/dnsmasq/Manifest
@@ -1,4 +1,2 @@
-DIST dnsmasq-2.66.tar.xz 401056 SHA256 5e143947527bcdc46a30f4b1bbdfbfa96333dd98bcecdac3b5b1d6cacfe06c75 SHA512 f0bde09f178ca15f4c28efb06901213af9a009b4476daa8a08bafc7682b9ffed13ac65c5c232acdf828382f321137de08b4a33108d22613b198fe30695b3362c WHIRLPOOL e749d24017c35fdbaaaf417decdf9316e235cf7f96f031caceee14d06b982c285b0e561f50597cd12b6a31ef554f7f2e22ca6234f44a6d8bb066dede99461166
-DIST dnsmasq-2.72.tar.xz 454048 SHA256 7d0bd23f5d74b3a6b26a75d5ffcf9db81d461b47cbe578cb65a83a98008600b1 SHA512 d84b89c987966a5f5880aa329833626b0a017628dd6aa667bdad880d1c5f101a386dddb439eb6983d58952a36f25670bf58df94281b89320f02895a3e6af4cec WHIRLPOOL 491eadb0060f372a0b7f5855fb57040c4baf37352732a2943fb4173aa28e875b91537f87085201f13e76ec5680e4ad681992829a5cef800833be0911298a793c
DIST dnsmasq-2.75.tar.xz 472484 SHA256 640c4e1d4c298e42458419cd78cfc26acc549401b1a34d271cd3e0e4226941f1 SHA512 dc6f64e8f04179bba4ceea5acbda4da27398e3e7a87f07ed645c383b0cccef416c438a859decff7be25849e28db9e53912693cdbf7f01ddd9bbf1d5e6ae2a8ec WHIRLPOOL ff2d0c2cb51cae6f2db09321c116003cdc512940001a839424a6ba1ba47deadfe412d01a0e68285250f7dbd9bef454c99e302805defc91783f703863c344b182
DIST dnsmasq-2.76.tar.xz 480796 SHA256 4b92698dee19ca0cb2a8f2e48f1d2dffd01a21eb15d1fbed4cf085630c8c9f96 SHA512 8a930f3e7cdc0c291ce89bea8128a4b8438b9aa9e660a2ac037e0baa4c5c74f4482a8f83b0410066a759444b3c4e1cf62a9beb625e38509690227996de10e06a WHIRLPOOL e0710f879fd6f8e27581b8c400704660941601cd2077f32d7c2b3f9791c6be8404469770e74f7e1a03880507a32a30c19b89f6a953a757ad01305f829448f0bc
diff --git a/net-dns/dnsmasq/dnsmasq-2.66.ebuild b/net-dns/dnsmasq/dnsmasq-2.66.ebuild
deleted file mode 100644
index a5dfba9..0000000
--- a/net-dns/dnsmasq/dnsmasq-2.66.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils toolchain-funcs flag-o-matic user systemd
-
-DESCRIPTION="Small forwarding DNS server"
-HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/"
-SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="auth-dns conntrack dbus +dhcp dhcp-tools idn ipv6 lua nls script selinux tftp"
-DM_LINGUAS="de es fi fr id it no pl pt_BR ro"
-for dm_lingua in ${DM_LINGUAS}; do
- IUSE+=" linguas_${dm_lingua}"
-done
-
-CDEPEND="dbus? ( sys-apps/dbus )
- idn? ( net-dns/libidn )
- lua? ( dev-lang/lua )
- conntrack? ( !s390? ( net-libs/libnetfilter_conntrack ) )
- nls? (
- sys-devel/gettext
- net-dns/libidn
- )"
-
-DEPEND="${CDEPEND}
- virtual/pkgconfig
- app-arch/xz-utils"
-
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-dnsmasq )"
-
-REQUIRED_USE="dhcp-tools? ( dhcp )
- lua? ( script )
- s390? ( !conntrack )"
-
-use_have() {
- local NO_ONLY=""
- if [ $1 == '-n' ]; then
- NO_ONLY=1
- shift
- fi
-
- local UWORD=${2:-$1}
- # Switch to ^^ when we switch to EAPI=6.
- #UWORD=${UWORD^^}
- UWORD=$(tr '[:lower:]' '[:upper:]' <<<"${UWORD}")
-
- if ! use ${1}; then
- echo " -DNO_${UWORD}"
- elif [ -z "${NO_ONLY}" ]; then
- echo " -DHAVE_${UWORD}"
- fi
-}
-
-pkg_setup() {
- enewgroup dnsmasq
- enewuser dnsmasq -1 -1 /dev/null dnsmasq
-}
-
-src_prepare() {
- # dnsmasq on FreeBSD wants the config file in a silly location, this fixes
- epatch "${FILESDIR}/${P}-dhcp-option-zero.patch"
- sed -i -r 's:lua5.[0-9]+:lua:' Makefile
-}
-
-src_configure() {
- COPTS="$(use_have -n auth-dns auth)"
- COPTS+="$(use_have conntrack)"
- COPTS+="$(use_have dbus)"
- COPTS+="$(use_have -n dhcp)"
- COPTS+="$(use_have idn)"
- COPTS+="$(use_have -n ipv6)"
- COPTS+="$(use_have lua luascript)"
- COPTS+="$(use_have -n script)"
- COPTS+="$(use_have -n tftp)"
- COPTS+="$(use ipv6 && use dhcp || echo " -DNO_DHCP6")"
-}
-
-src_compile() {
- emake \
- PREFIX=/usr \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- COPTS="${COPTS}" \
- CONFFILE="/etc/${PN}.conf" \
- all$(use nls && echo "-i18n")
-
- use dhcp-tools && emake -C contrib/wrt \
- PREFIX=/usr \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- all
-}
-
-src_install() {
- emake \
- PREFIX=/usr \
- MANDIR=/usr/share/man \
- DESTDIR="${D}" \
- install$(use nls && echo "-i18n")
-
- local lingua
- for lingua in ${DM_LINGUAS}; do
- use linguas_${lingua} || rm -rf "${D}"/usr/share/locale/${lingua}
- done
- rmdir --ignore-fail-on-non-empty "${D}"/usr/share/locale/
-
- dodoc CHANGELOG CHANGELOG.archive FAQ
- dodoc -r logo
-
- dodoc CHANGELOG FAQ
- dohtml *.html
-
- newinitd "${FILESDIR}"/dnsmasq-init-r2 dnsmasq
- newconfd "${FILESDIR}"/dnsmasq.confd-r1 dnsmasq
-
- insinto /etc
- newins dnsmasq.conf.example dnsmasq.conf
-
- if use dbus; then
- insinto /etc/dbus-1/system.d
- doins dbus/dnsmasq.conf
- fi
-
- if use dhcp-tools; then
- dosbin contrib/wrt/{dhcp_release,dhcp_lease_time}
- doman contrib/wrt/{dhcp_release,dhcp_lease_time}.1
- fi
-
- systemd_dounit "${FILESDIR}"/dnsmasq.service
-}
diff --git a/net-dns/dnsmasq/dnsmasq-2.72-r2.ebuild b/net-dns/dnsmasq/dnsmasq-2.72-r2.ebuild
deleted file mode 100644
index b119b06..0000000
--- a/net-dns/dnsmasq/dnsmasq-2.72-r2.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils toolchain-funcs flag-o-matic user systemd
-
-DESCRIPTION="Small forwarding DNS server"
-HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
-SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec idn ipv6 lua nls script selinux static tftp"
-DM_LINGUAS="de es fi fr id it no pl pt_BR ro"
-for dm_lingua in ${DM_LINGUAS}; do
- IUSE+=" linguas_${dm_lingua}"
-done
-
-CDEPEND="dbus? ( sys-apps/dbus )
- idn? ( net-dns/libidn )
- lua? (
- || (
- dev-lang/lua:0
- dev-lang/lua:5.1
- )
- )
- conntrack? ( net-libs/libnetfilter_conntrack )
- nls? (
- sys-devel/gettext
- net-dns/libidn
- )
-"
-
-DEPEND="${CDEPEND}
- app-arch/xz-utils
- dnssec? (
- dev-libs/nettle[gmp]
- static? (
- dev-libs/nettle[static-libs(+)]
- )
- )
- virtual/pkgconfig"
-
-RDEPEND="${CDEPEND}
- dnssec? (
- !static? (
- dev-libs/nettle[gmp]
- )
- )
- selinux? ( sec-policy/selinux-dnsmasq )
-"
-
-REQUIRED_USE="dhcp-tools? ( dhcp )
- lua? ( script )"
-
-use_have() {
- local useflag no_only uword
- if [[ $1 == '-n' ]]; then
- no_only=1
- shift
- fi
- useflag="${1}"
- shift
-
- uword="${1:-${useflag}}"
- shift
-
- while [[ ${uword} ]]; do
- # Switch to ^^ when we switch to EAPI=6.
- #uword=${uword^^}
- uword=$(tr '[:lower:]' '[:upper:]' <<<"${uword}")
-
- if ! use "${useflag}"; then
- echo -n " -DNO_${uword}"
- elif [[ -z "${no_only}" ]]; then
- echo -n " -DHAVE_${uword}"
- fi
- uword="${1}"
- shift
- done
-}
-
-pkg_pretend() {
- if use static; then
- einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
- use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense; the static USE flag is ignored."
- fi
-}
-
-pkg_setup() {
- enewgroup dnsmasq
- enewuser dnsmasq -1 -1 /dev/null dnsmasq
-}
-
-src_prepare() {
- sed -i -r 's:lua5.[0-9]+:lua:' Makefile
- sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" dnsmasq.conf.example
-
- epatch "${FILESDIR}"/${P}-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch
- epatch "${FILESDIR}"/${P}-Fix-crash-caused-by-looking-up-servers.bind-when-many-servers-defined.patch
-}
-
-src_configure() {
- COPTS="$(use_have -n auth-dns auth)"
- COPTS+="$(use_have conntrack)"
- COPTS+="$(use_have dbus)"
- COPTS+="$(use_have idn)"
- COPTS+="$(use_have -n dhcp dhcp dhcp6)"
- COPTS+="$(use_have -n ipv6 ipv6 dhcp6)"
- COPTS+="$(use_have lua luascript)"
- COPTS+="$(use_have -n script)"
- COPTS+="$(use_have -n tftp)"
- COPTS+="$(use_have dnssec)"
- COPTS+="$(use_have static dnssec_static)"
-}
-
-src_compile() {
- emake \
- PREFIX=/usr \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- COPTS="${COPTS}" \
- CONFFILE="/etc/${PN}.conf" \
- all$(use nls && echo "-i18n")
-
- use dhcp-tools && emake -C contrib/wrt \
- PREFIX=/usr \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- all
-}
-
-src_install() {
- local lingua puid
- emake \
- PREFIX=/usr \
- MANDIR=/usr/share/man \
- DESTDIR="${D}" \
- install$(use nls && echo "-i18n")
-
- for lingua in ${DM_LINGUAS}; do
- use linguas_${lingua} || rm -rf "${D}"/usr/share/locale/${lingua}
- done
- [[ -d "${D}"/usr/share/locale/ ]] && rmdir --ignore-fail-on-non-empty "${D}"/usr/share/locale/
-
- dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
- dodoc -r logo
-
- dodoc CHANGELOG FAQ
- dohtml *.html
-
- newinitd "${FILESDIR}"/dnsmasq-init-r2 ${PN}
- newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
-
- insinto /etc
- newins dnsmasq.conf.example dnsmasq.conf
-
- insinto /usr/share/dnsmasq
- doins trust-anchors.conf
-
- if use dhcp; then
- dodir /var/lib/misc
- newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r1 ${PN}
- fi
- if use dbus; then
- insinto /etc/dbus-1/system.d
- doins dbus/dnsmasq.conf
- fi
-
- if use dhcp-tools; then
- dosbin contrib/wrt/{dhcp_release,dhcp_lease_time}
- doman contrib/wrt/{dhcp_release,dhcp_lease_time}.1
- fi
-
- systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
-
-}
-
-pkg_preinst() {
- # temporary workaround to (hopefully) prevent leases file from being removed
- [[ -f /var/lib/misc/dnsmasq.leases ]] && cp /var/lib/misc/dnsmasq.leases "${T}"
-}
-
-pkg_postinst() {
- # temporary workaround to (hopefully) prevent leases file from being removed
- [[ -f "${T}"/dnsmasq.leases ]] && cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
-}
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.47-fbsd-config.patch b/net-dns/dnsmasq/files/dnsmasq-2.47-fbsd-config.patch
deleted file mode 100644
index 38a3679..0000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.47-fbsd-config.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur dnsmasq-2.47.orig/src/config.h dnsmasq-2.47/src/config.h
---- dnsmasq-2.47.orig/src/config.h 2009-02-05 07:14:24.000000000 -0500
-+++ dnsmasq-2.47/src/config.h 2009-03-30 00:04:52.000000000 -0400
-@@ -50,11 +50,7 @@
- #endif
-
- #ifndef CONFFILE
--# if defined(__FreeBSD__)
--# define CONFFILE "/usr/local/etc/dnsmasq.conf"
--# else
--# define CONFFILE "/etc/dnsmasq.conf"
--# endif
-+# define CONFFILE "/etc/dnsmasq.conf"
- #endif
-
- #define DEFLEASE 3600 /* default lease time, 1 hour */
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.66-dhcp-option-zero.patch b/net-dns/dnsmasq/files/dnsmasq-2.66-dhcp-option-zero.patch
deleted file mode 100644
index 6c52a53..0000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.66-dhcp-option-zero.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-commit bd08ae67f9a0cae2ce15be885254cad9449d4551
-Author: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri Apr 19 10:22:06 2013 +0100
-
- Allow option number zero in encapsulated DHCP options.
-
-diff --git a/src/dhcp-common.c b/src/dhcp-common.c
-index f4fd088..8de4268 100644
---- a/src/dhcp-common.c
-+++ b/src/dhcp-common.c
-@@ -512,7 +512,7 @@ void display_opts6(void)
- }
- #endif
-
--u16 lookup_dhcp_opt(int prot, char *name)
-+int lookup_dhcp_opt(int prot, char *name)
- {
- const struct opttab_t *t;
- int i;
-@@ -528,10 +528,10 @@ u16 lookup_dhcp_opt(int prot, char *name)
- if (strcasecmp(t[i].name, name) == 0)
- return t[i].val;
-
-- return 0;
-+ return -1;
- }
-
--u16 lookup_dhcp_len(int prot, u16 val)
-+int lookup_dhcp_len(int prot, int val)
- {
- const struct opttab_t *t;
- int i;
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 69ae7a7..41e2798 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -1216,8 +1216,8 @@ void log_tags(struct dhcp_netid *netid, u32 xid);
- int match_bytes(struct dhcp_opt *o, unsigned char *p, int len);
- void dhcp_update_configs(struct dhcp_config *configs);
- void display_opts(void);
--u16 lookup_dhcp_opt(int prot, char *name);
--u16 lookup_dhcp_len(int prot, u16 val);
-+int lookup_dhcp_opt(int prot, char *name);
-+int lookup_dhcp_len(int prot, int val);
- char *option_string(int prot, unsigned int opt, unsigned char *val,
- int opt_len, char *buf, int buf_len);
- #ifdef HAVE_LINUX_NETWORK
-diff --git a/src/option.c b/src/option.c
-index b2596ec..2a61017 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -750,6 +750,7 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
- struct dhcp_netid *np = NULL;
- u16 opt_len = 0;
- int is6 = 0;
-+ int option_ok = 0;
-
- new->len = 0;
- new->flags = flags;
-@@ -769,16 +770,19 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
- {
- new->opt = atoi(arg);
- opt_len = 0;
-+ option_ok = 1;
- break;
- }
-
- if (strstr(arg, "option:") == arg)
- {
-- new->opt = lookup_dhcp_opt(AF_INET, arg+7);
-- opt_len = lookup_dhcp_len(AF_INET, new->opt);
-- /* option:<optname> must follow tag and vendor string. */
-- if ((opt_len & OT_INTERNAL) && flags != DHOPT_MATCH)
-- new->opt = 0;
-+ if ((new->opt = lookup_dhcp_opt(AF_INET, arg+7)) != -1)
-+ {
-+ opt_len = lookup_dhcp_len(AF_INET, new->opt);
-+ /* option:<optname> must follow tag and vendor string. */
-+ if (!(opt_len & OT_INTERNAL) || flags == DHOPT_MATCH)
-+ option_ok = 1;
-+ }
- break;
- }
- #ifdef HAVE_DHCP6
-@@ -792,13 +796,16 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
- {
- new->opt = atoi(arg+8);
- opt_len = 0;
-+ option_ok = 1;
- }
- else
- {
-- new->opt = lookup_dhcp_opt(AF_INET6, arg+8);
-- opt_len = lookup_dhcp_len(AF_INET6, new->opt);
-- if ((opt_len & OT_INTERNAL) && flags != DHOPT_MATCH)
-- new->opt = 0;
-+ if ((new->opt = lookup_dhcp_opt(AF_INET6, arg+8)) != -1)
-+ {
-+ opt_len = lookup_dhcp_len(AF_INET6, new->opt);
-+ if (!(opt_len & OT_INTERNAL) || flags == DHOPT_MATCH)
-+ option_ok = 1;
-+ }
- }
- /* option6:<opt>|<optname> must follow tag and vendor string. */
- is6 = 1;
-@@ -821,7 +828,7 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
- new->flags |= DHOPT_RFC3925;
- if (flags == DHOPT_MATCH)
- {
-- new->opt = 1; /* avoid error below */
-+ option_ok = 1;
- break;
- }
- }
-@@ -848,16 +855,16 @@ static int parse_dhcp_opt(char *errstr, char *arg, int flags)
-
- if (opt_len == 0 &&
- !(new->flags & DHOPT_RFC3925))
-- opt_len = lookup_dhcp_len(AF_INET6 ,new->opt);
-+ opt_len = lookup_dhcp_len(AF_INET6, new->opt);
- }
- else
- #endif
- if (opt_len == 0 &&
- !(new->flags & (DHOPT_VENDOR | DHOPT_ENCAPSULATE | DHOPT_RFC3925)))
-- opt_len = lookup_dhcp_len(AF_INET ,new->opt);
-+ opt_len = lookup_dhcp_len(AF_INET, new->opt);
-
- /* option may be missing with rfc3925 match */
-- if (new->opt == 0)
-+ if (!option_ok)
- ret_err(_("bad dhcp-option"));
-
- if (comma)
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-caused-by-looking-up-servers.bind-when-many-servers-defined.patch b/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-caused-by-looking-up-servers.bind-when-many-servers-defined.patch
deleted file mode 100644
index 57708b6..0000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-caused-by-looking-up-servers.bind-when-many-servers-defined.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 04b0ac05377936d121a36873bb63d492cde292c9
-Author: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon Apr 6 17:19:13 2015 +0100
-
- Fix crash caused by looking up servers.bind when many servers defined.
-
-diff --git a/src/cache.c b/src/cache.c
-index d7bea57..178d654 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1367,7 +1367,7 @@ int cache_make_stat(struct txt_record *t)
- }
- port = prettyprint_addr(&serv->addr, daemon->addrbuff);
- lenp = p++; /* length */
-- bytes_avail = (p - buff) + bufflen;
-+ bytes_avail = bufflen - (p - buff );
- bytes_needed = snprintf(p, bytes_avail, "%s#%d %u %u", daemon->addrbuff, port, queries, failed_queries);
- if (bytes_needed >= bytes_avail)
- {
-@@ -1381,7 +1381,7 @@ int cache_make_stat(struct txt_record *t)
- lenp = p - 1;
- buff = new;
- bufflen = newlen;
-- bytes_avail = (p - buff) + bufflen;
-+ bytes_avail = bufflen - (p - buff );
- bytes_needed = snprintf(p, bytes_avail, "%s#%d %u %u", daemon->addrbuff, port, queries, failed_queries);
- }
- *lenp = bytes_needed;
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch b/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch
deleted file mode 100644
index c6106db..0000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.72-Fix-crash-on-receipt-of-certain-malformed-DNS-requests.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-commit ad4a8ff7d9097008d7623df8543df435bfddeac8
-Author: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu Apr 9 21:48:00 2015 +0100
-
- Fix crash on receipt of certain malformed DNS requests.
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 7a07b0c..a995ab5 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1198,7 +1198,10 @@ unsigned int extract_request(struct dns_header *header, size_t qlen, char *name,
- size_t setup_reply(struct dns_header *header, size_t qlen,
- struct all_addr *addrp, unsigned int flags, unsigned long ttl)
- {
-- unsigned char *p = skip_questions(header, qlen);
-+ unsigned char *p;
-+
-+ if (!(p = skip_questions(header, qlen)))
-+ return 0;
-
- /* clear authoritative and truncated flags, set QR flag */
- header->hb3 = (header->hb3 & ~(HB3_AA | HB3_TC)) | HB3_QR;
-@@ -1214,7 +1217,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen,
- SET_RCODE(header, NOERROR); /* empty domain */
- else if (flags == F_NXDOMAIN)
- SET_RCODE(header, NXDOMAIN);
-- else if (p && flags == F_IPV4)
-+ else if (flags == F_IPV4)
- { /* we know the address */
- SET_RCODE(header, NOERROR);
- header->ancount = htons(1);
-@@ -1222,7 +1225,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen,
- add_resource_record(header, NULL, NULL, sizeof(struct dns_header), &p, ttl, NULL, T_A, C_IN, "4", addrp);
- }
- #ifdef HAVE_IPV6
-- else if (p && flags == F_IPV6)
-+ else if (flags == F_IPV6)
- {
- SET_RCODE(header, NOERROR);
- header->ancount = htons(1);
diff --git a/net-dns/dnsmasq/files/dnsmasq.service b/net-dns/dnsmasq/files/dnsmasq.service
deleted file mode 100644
index 8e313bc..0000000
--- a/net-dns/dnsmasq/files/dnsmasq.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=A lightweight DHCP and caching DNS server
-After=network.target
-
-[Service]
-Type=simple
-ExecStartPre=/usr/sbin/dnsmasq --test
-ExecStart=/usr/sbin/dnsmasq -k --user=dnsmasq --group=dnsmasq
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/files/, net-dns/dnsmasq/
@ 2016-12-10 6:01 Patrick McLean
0 siblings, 0 replies; 4+ messages in thread
From: Patrick McLean @ 2016-12-10 6:01 UTC (permalink / raw
To: gentoo-commits
commit: b833afd6410c2e7dde0cae40ac20d218a5ae425e
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 10 06:01:15 2016 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Dec 10 06:01:15 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b833afd6
net-dns/dnsmasq: Revision bump, add patch to fix caching of bound sockets
This also adds gentoo prefix support.
Gentoo-Bug: 601920
Package-Manager: portage-2.3.3
net-dns/dnsmasq/dnsmasq-2.76-r1.ebuild | 193 +++++++++++++++++++++
...-binding-upstream-servers-to-an-interface.patch | 135 ++++++++++++++
2 files changed, 328 insertions(+)
diff --git a/net-dns/dnsmasq/dnsmasq-2.76-r1.ebuild b/net-dns/dnsmasq/dnsmasq-2.76-r1.ebuild
new file mode 100644
index 00000000..8a754fc
--- /dev/null
+++ b/net-dns/dnsmasq/dnsmasq-2.76-r1.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils toolchain-funcs flag-o-matic user systemd
+
+DESCRIPTION="Small forwarding DNS server"
+HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
+SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec idn +inotify ipv6 lua nls script selinux static tftp"
+DM_LINGUAS="de es fi fr id it no pl pt_BR ro"
+for dm_lingua in ${DM_LINGUAS}; do
+ IUSE+=" linguas_${dm_lingua}"
+done
+
+CDEPEND="dbus? ( sys-apps/dbus )
+ idn? ( net-dns/libidn )
+ lua? ( dev-lang/lua:* )
+ conntrack? ( net-libs/libnetfilter_conntrack )
+ nls? (
+ sys-devel/gettext
+ net-dns/libidn
+ )
+"
+
+DEPEND="${CDEPEND}
+ app-arch/xz-utils
+ dnssec? (
+ dev-libs/nettle[gmp]
+ static? (
+ dev-libs/nettle[static-libs(+)]
+ )
+ )
+ virtual/pkgconfig"
+
+RDEPEND="${CDEPEND}
+ dnssec? (
+ !static? (
+ dev-libs/nettle[gmp]
+ )
+ )
+ selinux? ( sec-policy/selinux-dnsmasq )
+"
+
+REQUIRED_USE="dhcp-tools? ( dhcp )
+ lua? ( script )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-handle-binding-upstream-servers-to-an-interface.patch"
+)
+
+use_have() {
+ local useflag no_only uword
+ if [[ $1 == '-n' ]]; then
+ no_only=1
+ shift
+ fi
+ useflag="${1}"
+ shift
+
+ uword="${1:-${useflag}}"
+ shift
+
+ while [[ ${uword} ]]; do
+ uword="${uword^^}"
+
+ if ! use "${useflag}"; then
+ printf " -DNO_%s" "${uword}"
+ elif [[ -z "${no_only}" ]]; then
+ printf " -DHAVE_%s" "${uword}"
+ fi
+ uword="${1}"
+ shift
+ done
+}
+
+pkg_pretend() {
+ if use static; then
+ einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
+ use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense; the static USE flag is ignored."
+ fi
+}
+
+pkg_setup() {
+ enewgroup dnsmasq
+ enewuser dnsmasq -1 -1 /dev/null dnsmasq
+}
+
+src_prepare() {
+ default
+
+ sed -i -r 's:lua5.[0-9]+:lua:' Makefile
+ sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" dnsmasq.conf.example
+}
+
+src_configure() {
+ COPTS="$(use_have -n auth-dns auth)"
+ COPTS+="$(use_have conntrack)"
+ COPTS+="$(use_have dbus)"
+ COPTS+="$(use_have idn)"
+ COPTS+="$(use_have -n inotify)"
+ COPTS+="$(use_have -n dhcp dhcp dhcp6)"
+ COPTS+="$(use_have -n ipv6 ipv6 dhcp6)"
+ COPTS+="$(use_have lua luascript)"
+ COPTS+="$(use_have -n script)"
+ COPTS+="$(use_have -n tftp)"
+ COPTS+="$(use_have dnssec)"
+ COPTS+="$(use_have static dnssec_static)"
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ MANDIR="${EPREFIX}/usr/share/man" \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ COPTS="${COPTS}" \
+ CONFFILE="${EPREFIX}/etc/${PN}.conf" \
+ all$(use nls && echo "-i18n")
+
+ use dhcp-tools && emake -C contrib/lease-tools \
+ PREFIX="${EPREFIX}/usr" \
+ MANDIR="${EPREFIX}/usr/share/man" \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ all
+}
+
+src_install() {
+ local lingua puid
+ emake \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ COPTS="${COPTS}" \
+ DESTDIR="${ED}" \
+ install$(use nls && echo "-i18n")
+
+ for lingua in ${DM_LINGUAS}; do
+ use linguas_${lingua} || rm -rf "${D}"/usr/share/locale/${lingua}
+ done
+ [[ -d "${ED}"/usr/share/locale/ ]] && rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
+
+ dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
+ dodoc -r logo
+
+ docinto html/
+ dodoc *.html
+
+ newinitd "${FILESDIR}"/dnsmasq-init-r2 ${PN}
+ newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
+
+ insinto /etc
+ newins dnsmasq.conf.example dnsmasq.conf
+
+ insinto /usr/share/dnsmasq
+ doins trust-anchors.conf
+
+ if use dhcp; then
+ dodir /var/lib/misc
+ newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r1 ${PN}
+ fi
+ if use dbus; then
+ insinto /etc/dbus-1/system.d
+ doins dbus/dnsmasq.conf
+ fi
+
+ if use dhcp-tools; then
+ dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
+ doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
+ fi
+
+ systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+}
+
+pkg_preinst() {
+ # temporary workaround to (hopefully) prevent leases file from being removed
+ [[ -f /var/lib/misc/dnsmasq.leases ]] && cp /var/lib/misc/dnsmasq.leases "${T}"
+}
+
+pkg_postinst() {
+ # temporary workaround to (hopefully) prevent leases file from being removed
+ [[ -f "${T}"/dnsmasq.leases ]] && cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
+}
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.76-handle-binding-upstream-servers-to-an-interface.patch b/net-dns/dnsmasq/files/dnsmasq-2.76-handle-binding-upstream-servers-to-an-interface.patch
new file mode 100644
index 00000000..463c935
--- /dev/null
+++ b/net-dns/dnsmasq/files/dnsmasq-2.76-handle-binding-upstream-servers-to-an-interface.patch
@@ -0,0 +1,135 @@
+From 2675f2061525bc954be14988d64384b74aa7bf8b Mon Sep 17 00:00:00 2001
+From: Beniamino Galvani <bgalvani@redhat.com>
+Date: Sun, 28 Aug 2016 20:44:05 +0100
+Subject: [PATCH] Handle binding upstream servers to an interface
+ (--server=1.2.3.4@eth0) when the named interface is
+ destroyed and recreated in the kernel.
+
+---
+ CHANGELOG | 5 +++++
+ src/dnsmasq.h | 1 +
+ src/network.c | 31 +++++++++++++++++++++++++++++--
+ 3 files changed, 35 insertions(+), 2 deletions(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index 2731cc4..5bcce38 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -30,6 +30,11 @@ version 2.77
+ and are now converted to names like
+ <prefix>--ffff-1-2-3-4.<domain>
+
++ Handle binding upstream servers to an interface
++ (--server=1.2.3.4@eth0) when the named interface
++ is destroyed and recreated in the kernel. Thanks to
++ Beniamino Galvani for the patch.
++
+
+ version 2.76
+ Include 0.0.0.0/8 in DNS rebind checks. This range
+diff --git a/src/dnsmasq.h b/src/dnsmasq.h
+index 27385a9..f239ce5 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -488,6 +488,7 @@ struct serverfd {
+ int fd;
+ union mysockaddr source_addr;
+ char interface[IF_NAMESIZE+1];
++ unsigned int ifindex, used;
+ struct serverfd *next;
+ };
+
+diff --git a/src/network.c b/src/network.c
+index e7722fd..ddf8d31 100644
+--- a/src/network.c
++++ b/src/network.c
+@@ -1204,6 +1204,7 @@ int local_bind(int fd, union mysockaddr *addr, char *intname, int is_tcp)
+ static struct serverfd *allocate_sfd(union mysockaddr *addr, char *intname)
+ {
+ struct serverfd *sfd;
++ unsigned int ifindex = 0;
+ int errsave;
+
+ /* when using random ports, servers which would otherwise use
+@@ -1224,11 +1225,15 @@ static struct serverfd *allocate_sfd(union mysockaddr *addr, char *intname)
+ return NULL;
+ #endif
+ }
++
++ if (intname && strlen(intname) != 0)
++ ifindex = if_nametoindex(intname); /* index == 0 when not binding to an interface */
+
+ /* may have a suitable one already */
+ for (sfd = daemon->sfds; sfd; sfd = sfd->next )
+ if (sockaddr_isequal(&sfd->source_addr, addr) &&
+- strcmp(intname, sfd->interface) == 0)
++ strcmp(intname, sfd->interface) == 0 &&
++ ifindex == sfd->ifindex)
+ return sfd;
+
+ /* need to make a new one. */
+@@ -1250,11 +1255,13 @@ static struct serverfd *allocate_sfd(union mysockaddr *addr, char *intname)
+ errno = errsave;
+ return NULL;
+ }
+-
++
+ strcpy(sfd->interface, intname);
+ sfd->source_addr = *addr;
+ sfd->next = daemon->sfds;
++ sfd->ifindex = ifindex;
+ daemon->sfds = sfd;
++
+ return sfd;
+ }
+
+@@ -1429,12 +1436,16 @@ void check_servers(void)
+ {
+ struct irec *iface;
+ struct server *serv;
++ struct serverfd *sfd, *tmp, **up;
+ int port = 0, count;
+
+ /* interface may be new since startup */
+ if (!option_bool(OPT_NOWILD))
+ enumerate_interfaces(0);
+
++ for (sfd = daemon->sfds; sfd; sfd = sfd->next)
++ sfd->used = 0;
++
+ #ifdef HAVE_DNSSEC
+ /* Disable DNSSEC validation when using server=/domain/.... servers
+ unless there's a configured trust anchor. */
+@@ -1505,6 +1516,8 @@ void check_servers(void)
+ serv->flags |= SERV_MARK;
+ continue;
+ }
++
++ serv->sfd->used = 1;
+ }
+
+ if (!(serv->flags & SERV_NO_REBIND) && !(serv->flags & SERV_LITERAL_ADDRESS))
+@@ -1547,6 +1560,20 @@ void check_servers(void)
+ if (count - 1 > SERVERS_LOGGED)
+ my_syslog(LOG_INFO, _("using %d more nameservers"), count - SERVERS_LOGGED - 1);
+
++ /* Remove unused sfds */
++ for (sfd = daemon->sfds, up = &daemon->sfds; sfd; sfd = tmp)
++ {
++ tmp = sfd->next;
++ if (!sfd->used)
++ {
++ *up = sfd->next;
++ close(sfd->fd);
++ free(sfd);
++ }
++ else
++ up = &sfd->next;
++ }
++
+ cleanup_servers();
+ }
+
+--
+1.7.10.4
+
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/files/, net-dns/dnsmasq/
@ 2019-07-03 21:36 Patrick McLean
0 siblings, 0 replies; 4+ messages in thread
From: Patrick McLean @ 2019-07-03 21:36 UTC (permalink / raw
To: gentoo-commits
commit: 232e5f1c871dffeddf6dce91d803a4e8354c0b9c
Author: Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 27 16:32:12 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jul 3 21:35:59 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=232e5f1c
net-dns/dnsmasq: Compatibility with dev-libs/nettle-3.5
Closes: https://bugs.gentoo.org/688778
Package-Manager: Portage-2.3.67, Repoman-2.3.16
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/12342
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
net-dns/dnsmasq/dnsmasq-2.80-r1.ebuild | 213 +++++++++++++++++++++
.../dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch | 42 ++++
2 files changed, 255 insertions(+)
diff --git a/net-dns/dnsmasq/dnsmasq-2.80-r1.ebuild b/net-dns/dnsmasq/dnsmasq-2.80-r1.ebuild
new file mode 100644
index 00000000000..20c55be8ff0
--- /dev/null
+++ b/net-dns/dnsmasq/dnsmasq-2.80-r1.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2019 Gentoo Authors
+# Copyright 2017-2018 Sony Interactive Entertainment Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic user systemd
+
+DESCRIPTION="Small forwarding DNS server"
+HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
+SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+
+IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2"
+IUSE+=" +inotify ipv6 lua nls script selinux static tftp"
+
+PATCHES=(
+ "${FILESDIR}/${P}-nettle-3.5.patch"
+)
+
+DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
+
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+COMMON_DEPEND="dbus? ( sys-apps/dbus:= )
+ idn? (
+ !libidn2? ( net-dns/libidn:0= )
+ libidn2? ( >=net-dns/libidn2-2.0:= )
+ )
+ lua? ( dev-lang/lua:* )
+ conntrack? ( net-libs/libnetfilter_conntrack:= )
+ nls? ( sys-devel/gettext )
+"
+
+DEPEND="${COMMON_DEPEND}
+ dnssec? (
+ dev-libs/nettle:=[gmp]
+ static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
+ )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ dnssec? (
+ !static? (
+ >=dev-libs/nettle-3.4:=[gmp]
+ )
+ )
+ selinux? ( sec-policy/selinux-dnsmasq )
+"
+
+REQUIRED_USE="dhcp-tools? ( dhcp )
+ lua? ( script )
+ libidn2? ( idn )"
+
+use_have() {
+ local useflag no_only uword
+ if [[ ${1} == '-n' ]]; then
+ no_only=1
+ shift
+ fi
+ useflag="${1}"
+ shift
+
+ uword="${1:-${useflag}}"
+ shift
+
+ while [[ ${uword} ]]; do
+ uword="${uword^^}"
+
+ if ! use "${useflag}"; then
+ printf -- " -DNO_%s" "${uword}"
+ elif [[ -z "${no_only}" ]]; then
+ printf -- " -DHAVE_%s" "${uword}"
+ fi
+ uword="${1}"
+ shift
+ done
+}
+
+pkg_pretend() {
+ if use static; then
+ einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
+ use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense;" \
+ "the static USE flag is ignored."
+ fi
+}
+
+pkg_setup() {
+ enewgroup dnsmasq
+ enewuser dnsmasq -1 -1 /dev/null dnsmasq
+}
+
+src_prepare() {
+ default
+
+ sed -i -r 's:lua5.[0-9]+:lua:' Makefile
+ sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" dnsmasq.conf.example
+}
+
+src_configure() {
+ COPTS=(
+ "$(use_have -n auth-dns auth)"
+ "$(use_have conntrack)"
+ "$(use_have dbus)"
+ "$(use libidn2 || use_have idn)"
+ "$(use_have libidn2)"
+ "$(use_have -n inotify)"
+ "$(use_have -n dhcp dhcp dhcp6)"
+ "$(use_have -n ipv6 ipv6 dhcp6)"
+ "$(use_have -n id id)"
+ "$(use_have lua luascript)"
+ "$(use_have -n script)"
+ "$(use_have -n tftp)"
+ "$(use_have dnssec)"
+ "$(use_have static dnssec_static)"
+ "$(use_have -n dumpfile)"
+ )
+}
+
+src_compile() {
+ emake \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ COPTS="${COPTS[*]}" \
+ CONFFILE="/etc/${PN}.conf" \
+ all$(use nls && printf -- "-i18n\n")
+
+ use dhcp-tools && emake -C contrib/lease-tools \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ CC="$(tc-getCC)" \
+ PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ all
+}
+
+src_install() {
+ local lingua puid
+ emake \
+ PREFIX=/usr \
+ MANDIR=/usr/share/man \
+ COPTS="${COPTS[*]}" \
+ DESTDIR="${ED}" \
+ install$(use nls && printf -- "-i18n\n")
+
+ for lingua in "${DM_LINGUAS[@]}"; do
+ has ${lingua} ${LINGUAS-${lingua}} \
+ || rm -rf "${ED}"/usr/share/locale/${lingua}
+ done
+ [[ -d "${D}"/usr/share/locale/ ]] && \
+ rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
+
+ dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
+ dodoc -r logo
+
+ docinto html/
+ dodoc *.html
+
+ newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN}
+ newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/dnsmasq.logrotate ${PN}
+
+ insinto /etc
+ newins dnsmasq.conf.example dnsmasq.conf
+
+ insinto /usr/share/dnsmasq
+ doins trust-anchors.conf
+
+ if use dhcp; then
+ keepdir /var/lib/misc
+ newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN}
+ fi
+ if use dbus; then
+ insinto /etc/dbus-1/system.d
+ doins dbus/dnsmasq.conf
+ fi
+
+ if use dhcp-tools; then
+ dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
+ doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
+ if use ipv6; then
+ dosbin contrib/lease-tools/dhcp_release6
+ doman contrib/lease-tools/dhcp_release6.1
+ fi
+ fi
+
+ systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
+}
+
+pkg_preinst() {
+ # temporary workaround to (hopefully) prevent leases file from being removed
+ [[ -f /var/lib/misc/dnsmasq.leases ]] && \
+ cp /var/lib/misc/dnsmasq.leases "${T}"
+}
+
+pkg_postinst() {
+ # temporary workaround to (hopefully) prevent leases file from being removed
+ [[ -f "${T}"/dnsmasq.leases ]] && \
+ cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
+}
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch b/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch
new file mode 100644
index 00000000000..7d77a21de7c
--- /dev/null
+++ b/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch
@@ -0,0 +1,42 @@
+From 6fd9aba7abe1e084123bc5002959350897774ace Mon Sep 17 00:00:00 2001
+From: Vladislav Grishenko <themiron@mail.ru>
+Date: Wed, 26 Jun 2019 20:27:11 +0500
+Subject: [PATCH] Fix build with libnettle 3.5
+
+---
+ src/crypto.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/crypto.c b/src/crypto.c
+index 1f1c12b..9cfe371 100644
+--- a/src/crypto.c
++++ b/src/crypto.c
+@@ -296,6 +296,10 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
+ static struct ecc_point *key_256 = NULL, *key_384 = NULL;
+ static mpz_t x, y;
+ static struct dsa_signature *sig_struct;
++#if NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR < 4
++#define nettle_get_secp_256r1() (&nettle_secp_256r1)
++#define nettle_get_secp_384r1() (&nettle_secp_384r1)
++#endif
+
+ if (!sig_struct)
+ {
+@@ -315,7 +319,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
+ if (!(key_256 = whine_malloc(sizeof(struct ecc_point))))
+ return 0;
+
+- nettle_ecc_point_init(key_256, &nettle_secp_256r1);
++ nettle_ecc_point_init(key_256, nettle_get_secp_256r1());
+ }
+
+ key = key_256;
+@@ -328,7 +332,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
+ if (!(key_384 = whine_malloc(sizeof(struct ecc_point))))
+ return 0;
+
+- nettle_ecc_point_init(key_384, &nettle_secp_384r1);
++ nettle_ecc_point_init(key_384, nettle_get_secp_384r1());
+ }
+
+ key = key_384;
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/files/, net-dns/dnsmasq/
@ 2020-05-17 20:27 Patrick McLean
0 siblings, 0 replies; 4+ messages in thread
From: Patrick McLean @ 2020-05-17 20:27 UTC (permalink / raw
To: gentoo-commits
commit: d7e21fcab1e828d5818511fd9ca7f433ee9a3c0c
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sun May 17 17:18:19 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sun May 17 20:26:56 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7e21fca
net-nds/dnsmasq: drop old
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
net-dns/dnsmasq/Manifest | 1 -
net-dns/dnsmasq/dnsmasq-2.80-r2.ebuild | 214 ---------------------
.../files/dnsmasq-2.80-cve-2019-14834.patch | 39 ----
| 25 ---
.../dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch | 42 ----
5 files changed, 321 deletions(-)
diff --git a/net-dns/dnsmasq/Manifest b/net-dns/dnsmasq/Manifest
index 39931332aaa..2fc501fa830 100644
--- a/net-dns/dnsmasq/Manifest
+++ b/net-dns/dnsmasq/Manifest
@@ -1,2 +1 @@
-DIST dnsmasq-2.80.tar.xz 501072 BLAKE2B 39c9808df43a22e32286105c9e001b2f817a4f68b92b84282eeb8cfeaa61404d64275bbb3f944bec6fac1b015987fba6aeab7a88201446c0cff67f02c8d88d8c SHA512 58e56beb553fc41311e5dc16d8b0eb3b6801e2bdfbcd0e7a6659703f08960b6ad10d48b0b14a4d727636faf35483e01597cff2ae49e7fe9fa9e214f437b1c068
DIST dnsmasq-2.81.tar.xz 510648 BLAKE2B 07861888df11f6e2e02d1b80f4e82a407b558ddb34e016f7bda5cb449ee870db000683264b2e36987ece16d50ab773f239bf12dd3468b9529ae4dccd77ecb8ee SHA512 85550c9782fef9b0710d0e233523ed1fe26e877a8bc53fcea3f7cf1fb17c3a79c46f284a99dab2bdaf6a107ea3f1a71cec476ab6d4e1b936da6591aaef42c88e
diff --git a/net-dns/dnsmasq/dnsmasq-2.80-r2.ebuild b/net-dns/dnsmasq/dnsmasq-2.80-r2.ebuild
deleted file mode 100644
index b1920a18291..00000000000
--- a/net-dns/dnsmasq/dnsmasq-2.80-r2.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs flag-o-matic user systemd
-
-DESCRIPTION="Small forwarding DNS server"
-HOMEPAGE="http://www.thekelleys.org.uk/dnsmasq/doc.html"
-SRC_URI="http://www.thekelleys.org.uk/dnsmasq/${P}.tar.xz"
-
-LICENSE="|| ( GPL-2 GPL-3 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-
-IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2"
-IUSE+=" +inotify ipv6 lua nls script selinux static tftp"
-
-DM_LINGUAS=(de es fi fr id it no pl pt_BR ro)
-
-BDEPEND="app-arch/xz-utils
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-
-COMMON_DEPEND="dbus? ( sys-apps/dbus:= )
- idn? (
- !libidn2? ( net-dns/libidn:0= )
- libidn2? ( >=net-dns/libidn2-2.0:= )
- )
- lua? ( dev-lang/lua:* )
- conntrack? ( net-libs/libnetfilter_conntrack:= )
- nls? ( sys-devel/gettext )
-"
-
-DEPEND="${COMMON_DEPEND}
- dnssec? (
- dev-libs/nettle:=[gmp]
- static? ( >=dev-libs/nettle-3.4[static-libs(+)] )
- )
-"
-
-RDEPEND="${COMMON_DEPEND}
- dnssec? (
- !static? (
- >=dev-libs/nettle-3.4:=[gmp]
- )
- )
- selinux? ( sec-policy/selinux-dnsmasq )
-"
-
-REQUIRED_USE="dhcp-tools? ( dhcp )
- lua? ( script )
- libidn2? ( idn )"
-
-PATCHES=(
- "${FILESDIR}/dnsmasq-2.80-nettle-3.5.patch"
- "${FILESDIR}/dnsmasq-2.80-linux-headers-5.2.patch"
- "${FILESDIR}/dnsmasq-2.80-cve-2019-14834.patch"
-)
-
-use_have() {
- local useflag no_only uword
- if [[ ${1} == '-n' ]]; then
- no_only=1
- shift
- fi
- useflag="${1}"
- shift
-
- uword="${1:-${useflag}}"
- shift
-
- while [[ ${uword} ]]; do
- uword="${uword^^}"
-
- if ! use "${useflag}"; then
- printf -- " -DNO_%s" "${uword}"
- elif [[ -z "${no_only}" ]]; then
- printf -- " -DHAVE_%s" "${uword}"
- fi
- uword="${1}"
- shift
- done
-}
-
-pkg_pretend() {
- if use static; then
- einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked."
- use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense;" \
- "the static USE flag is ignored."
- fi
-}
-
-pkg_setup() {
- enewgroup dnsmasq
- enewuser dnsmasq -1 -1 /dev/null dnsmasq
-}
-
-src_prepare() {
- default
-
- sed -i -r 's:lua5.[0-9]+:lua:' Makefile
- sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" dnsmasq.conf.example
-}
-
-src_configure() {
- COPTS=(
- "$(use_have -n auth-dns auth)"
- "$(use_have conntrack)"
- "$(use_have dbus)"
- "$(use libidn2 || use_have idn)"
- "$(use_have libidn2)"
- "$(use_have -n inotify)"
- "$(use_have -n dhcp dhcp dhcp6)"
- "$(use_have -n ipv6 ipv6 dhcp6)"
- "$(use_have -n id id)"
- "$(use_have lua luascript)"
- "$(use_have -n script)"
- "$(use_have -n tftp)"
- "$(use_have dnssec)"
- "$(use_have static dnssec_static)"
- "$(use_have -n dumpfile)"
- )
-}
-
-src_compile() {
- emake \
- PREFIX=/usr \
- MANDIR=/usr/share/man \
- CC="$(tc-getCC)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- COPTS="${COPTS[*]}" \
- CONFFILE="/etc/${PN}.conf" \
- all$(use nls && printf -- "-i18n\n")
-
- use dhcp-tools && emake -C contrib/lease-tools \
- PREFIX=/usr \
- MANDIR=/usr/share/man \
- CC="$(tc-getCC)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- all
-}
-
-src_install() {
- local lingua puid
- emake \
- PREFIX=/usr \
- MANDIR=/usr/share/man \
- COPTS="${COPTS[*]}" \
- DESTDIR="${ED}" \
- install$(use nls && printf -- "-i18n\n")
-
- for lingua in "${DM_LINGUAS[@]}"; do
- has ${lingua} ${LINGUAS-${lingua}} \
- || rm -rf "${ED}"/usr/share/locale/${lingua}
- done
- [[ -d "${D}"/usr/share/locale/ ]] && \
- rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/
-
- dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example
- dodoc -r logo
-
- docinto html/
- dodoc *.html
-
- newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN}
- newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN}
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/dnsmasq.logrotate ${PN}
-
- insinto /etc
- newins dnsmasq.conf.example dnsmasq.conf
-
- insinto /usr/share/dnsmasq
- doins trust-anchors.conf
-
- if use dhcp; then
- keepdir /var/lib/misc
- newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN}
- fi
- if use dbus; then
- insinto /etc/dbus-1/system.d
- doins dbus/dnsmasq.conf
- fi
-
- if use dhcp-tools; then
- dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time}
- doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1
- if use ipv6; then
- dosbin contrib/lease-tools/dhcp_release6
- doman contrib/lease-tools/dhcp_release6.1
- fi
- fi
-
- systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
-}
-
-pkg_preinst() {
- # temporary workaround to (hopefully) prevent leases file from being removed
- [[ -f /var/lib/misc/dnsmasq.leases ]] && \
- cp /var/lib/misc/dnsmasq.leases "${T}"
-}
-
-pkg_postinst() {
- # temporary workaround to (hopefully) prevent leases file from being removed
- [[ -f "${T}"/dnsmasq.leases ]] && \
- cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases
-}
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.80-cve-2019-14834.patch b/net-dns/dnsmasq/files/dnsmasq-2.80-cve-2019-14834.patch
deleted file mode 100644
index a44ceabece7..00000000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.80-cve-2019-14834.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Fix memory leak in helper.c
-
-Thanks to Xu Mingjie <xumingjie1995@outlook.com> for spotting this.
-
-author: Simon Kelley <simon@thekelleys.org.uk>
-commit-url: http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=69bc94779c2f035a9fffdb5327a54c3aeca73ed5
-diff --git a/src/helper.c b/src/helper.c
-index 33ba120..c392eec 100644 (file)
---- a/src/helper.c
-+++ b/src/helper.c
-@@ -80,7 +80,8 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
- pid_t pid;
- int i, pipefd[2];
- struct sigaction sigact;
--
-+ unsigned char *alloc_buff = NULL;
-+
- /* create the pipe through which the main program sends us commands,
- then fork our process. */
- if (pipe(pipefd) == -1 || !fix_fd(pipefd[1]) || (pid = fork()) == -1)
-@@ -186,11 +187,16 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
- struct script_data data;
- char *p, *action_str, *hostname = NULL, *domain = NULL;
- unsigned char *buf = (unsigned char *)daemon->namebuff;
-- unsigned char *end, *extradata, *alloc_buff = NULL;
-+ unsigned char *end, *extradata;
- int is6, err = 0;
- int pipeout[2];
-
-- free(alloc_buff);
-+ /* Free rarely-allocated memory from previous iteration. */
-+ if (alloc_buff)
-+ {
-+ free(alloc_buff);
-+ alloc_buff = NULL;
-+ }
-
- /* we read zero bytes when pipe closed: this is our signal to exit */
- if (!read_write(pipefd[0], (unsigned char *)&data, sizeof(data), 1))
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.80-linux-headers-5.2.patch b/net-dns/dnsmasq/files/dnsmasq-2.80-linux-headers-5.2.patch
deleted file mode 100644
index 21bd7cd39ff..00000000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.80-linux-headers-5.2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3052ce208acf602f0163166dcefb7330d537cedb Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby@suse.cz>
-Date: Wed, 24 Jul 2019 17:34:48 +0100
-Subject: [PATCH] Fix build after y2038 changes in glib.
-
-SIOCGSTAMP is defined in linux/sockios.h, not asm/sockios.h now.
----
- src/dnsmasq.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index ff3204a..3ef04ad 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -137,6 +137,7 @@ typedef unsigned long long u64;
- #endif
-
- #if defined(HAVE_LINUX_NETWORK)
-+#include <linux/sockios.h>
- #include <linux/capability.h>
- /* There doesn't seem to be a universally-available
- userspace header for these. */
---
-1.7.10.4
-
diff --git a/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch b/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch
deleted file mode 100644
index 7d77a21de7c..00000000000
--- a/net-dns/dnsmasq/files/dnsmasq-2.80-nettle-3.5.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6fd9aba7abe1e084123bc5002959350897774ace Mon Sep 17 00:00:00 2001
-From: Vladislav Grishenko <themiron@mail.ru>
-Date: Wed, 26 Jun 2019 20:27:11 +0500
-Subject: [PATCH] Fix build with libnettle 3.5
-
----
- src/crypto.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/crypto.c b/src/crypto.c
-index 1f1c12b..9cfe371 100644
---- a/src/crypto.c
-+++ b/src/crypto.c
-@@ -296,6 +296,10 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
- static struct ecc_point *key_256 = NULL, *key_384 = NULL;
- static mpz_t x, y;
- static struct dsa_signature *sig_struct;
-+#if NETTLE_VERSION_MAJOR == 3 && NETTLE_VERSION_MINOR < 4
-+#define nettle_get_secp_256r1() (&nettle_secp_256r1)
-+#define nettle_get_secp_384r1() (&nettle_secp_384r1)
-+#endif
-
- if (!sig_struct)
- {
-@@ -315,7 +319,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
- if (!(key_256 = whine_malloc(sizeof(struct ecc_point))))
- return 0;
-
-- nettle_ecc_point_init(key_256, &nettle_secp_256r1);
-+ nettle_ecc_point_init(key_256, nettle_get_secp_256r1());
- }
-
- key = key_256;
-@@ -328,7 +332,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
- if (!(key_384 = whine_malloc(sizeof(struct ecc_point))))
- return 0;
-
-- nettle_ecc_point_init(key_384, &nettle_secp_384r1);
-+ nettle_ecc_point_init(key_384, nettle_get_secp_384r1());
- }
-
- key = key_384;
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-05-17 20:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-31 22:19 [gentoo-commits] repo/gentoo:master commit in: net-dns/dnsmasq/files/, net-dns/dnsmasq/ Patrick McLean
-- strict thread matches above, loose matches on Subject: below --
2016-12-10 6:01 Patrick McLean
2019-07-03 21:36 Patrick McLean
2020-05-17 20:27 Patrick McLean
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox