diff options
author | Henrik Brix Andersen <brix@gentoo.org> | 2006-03-03 12:23:33 +0000 |
---|---|---|
committer | Henrik Brix Andersen <brix@gentoo.org> | 2006-03-03 12:23:33 +0000 |
commit | 977ac58b4d9a67c68cab054fb5798a98dde63d77 (patch) | |
tree | f83bc7dbc71cc739521e25912bb7b3c1840f0d70 /net-wireless/ieee80211 | |
parent | Stable on alpha wrt bug #90793 (diff) | |
download | gentoo-2-977ac58b4d9a67c68cab054fb5798a98dde63d77.tar.gz gentoo-2-977ac58b4d9a67c68cab054fb5798a98dde63d77.tar.bz2 gentoo-2-977ac58b4d9a67c68cab054fb5798a98dde63d77.zip |
Added patches from upstream, thanks to Stijn Tintel.
(Portage version: 2.0.54)
Diffstat (limited to 'net-wireless/ieee80211')
-rw-r--r-- | net-wireless/ieee80211/ChangeLog | 9 | ||||
-rw-r--r-- | net-wireless/ieee80211/Manifest | 6 | ||||
-rw-r--r-- | net-wireless/ieee80211/files/digest-ieee80211-1.1.12-r1 | 1 | ||||
-rw-r--r-- | net-wireless/ieee80211/files/ieee80211-1.1.12-qos.patch | 12 | ||||
-rw-r--r-- | net-wireless/ieee80211/files/ieee80211-1.1.12-tkip-qos-new.patch | 43 | ||||
-rw-r--r-- | net-wireless/ieee80211/ieee80211-1.1.12-r1.ebuild | 91 |
6 files changed, 160 insertions, 2 deletions
diff --git a/net-wireless/ieee80211/ChangeLog b/net-wireless/ieee80211/ChangeLog index 68efcdd8e21e..916caace7c80 100644 --- a/net-wireless/ieee80211/ChangeLog +++ b/net-wireless/ieee80211/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-wireless/ieee80211 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.30 2006/02/23 14:07:04 brix Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.31 2006/03/03 12:23:33 brix Exp $ + +*ieee80211-1.1.12-r1 (03 Mar 2006) + + 03 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> + +files/ieee80211-1.1.12-qos.patch, + +files/ieee80211-1.1.12-tkip-qos-new.patch, +ieee80211-1.1.12-r1.ebuild: + Added patches from upstream, thanks to Stijn Tintel. 23 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> ieee80211-1.1.6.ebuild, ieee80211-1.1.7.ebuild, ieee80211-1.1.8.ebuild, diff --git a/net-wireless/ieee80211/Manifest b/net-wireless/ieee80211/Manifest index 59da1f1a48ee..a1f53362ca92 100644 --- a/net-wireless/ieee80211/Manifest +++ b/net-wireless/ieee80211/Manifest @@ -1,13 +1,17 @@ -MD5 6af728f336563859319c478081b1318d ChangeLog 5531 +MD5 bb12feb598827f914f57ee9cfe10b8cf ChangeLog 5789 MD5 dde1f1dcca13affd78fa2e897e2f4d8f files/digest-ieee80211-1.1.11 64 MD5 b01b59d2e10994fca69752000797a94d files/digest-ieee80211-1.1.12 64 +MD5 b01b59d2e10994fca69752000797a94d files/digest-ieee80211-1.1.12-r1 64 MD5 9501aacea3c39a93671e12bdcd199254 files/digest-ieee80211-1.1.6 63 MD5 0df9ca80228d166621f6d0ed424cd6a8 files/digest-ieee80211-1.1.7 63 MD5 5cf798889745b65cb107070ad36c513c files/digest-ieee80211-1.1.8 63 MD5 f78d58df9a988441f01c24ff0c272712 files/digest-ieee80211-1.1.9 63 +MD5 e6b0f71cb5de5a5970e4af4669bf1af5 files/ieee80211-1.1.12-qos.patch 675 +MD5 25712fc02023480caeaea4de0395802c files/ieee80211-1.1.12-tkip-qos-new.patch 1536 MD5 4c49e8e5e739551dd8a68f88131529a4 files/ieee80211-1.1.8-nocast.patch 959 MD5 1c7250a90205590d6a477efdc0efe963 files/remove-old 1444 MD5 7f872d1dde3f0ad85fd5c0568e6adf07 ieee80211-1.1.11.ebuild 2797 +MD5 2a3da1046150f056cccb6697a7fd3755 ieee80211-1.1.12-r1.ebuild 2795 MD5 dff443405f26c0509471c52fde07653a ieee80211-1.1.12.ebuild 2805 MD5 235feb4dd8b67f34ae515471178b4b43 ieee80211-1.1.6.ebuild 2784 MD5 36dc3b6f0347b90dd9daca08a2132dd8 ieee80211-1.1.7.ebuild 2792 diff --git a/net-wireless/ieee80211/files/digest-ieee80211-1.1.12-r1 b/net-wireless/ieee80211/files/digest-ieee80211-1.1.12-r1 new file mode 100644 index 000000000000..4d994bb4a66a --- /dev/null +++ b/net-wireless/ieee80211/files/digest-ieee80211-1.1.12-r1 @@ -0,0 +1 @@ +MD5 20da3f23dad2356da8f14d8b3d88d58e ieee80211-1.1.12.tgz 65653 diff --git a/net-wireless/ieee80211/files/ieee80211-1.1.12-qos.patch b/net-wireless/ieee80211/files/ieee80211-1.1.12-qos.patch new file mode 100644 index 000000000000..d36f16c92e49 --- /dev/null +++ b/net-wireless/ieee80211/files/ieee80211-1.1.12-qos.patch @@ -0,0 +1,12 @@ +diff -urp ieee80211-1.1.12/ieee80211_crypt_ccmp.c ieee80211-1.1.12-qos/ieee80211_crypt_ccmp.c +--- ieee80211-1.1.12/ieee80211_crypt_ccmp.c 2006-02-28 15:04:33.000000000 +0800 ++++ ieee80211-1.1.12-qos/ieee80211_crypt_ccmp.c 2006-02-28 15:04:27.000000000 +0800 +@@ -131,7 +131,7 @@ static void ccmp_init_blocks(struct cryp + a4_included = ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) == + (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)); + qc_included = ((WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA) && +- (WLAN_FC_GET_STYPE(fc) & 0x08)); ++ (WLAN_FC_GET_STYPE(fc) & IEEE80211_STYPE_QOS_DATA)); + aad_len = 22; + if (a4_included) + aad_len += 6; diff --git a/net-wireless/ieee80211/files/ieee80211-1.1.12-tkip-qos-new.patch b/net-wireless/ieee80211/files/ieee80211-1.1.12-tkip-qos-new.patch new file mode 100644 index 000000000000..f9f1aacdd432 --- /dev/null +++ b/net-wireless/ieee80211/files/ieee80211-1.1.12-tkip-qos-new.patch @@ -0,0 +1,43 @@ +diff -urp ieee80211-1.1.12/ieee80211_crypt_tkip.c ieee80211-1.1.12-tkip-qos/ieee80211_crypt_tkip.c +--- ieee80211-1.1.12/ieee80211_crypt_tkip.c 2006-02-15 15:59:25.000000000 +0800 ++++ ieee80211-1.1.12-tkip-qos/ieee80211_crypt_tkip.c 2006-03-03 22:33:02.000000000 +0800 +@@ -501,8 +501,11 @@ static int michael_mic(struct ieee80211_ + static void michael_mic_hdr(struct sk_buff *skb, u8 * hdr) + { + struct ieee80211_hdr_4addr *hdr11; ++ u16 stype; + + hdr11 = (struct ieee80211_hdr_4addr *)skb->data; ++ stype = WLAN_FC_GET_STYPE(le16_to_cpu(hdr11->frame_ctl)); ++ + switch (le16_to_cpu(hdr11->frame_ctl) & + (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) { + case IEEE80211_FCTL_TODS: +@@ -523,7 +526,13 @@ static void michael_mic_hdr(struct sk_bu + break; + } + +- hdr[12] = 0; /* priority */ ++ if (stype & IEEE80211_STYPE_QOS_DATA) { ++ const struct ieee80211_hdr_3addrqos *qoshdr = ++ (struct ieee80211_hdr_3addrqos *)skb->data; ++ hdr[12] = le16_to_cpu(qoshdr->qos_ctl) & IEEE80211_QCTL_TID; ++ } else ++ hdr[12] = 0; /* priority */ ++ + hdr[13] = hdr[14] = hdr[15] = 0; /* reserved */ + } + +diff -urp ieee80211-1.1.12/net/ieee80211.h ieee80211-1.1.12-tkip-qos/net/ieee80211.h +--- ieee80211-1.1.12/net/ieee80211.h 2006-02-15 15:59:25.000000000 +0800 ++++ ieee80211-1.1.12-tkip-qos/net/ieee80211.h 2006-03-03 22:31:42.000000000 +0800 +@@ -104,6 +104,9 @@ + #define IEEE80211_SCTL_FRAG 0x000F + #define IEEE80211_SCTL_SEQ 0xFFF0 + ++/* QOS control */ ++#define IEEE80211_QCTL_TID 0x000F ++ + /* debug macros */ + + #ifdef CONFIG_IEEE80211_DEBUG diff --git a/net-wireless/ieee80211/ieee80211-1.1.12-r1.ebuild b/net-wireless/ieee80211/ieee80211-1.1.12-r1.ebuild new file mode 100644 index 000000000000..5202a7f3a506 --- /dev/null +++ b/net-wireless/ieee80211/ieee80211-1.1.12-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.12-r1.ebuild,v 1.1 2006/03/03 12:23:33 brix Exp $ + +inherit eutils linux-mod + +# The following works with both pre-releases and releases +MY_P=${P/_/-} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="Generic IEEE 802.11 network subsystem for Linux" +HOMEPAGE="http://ieee80211.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +DEPEND="" + +IUSE="debug" +BUILD_TARGETS="modules" +MODULE_NAMES="ieee80211(net/ieee80211:) + ieee80211_crypt(net/ieee80211:) + ieee80211_crypt_wep(net/ieee80211:) + ieee80211_crypt_ccmp(net/ieee80211:) + ieee80211_crypt_tkip(net/ieee80211:)" + +CONFIG_CHECK="NET_RADIO CRYPTO_ARC4 CRYPTO_MICHAEL_MIC CRC32 !IEEE80211" +ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)." +ERROR_CRYPTO_ARC4="${P} requires support for ARC4 cipher algorithm (CONFIG_CRYPTO_ARC4)." +ERROR_CRYPTO_MICHAEL_MIC="${P} requires support for Michael MIC keyed digest algorithm (CONFIG_CRYPTO_MICHAEL_MIC)." +ERROR_CRC32="${P} requires support for CRC32 functions (CONFIG_CRC32)." +ERROR_IEEE80211="${P} requires the in-kernel version of the IEEE802.11 subsystem to be disabled (CONFIG_IEEE80211)" + +pkg_setup() { + linux-mod_pkg_setup + + if kernel_is 2 4; then + die "${P} does not support building against kernel 2.4.x" + fi + + if [[ -f ${KV_DIR}/include/net/ieee80211.h ]] || \ + [[ -f ${KV_DIR}/include/config/ieee80211.h ]] || \ + egrep -q "^#(un)?def.*(CONFIG_IEEE80211.*)" ${KV_DIR}/include/linux/autoconf.h; then + eerror + eerror "Your kernel source contains an incompatible version of the" + eerror "ieee80211 subsystem, which needs to be removed before" + eerror "${P} can be installed. This can be accomplished by running:" + eerror + eerror " # /bin/sh ${FILESDIR}/remove-old ${KV_DIR}" + eerror + eerror "Please note that this will make it impossible to use some of the" + eerror "in-kernel IEEE 802.11 wireless LAN drivers (eg. orinoco)." + eerror + die "Incompatible in-kernel ieee80211 subsystem detected" + fi + + if ! (linux_chkconfig_present CRYPTO_AES_586 || \ + linux_chkconfig_present CRYPTO_AES_X86_64 || \ + linux_chkconfig_present CRYPTO_AES); then + eerror "${P} requires support for AES cipher algorithms." + die "CONFIG_CRYPTO_AES{_586,_X86_64} support not detected" + fi + + BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR}" +} + +src_unpack() { + local debug="n" + + unpack ${A} + + cd ${S} + epatch ${FILESDIR}/${P}-qos.patch + epatch ${FILESDIR}/${P}-tkip-qos-new.patch + + use debug && debug="y" + sed -i \ + -e "s:^\(CONFIG_IEEE80211_DEBUG\)=.*:\1=${debug}:" \ + ${S}/Makefile || die +} + +src_install() { + linux-mod_src_install + + insinto /usr/include/net + doins net/*.h + + dodoc CHANGES +} |