diff options
author | William Hubbs <williamh@gentoo.org> | 2014-08-01 21:12:58 +0000 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2014-08-01 21:12:58 +0000 |
commit | 556eeef1f8ba297beb154a0fb025d30dcb5d1763 (patch) | |
tree | 63712dfbb4056fadad285305304d2bcb0d067c4f /net-misc | |
parent | Fix bug #509728 - Add in support for openresolv (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-5.6.4.ebuild | 104 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-6.2.0-r1.ebuild | 96 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-6.2.0-dynamic-init.patch | 242 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-6.2.0-no_ipv6_fix.patch | 57 |
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; - |