summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2014-08-01 21:12:58 +0000
committerWilliam Hubbs <williamh@gentoo.org>2014-08-01 21:12:58 +0000
commit556eeef1f8ba297beb154a0fb025d30dcb5d1763 (patch)
tree63712dfbb4056fadad285305304d2bcb0d067c4f /net-misc
parentFix bug #509728 - Add in support for openresolv (diff)
downloadgentoo-2-556eeef1f8ba297beb154a0fb025d30dcb5d1763.tar.gz
gentoo-2-556eeef1f8ba297beb154a0fb025d30dcb5d1763.tar.bz2
gentoo-2-556eeef1f8ba297beb154a0fb025d30dcb5d1763.zip
remove vulnerable versions wrt bug #518596
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 0x30C46538)
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/dhcpcd/ChangeLog7
-rw-r--r--net-misc/dhcpcd/dhcpcd-5.6.4.ebuild104
-rw-r--r--net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild96
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-6.2.0-dynamic-init.patch242
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-6.2.0-no_ipv6_fix.patch57
5 files changed, 6 insertions, 500 deletions
diff --git a/net-misc/dhcpcd/ChangeLog b/net-misc/dhcpcd/ChangeLog
index ed9d1d895fd6..f41cbbbf6abe 100644
--- a/net-misc/dhcpcd/ChangeLog
+++ b/net-misc/dhcpcd/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-misc/dhcpcd
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.416 2014/08/01 20:13:21 zlogene Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.417 2014/08/01 21:12:57 williamh Exp $
+
+ 01 Aug 2014; William Hubbs <williamh@gentoo.org> -dhcpcd-5.6.4.ebuild,
+ -dhcpcd-6.2.0-r1.ebuild, -files/dhcpcd-6.2.0-dynamic-init.patch,
+ -files/dhcpcd-6.2.0-no_ipv6_fix.patch:
+ remove vulnerable versions wrt bug #518596
01 Aug 2014; Mikle Kolyada <zlogene@gentoo.org> dhcpcd-6.4.3.ebuild:
arm stable wrt bug #518596
diff --git a/net-misc/dhcpcd/dhcpcd-5.6.4.ebuild b/net-misc/dhcpcd/dhcpcd-5.6.4.ebuild
deleted file mode 100644
index bfcb1631a6bc..000000000000
--- a/net-misc/dhcpcd/dhcpcd-5.6.4.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/dhcpcd-5.6.4.ebuild,v 1.9 2014/01/18 10:25:23 vapier Exp $
-
-EAPI=4
-
-inherit eutils systemd
-
-MY_P="${P/_alpha/-alpha}"
-MY_P="${MY_P/_beta/-beta}"
-MY_P="${MY_P/_rc/-rc}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
-HOMEPAGE="http://roy.marples.name/projects/dhcpcd/"
-SRC_URI="http://roy.marples.name/downloads/${PN}/${MY_P}.tar.bz2"
-LICENSE="BSD-2"
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-
-SLOT="0"
-IUSE="+zeroconf elibc_glibc"
-
-DEPEND=""
-RDEPEND=""
-
-src_prepare() {
- epatch_user
- if ! use zeroconf; then
- elog "Disabling zeroconf support"
- {
- echo
- echo "# dhcpcd ebuild requested no zeroconf"
- echo "noipv4ll"
- } >> dhcpcd.conf
- fi
-}
-
-src_configure() {
- local hooks="--with-hook=ntp.conf"
- use elibc_glibc && hooks="${hooks} --with-hook=yp.conf"
- econf \
- --prefix="${EPREFIX}" \
- --libexecdir="${EPREFIX}/lib/dhcpcd" \
- --dbdir="${EPREFIX}/var/lib/dhcpcd" \
- --localstatedir="${EPREFIX}/var" \
- ${hooks}
-}
-
-src_install() {
- default
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- systemd_dounit "${FILESDIR}"/${PN}.service
-}
-
-pkg_preinst() {
- has_version 'net-misc/dhcpcd[zeroconf]' && prev_zero=true || prev_zero=false
-}
-
-pkg_postinst() {
- # Upgrade the duid file to the new format if needed
- local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid
- local new_duid="${ROOT}"/etc/dhcpcd.duid
- if [ -e "${old_duid}" ] && ! grep -q '..:..:..:..:..:..' "${old_duid}"; then
- sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_duid}"
- fi
-
- # Move the duid to /etc, a more sensible location
- if [ -e "${old_duid}" -a ! -e "${new_duid}" ]; then
- cp -p "${old_duid}" "${new_duid}"
- fi
-
- if use zeroconf && ! $prev_zero; then
- elog "You have installed dhcpcd with zeroconf support."
- elog "This means that it will always obtain an IP address even if no"
- elog "DHCP server can be contacted, which will break any existing"
- elog "failover support you may have configured in your net configuration."
- elog "This behaviour can be controlled with the -L flag."
- elog "See the dhcpcd man page for more details."
- fi
-
- elog
- elog "Users upgrading from 4.0 series should pay attention to removal"
- elog "of compat useflag. This changes behavior of dhcp in wide manner:"
- elog "dhcpcd no longer sends a default ClientID for ethernet interfaces."
- elog "This is so we can re-use the address the kernel DHCP client found."
- elog "To retain the old behaviour of sending a default ClientID based on the"
- elog "hardware address for interface, simply add the keyword clientid"
- elog "to dhcpcd.conf or use commandline parameter -I ''"
- elog
- elog "Also, users upgrading from 4.0 series should be aware that"
- elog "the -N, -R and -Y command line options no longer exist."
- elog "These are controled now by nohook options in dhcpcd.conf."
-
- # Mea culpa, feel free to remove that after some time --mgorny.
- if [[ -e "${ROOT}"/etc/systemd/system/network.target.wants/${PN}.service ]]
- then
- ebegin "Moving ${PN}.service to multi-user.target"
- mv "${ROOT}"/etc/systemd/system/network.target.wants/${PN}.service \
- "${ROOT}"/etc/systemd/system/multi-user.target.wants/
- eend ${?} \
- "Please try to re-enable dhcpcd.service"
- fi
-}
diff --git a/net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild b/net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild
deleted file mode 100644
index ee0255fae79a..000000000000
--- a/net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild,v 1.11 2014/07/05 15:49:43 zlogene Exp $
-
-EAPI=5
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="git://roy.marples.name/${PN}.git"
- inherit git-r3
-else
- MY_P="${P/_alpha/-alpha}"
- MY_P="${MY_P/_beta/-beta}"
- MY_P="${MY_P/_rc/-rc}"
- SRC_URI="http://roy.marples.name/downloads/${PN}/${MY_P}.tar.bz2"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
- S="${WORKDIR}/${MY_P}"
-fi
-
-inherit eutils systemd
-
-DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
-HOMEPAGE="http://roy.marples.name/projects/dhcpcd/"
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="elibc_glibc ipv6 kernel_linux +udev"
-
-COMMON_DEPEND="udev? ( virtual/udev )"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_prepare()
-{
- epatch "${FILESDIR}/${P}-dynamic-init.patch" #496870
- epatch "${FILESDIR}/${P}-no_ipv6_fix.patch" #497098
- epatch_user
-}
-
-src_configure()
-{
- local dev hooks rundir
- use udev || dev="--without-dev --without-udev"
- hooks="--with-hook=ntp.conf"
- use elibc_glibc && hooks="${hooks} --with-hook=yp.conf"
- use kernel_linux && rundir="--rundir=${EPREFIX}/run"
- econf \
- --prefix="${EPREFIX}" \
- --libexecdir="${EPREFIX}/lib/dhcpcd" \
- --dbdir="${EPREFIX}/var/lib/dhcpcd" \
- --localstatedir="${EPREFIX}/var" \
- ${rundir} \
- $(use_enable ipv6) \
- ${dev} \
- ${hooks}
-}
-
-src_install()
-{
- default
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- systemd_dounit "${FILESDIR}"/${PN}.service
-}
-
-pkg_postinst()
-{
- # Upgrade the duid file to the new format if needed
- local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid
- local new_duid="${ROOT}"/etc/dhcpcd.duid
- if [ -e "${old_duid}" ] && ! grep -q '..:..:..:..:..:..' "${old_duid}"; then
- sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_duid}"
- fi
-
- # Move the duid to /etc, a more sensible location
- if [ -e "${old_duid}" -a ! -e "${new_duid}" ]; then
- cp -p "${old_duid}" "${new_duid}"
- fi
-
- elog
- elog "dhcpcd has zeroconf support active by default."
- elog "This means it will always obtain an IP address even if no"
- elog "DHCP server can be contacted, which will break any existing"
- elog "failover support you may have configured in your net configuration."
- elog "This behaviour can be controlled with the noipv4ll configuration"
- elog "file option or the -L command line switch."
- elog "See the dhcpcd and dhcpcd.conf man pages for more details."
-
- elog
- elog "Dhcpcd has duid enabled by default, and this may cause issues"
- elog "with some dhcp servers. For more information, see"
- elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
-
- if ! has_version net-dns/bind-tools; then
- elog
- elog "If you activate the lookup-hostname hook to look up your hostname"
- elog "using the dns, you need to install net-dns/bind-tools."
- fi
-}
diff --git a/net-misc/dhcpcd/files/dhcpcd-6.2.0-dynamic-init.patch b/net-misc/dhcpcd/files/dhcpcd-6.2.0-dynamic-init.patch
deleted file mode 100644
index 574e6add5e79..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-6.2.0-dynamic-init.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-Index: configure
-==================================================================
---- configure
-+++ configure
-@@ -681,94 +681,27 @@
- echo "SRCS+= dev.c" >>$CONFIG_MK
- echo "CPPFLAGS+= -DPLUGIN_DEV" >>$CONFIG_MK
- echo "MKDIRS+= dev" >>$CONFIG_MK
- fi
-
--if [ -z "$SERVICECMD" ]; then
-- printf "Checking for OpenRC ... "
-- if [ -x /sbin/rc-service ]; then
-- SERVICEEXISTS="/sbin/rc-service -e \$1"
-- SERVICECMD="/sbin/rc-service \$1 -- -D \$2"
-- echo "yes"
-- else
-- echo "no"
-- fi
--fi
--if [ -z "$SERVICECMD" ]; then
-- printf "Checking for invoke-rc.d ... "
-- if [ -x /usr/sbin/invoke-rc.d ]; then
-- SERVICEEXISTS="/usr/sbin/invoke-rc.d --query --quiet \$1 start >/dev/null 2>&1 || [ \$? = 104 ]"
-- SERVICECMD="/usr/sbin/invoke-rc.d \$1 \$2"
-- echo "yes"
-- else
-- echo "no"
-- fi
--fi
--if [ -z "$SERVICECMD" ]; then
-- printf "Checking for service ... "
-- if [ -x /sbin/service ]; then
-- SERVICEEXISTS="/sbin/service \$1 >/dev/null 2>&1"
-- SERVICECMD="/sbin/service \$1 \$2"
-- echo "yes"
-- else
-- echo "no"
-- fi
--fi
--if [ -z "$SERVICECMD" ]; then
-- printf "Checking for Slackware ... "
-- if [ -e /etc/slackware-version -a -d /etc/rc.d ]; then
-- SERVICEEXISTS="[ -x /etc/rc.d/rc.\$1 ]"
-- SERVICECMD="/etc/rc.d/rc.\$1 \$2"
-- SERVICESTATUS="/etc/rc.d/rc.\$1 status 1>/dev/null 2>&1"
-- echo "yes"
-- else
-- echo "no"
-- fi
--fi
--if [ -z "$SERVICECMD" ]; then
-- for x in /etc/init.d/rc.d /etc/rc.d /etc/init.d; do
-- printf "Checking for $x ... "
-- if [ -d $x ]; then
-- SERVICEEXISTS="[ -x $x/\$1 ]"
-- SERVICECMD="$x/\$1 \$2"
-- echo "yes"
-- break
-- else
-- echo "no"
-- fi
-- done
--fi
--if [ -e /etc/arch-release ]; then
-- echo "Overriding service status check for Arch Linux"
-- SERVICESTATUS="[ -e /var/run/daemons/\$1 ]"
--fi
--
--if [ -z "$SERVICEEXISTS" -o -z "$SERVICECMD" ]; then
-- echo "$0: WARNING: No means of interacting with system services detected!"
-- SERVICEEXISTS="return 1"
-- SERVICECMD="return 1"
--fi
--if [ -z "$SERVICESTATUS" ]; then
-- SERVICESTATUS="service_command \$1 status >/dev/null 2>&1"
--fi
- # Transform for a make file
- SERVICEEXISTS=$(echo "$SERVICEEXISTS" | $SED \
- -e 's:\\:\\\\:g' \
- -e 's:\&:\\\&:g' \
-- -e 's:\$:\$\$:g' \
-+ -e 's:\$:\\\\\$\$:g' \
- )
- echo "SERVICEEXISTS= $SERVICEEXISTS" >>config.mk
- SERVICECMD=$(echo "$SERVICECMD" | $SED \
- -e 's:\\:\\\\:g' \
- -e 's:\&:\\\&:g' \
-- -e 's:\$:\$\$:g' \
-+ -e 's:\$:\\\\\$\$:g' \
- )
- echo "SERVICECMD= $SERVICECMD" >>config.mk
- SERVICESTATUS=$(echo "$SERVICESTATUS" | $SED \
- -e 's:\\:\\\\:g' \
- -e 's:\&:\\\&:g' \
-- -e 's:\$:\$\$:g' \
-+ -e 's:\$:\\\\\$\$:g' \
- )
- echo "SERVICESTATUS= $SERVICESTATUS" >>config.mk
-
- HOOKS=
- if ! $HOOKSET; then
-
-Index: dhcpcd-run-hooks.in
-==================================================================
---- dhcpcd-run-hooks.in
-+++ dhcpcd-run-hooks.in
-@@ -16,10 +16,11 @@
- signature_base="# Generated by dhcpcd"
- signature="$signature_base $from $ifname"
- signature_base_end="# End of dhcpcd"
- signature_end="$signature_base_end $from $ifname"
- state_dir=@RUNDIR@/dhcpcd
-+_detected_init=false
-
- : ${if_up:=false}
- : ${if_down:=false}
-
- # Ensure that all arguments are unique
-@@ -190,36 +191,118 @@
- case "$@" in
- *[![:alnum:]#%+-_:\.,@~\\/\[\]=\ ]*) return 1;;
- esac
- return 0
- }
-+
-+# With the advent of alternative init systems, it's possible to have
-+# more than one installed. So we need to try and guess what one we're
-+# using unless overriden by configure.
-+detect_init()
-+{
-+ _service_exists="@SERVICEEXISTS@"
-+ _service_cmd="@SERVICECMD@"
-+ _service_status="@SERVICESTATUS@"
-+
-+ [ -n "$_service_cmd" ] && return 0
-+
-+ if ${_detected_init}; then
-+ [ -n "$_service_cmd" ]
-+ return $?
-+ fi
-+
-+ # Detect the running init system.
-+ # As systemd and OpenRC can be installed on top of legacy init
-+ # systems we try to detect them first.
-+ _service_status=
-+ if [ -x /bin/systemctl -a -S /run/systemd/private ]; then
-+ _service_exists="/bin/systemctl --quiet is-enabled \$1.service"
-+ _service_status="/bin/systemctl --quiet is-active \$1.service"
-+ _service_cmd="/bin/systemctl \$2 \$1.service"
-+ elif [ -x /usr/bin/systemctl -a -S /run/systemd/private ]; then
-+ _service_exists="/usr/bin/systemctl --quiet is-enabled \$1.service"
-+ _service_status="/usr/bin/systemctl --quiet is-active \$1.service"
-+ _service_cmd="/usr/bin/systemctl \$2 \$1.service"
-+ elif [ -x /sbin/rc-service -a \
-+ -s /libexec/rc/init.d/softlevel -o -s /run/openrc/softlevel ]
-+ then
-+ _service_exists="/sbin/rc-service -e \$1"
-+ _service_cmd="/sbin/rc-service \$1 -- -D \$2"
-+ elif [ -x /usr/sbin/invoke-rc.d ]; then
-+ _service_exists="/usr/sbin/invoke-rc.d --query --quiet \$1 start >/dev/null 2>&1 || [ \$? = 104 ]"
-+ _service_cmd="/usr/sbin/invoke-rc.d \$1 \$2"
-+ elif [ -x /sbin/service ]; then
-+ _service_exists="/sbin/service \$1 >/dev/null 2>&1"
-+ _service_cmd="/sbin/service \$1 \$2"
-+ elif [ -e /etc/slackware-version -a -d /etc/rc.d ]; then
-+ _service_exists="[ -x /etc/rc.d/rc.\$1 ]"
-+ _service_cmd="/etc/rc.d/rc.\$1 \$2"
-+ _service_status="/etc/rc.d/rc.\$1 status 1>/dev/null 2>&1"
-+ else
-+ for x in /etc/init.d/rc.d /etc/rc.d /etc/init.d; do
-+ if [ -d $x ]; then
-+ _service_exists="[ -x $x/\$1 ]"
-+ _service_cmd="$x/\$1 \$2"
-+ break
-+ fi
-+ done
-+ if [ -e /etc/arch-release ]; then
-+ _service_status="[ -e /var/run/daemons/\$1 ]"
-+ fi
-+ fi
-+
-+ _detected_init=true
-+ if [ -z "$_service_cmd" ]; then
-+ syslog err "could not detect a useable init system"
-+ return 1
-+ fi
-+ return 0
-+}
-
- # Check a system service exists
- service_exists()
- {
-- @SERVICEEXISTS@
-+
-+ if [ -z "$_service_exists" ]; then
-+ detect_init || return 1
-+ fi
-+ eval $_service_exists
- }
-
- # Send a command to a system service
- service_cmd()
- {
-- @SERVICECMD@
-+
-+ if [ -z "$_service_cmd" ]; then
-+ detect_init || return 1
-+ fi
-+ eval $_service_cmd
- }
-
- # Send a command to a system service if it is running
- service_status()
- {
-- @SERVICESTATUS@
-+
-+ if [ -z "$_service_cmd" ]; then
-+ detect_init || return 1
-+ fi
-+ if [ -n "$_service_status" ]; then
-+ eval $_service_status
-+ else
-+ service_command $1 status >/dev/null 2>&1
-+ fi
- }
-
- # Handy macros for our hooks
- service_command()
- {
-+
- service_exists $1 && service_cmd $1 $2
- }
- service_condcommand()
- {
-+
- service_exists $1 && service_status $1 && service_cmd $1 $2
- }
-
- # We source each script into this one so that scripts run earlier can
- # remove variables from the environment so later scripts don't see them.
-
diff --git a/net-misc/dhcpcd/files/dhcpcd-6.2.0-no_ipv6_fix.patch b/net-misc/dhcpcd/files/dhcpcd-6.2.0-no_ipv6_fix.patch
deleted file mode 100644
index e6a6d337fc1b..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-6.2.0-no_ipv6_fix.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Index: dhcp-common.c
-==================================================================
---- dhcp-common.c
-+++ dhcp-common.c
-@@ -349,14 +349,20 @@
- else
- /* If we don't know the size, assume it's valid */
- return dl;
- return (dl < sz ? 0 : sz);
- }
-+
-+#ifdef INET6
-+#define PO_IFNAME
-+#else
-+#define PO_IFNAME __unused
-+#endif
-
- ssize_t
- print_option(char *s, ssize_t len, int type, int dl, const uint8_t *data,
-- const char *ifname)
-+ PO_IFNAME const char *ifname)
- {
- const uint8_t *e, *t;
- uint16_t u16;
- int16_t s16;
- uint32_t u32;
-
-Index: if-options.c
-==================================================================
---- if-options.c
-+++ if-options.c
-@@ -1550,10 +1550,11 @@
- char *buf;
- const char **e;
- size_t buflen, ol;
- #endif
- #if !defined(INET) || !defined(INET6)
-+ size_t i;
- struct dhcp_opt *opt;
- #endif
-
- /* Seed our default options */
- ifo = calloc(1, sizeof(*ifo));
-@@ -1667,11 +1668,11 @@
- #ifdef INET6
- dhcp6_opts = ifo->dhcp6_override;
- dhcp6_opts_len = ifo->dhcp6_override_len;
- #else
- for (i = 0, opt = ifo->dhcp6_override;
-- i < ifo->dhcp_override6_len;
-+ i < ifo->dhcp6_override_len;
- i++, opt++)
- free_dhcp_opt_embenc(opt);
- free(ifo->dhcp6_override);
- #endif
- ifo->dhcp6_override = NULL;
-