summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@gentoo.org>2007-11-19 04:07:20 +0000
committerSaleem Abdulrasool <compnerd@gentoo.org>2007-11-19 04:07:20 +0000
commit6e9d8048dc5dd69662e8b1a037c0cf73e7553a55 (patch)
treeb49ec0679e0309f1290e0fb854f24c419ab58ded /net-wireless
parentStable on mips. (diff)
downloadgentoo-2-6e9d8048dc5dd69662e8b1a037c0cf73e7553a55.tar.gz
gentoo-2-6e9d8048dc5dd69662e8b1a037c0cf73e7553a55.tar.bz2
gentoo-2-6e9d8048dc5dd69662e8b1a037c0cf73e7553a55.zip
add patch for CVE-2007-5938
(Portage version: 2.1.3.16)
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/iwlwifi/ChangeLog8
-rw-r--r--net-wireless/iwlwifi/files/CVE-2007-5938.patch28
-rw-r--r--net-wireless/iwlwifi/files/digest-iwlwifi-1.1.21-r13
-rw-r--r--net-wireless/iwlwifi/iwlwifi-1.1.21-r1.ebuild75
4 files changed, 113 insertions, 1 deletions
diff --git a/net-wireless/iwlwifi/ChangeLog b/net-wireless/iwlwifi/ChangeLog
index 499bc8ff3db2..8dd9e9771bed 100644
--- a/net-wireless/iwlwifi/ChangeLog
+++ b/net-wireless/iwlwifi/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-wireless/iwlwifi
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/iwlwifi/ChangeLog,v 1.9 2007/11/02 05:16:57 compnerd Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/iwlwifi/ChangeLog,v 1.10 2007/11/19 04:07:19 compnerd Exp $
+
+*iwlwifi-1.1.21-r1 (19 Nov 2007)
+
+ 19 Nov 2007; Saleem Abdulrasool <compnerd@gentoo.org>
+ +files/CVE-2007-5938.patch, +iwlwifi-1.1.21-r1.ebuild:
+ Add patch for CVE-2007-5938, patch by myself.
*iwlwifi-1.1.21 (02 Nov 2007)
diff --git a/net-wireless/iwlwifi/files/CVE-2007-5938.patch b/net-wireless/iwlwifi/files/CVE-2007-5938.patch
new file mode 100644
index 000000000000..ab2c8718093d
--- /dev/null
+++ b/net-wireless/iwlwifi/files/CVE-2007-5938.patch
@@ -0,0 +1,28 @@
+--- origin/iwl3945-base.c 2007-11-18 19:34:15.000000000 -0800
++++ origin/iwl3945-base.c 2007-11-18 19:37:06.000000000 -0800
+@@ -2908,6 +2908,11 @@
+
+ hw = iwl3945_get_hw_mode(priv, priv->phymode);
+
++ if (!hw) {
++ printk(KERN_CRIT DRV_NAME " Failed to set rate: Unable to get hw mode");
++ return;
++ }
++
+ priv->active_rate = 0;
+ priv->active_rate_basic = 0;
+
+--- origin/iwl4965-base.c 2007-11-18 19:34:19.000000000 -0800
++++ origin/iwl4965-base.c 2007-11-18 19:38:16.000000000 -0800
+@@ -3002,6 +3002,11 @@
+
+ hw = iwl4965_get_hw_mode(priv, priv->phymode);
+
++ if (!hw) {
++ printk(KERN_CRIT DRV_NAME " Failed to set rate: Unable to get hw mode");
++ return;
++ }
++
+ priv->active_rate = 0;
+ priv->active_rate_basic = 0;
+
diff --git a/net-wireless/iwlwifi/files/digest-iwlwifi-1.1.21-r1 b/net-wireless/iwlwifi/files/digest-iwlwifi-1.1.21-r1
new file mode 100644
index 000000000000..969b2f2945a9
--- /dev/null
+++ b/net-wireless/iwlwifi/files/digest-iwlwifi-1.1.21-r1
@@ -0,0 +1,3 @@
+MD5 dd73d87fd0f0aecf7e680a289233fe3b iwlwifi-1.1.21.tgz 325264
+RMD160 94a364204f468568d55050ea79e691d98bbb4db2 iwlwifi-1.1.21.tgz 325264
+SHA256 d353eec27da2396203510e48024cf6df29e80cb7ab1b6538457d67493739eef7 iwlwifi-1.1.21.tgz 325264
diff --git a/net-wireless/iwlwifi/iwlwifi-1.1.21-r1.ebuild b/net-wireless/iwlwifi/iwlwifi-1.1.21-r1.ebuild
new file mode 100644
index 000000000000..8f8a2cdf6b81
--- /dev/null
+++ b/net-wireless/iwlwifi/iwlwifi-1.1.21-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/iwlwifi/iwlwifi-1.1.21-r1.ebuild,v 1.1 2007/11/19 04:07:19 compnerd Exp $
+
+inherit eutils linux-mod
+
+DESCRIPTION="Intel (R) PRO/Wireless 3945ABG Network Drivers"
+HOMEPAGE="http://intellinuxwireless.org/?p=iwlwifi"
+SRC_URI="http://intellinuxwireless.org/${PN}/downloads/${P//_p/-}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipw3945 ipw4965"
+
+DEPEND=">=virtual/linux-sources-2.6.22"
+RDEPEND="ipw3945? ( =net-wireless/iwl3945-ucode-2.14.1.5 )
+ ipw4965? ( =net-wireless/iwl4965-ucode-4.44.1.18 )
+ !ipw3945? ( !ipw4965? ( =net-wireless/iwl3945-ucode-2.14.1.5 =net-wireless/iwl4965-ucode-4.44.1.18 ) )"
+
+pkg_setup() {
+ if kernel_is lt 2 6 22 ; then
+ eerror "iwlwifi requires a kernel >=2.6.22."
+ eerror "Please set your /usr/src/linux symlink accordingly."
+ die "invalid /usr/src/linux symlink"
+ else
+ CONFIG_CHECK="MAC80211"
+ fi
+
+ BUILD_PARAMS="KSRC=${KV_DIR} M=${S}"
+
+ linux-mod_pkg_setup
+
+ if use ipw3945 ; then
+ MODULE_NAMES="iwl3945(net/wireless:${S}/compatible)"
+
+ if ! use ipw4965 ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IWL4965=n"
+ fi
+
+ fi
+
+ if use ipw4965 ; then
+ MODULE_NAMES="${MODULE_NAMES} iwl4965(net/wireless:${S}/compatible)"
+
+ if ! use ipw3945 ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IWL3945=n"
+ fi
+ fi
+
+ if ! use ipw3945 && ! use ipw4965 ; then
+ einfo "Wireless card not selected, building all modules"
+
+ MODULE_NAMES="iwl3945(net/wireless:${S}/compatible) iwl4965(net/wireless:${S}/compatible)"
+ BUILD_PARAMS="${BUILD_PARAMS} CONFIG_IWL3945=m CONFIG_IWL4965=m"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/CVE-2007-5938.patch"
+}
+
+src_compile() {
+ if [[ ${ARCH} == "amd64" ]] ; then
+ ARCH="x86_64"
+ else
+ ARCH="i386"
+ fi
+
+ make # generate the compatible sources (failure is expected)
+ make || die "compile failed"
+}