From ac81af7da3471b5c9cb37f3b09c51706d2876a42 Mon Sep 17 00:00:00 2001 From: Henrik Brix Andersen Date: Thu, 20 Oct 2005 13:22:24 +0000 Subject: Patch from upstream to fix broadcast issues. Package-Manager: portage-2.0.51.22-r3 --- net-wireless/ieee80211/ChangeLog | 8 +- net-wireless/ieee80211/Manifest | 5 +- .../ieee80211/files/digest-ieee80211-1.1.5-r1 | 1 + .../files/ieee80211-1.1.5-broadcast.patch | 44 +++++++++++ net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild | 89 ++++++++++++++++++++++ net-wireless/ipw2200/Manifest | 6 +- 6 files changed, 150 insertions(+), 3 deletions(-) create mode 100644 net-wireless/ieee80211/files/digest-ieee80211-1.1.5-r1 create mode 100644 net-wireless/ieee80211/files/ieee80211-1.1.5-broadcast.patch create mode 100644 net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild (limited to 'net-wireless') diff --git a/net-wireless/ieee80211/ChangeLog b/net-wireless/ieee80211/ChangeLog index a55009af6674..9917a6335459 100644 --- a/net-wireless/ieee80211/ChangeLog +++ b/net-wireless/ieee80211/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-wireless/ieee80211 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.12 2005/10/19 19:40:19 brix Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ChangeLog,v 1.13 2005/10/20 13:22:24 brix Exp $ + +*ieee80211-1.1.5-r1 (20 Oct 2005) + + 20 Oct 2005; Henrik Brix Andersen + +files/ieee80211-1.1.5-broadcast.patch, +ieee80211-1.1.5-r1.ebuild: + Patch from upstream to fix broadcast issues. 19 Oct 2005; Henrik Brix Andersen files/ieee80211-1.1.5-we18.patch: diff --git a/net-wireless/ieee80211/Manifest b/net-wireless/ieee80211/Manifest index 148b5df0beac..57b6896209ae 100644 --- a/net-wireless/ieee80211/Manifest +++ b/net-wireless/ieee80211/Manifest @@ -3,10 +3,12 @@ MD5 0b37106be6c69fa6ce87d5925f2a31dc ieee80211-1.0.3-r1.ebuild 2093 MD5 d94f6f0e594496b23768753d8f2fbccc ieee80211-1.0.2.ebuild 2067 MD5 8a53f6d174d515c629ee4ada4ab59a8a ieee80211-1.1.5.ebuild 2772 MD5 85642481bdfb52cc037a57a742a59e18 ieee80211-1.0.3-r2.ebuild 2744 -MD5 2a871ad38f52be60a38a23f7b13a8863 ChangeLog 1980 +MD5 5cc6f9701b973608b6bdf2b1c2c2260f ieee80211-1.1.5-r1.ebuild 2816 +MD5 4515a9d9a21ec6332bcdd0e8be79f34b ChangeLog 2187 MD5 b280eebc74d70d85e664debf1adce2c3 metadata.xml 255 MD5 54836c698b04ed62f6d7a3f6f8fa6232 ieee80211-1.0.1.ebuild 2067 MD5 03afa38292ff5bbcc62500c4b6163888 files/ieee80211-1.0.3-broadcast.patch 622 +MD5 61bac627a89e0cafb9996d2887d8a3e9 files/ieee80211-1.1.5-broadcast.patch 1939 MD5 cc0dea5fff30f8ea5fe5e62a749115d3 files/digest-ieee80211-1.0.1 63 MD5 affd67ec6900c1e7f9c123969f709181 files/digest-ieee80211-1.0.2 63 MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3 63 @@ -14,5 +16,6 @@ MD5 27f61bbea47540d198a62c715e33a5b4 files/digest-ieee80211-1.1.5 63 MD5 ccf8b6ee79df516fce26c5780b058ac6 files/ieee80211-1.1.5-we18.patch 1973 MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3-r1 63 MD5 777627671d6848e14270d9f65d9d0be6 files/digest-ieee80211-1.0.3-r2 63 +MD5 27f61bbea47540d198a62c715e33a5b4 files/digest-ieee80211-1.1.5-r1 63 MD5 f6533e7149d244dd72eb444853266a8f files/ieee80211-1.0.3-keep_restricted_bit.patch 1220 MD5 d2bada5c8bb423cb02a88cc4f0011d39 files/ieee80211-1.0.3-open_frag.patch 2638 diff --git a/net-wireless/ieee80211/files/digest-ieee80211-1.1.5-r1 b/net-wireless/ieee80211/files/digest-ieee80211-1.1.5-r1 new file mode 100644 index 000000000000..5f10503e90c7 --- /dev/null +++ b/net-wireless/ieee80211/files/digest-ieee80211-1.1.5-r1 @@ -0,0 +1 @@ +MD5 e05fb14fab25462710955f464e1a7c5d ieee80211-1.1.5.tgz 70185 diff --git a/net-wireless/ieee80211/files/ieee80211-1.1.5-broadcast.patch b/net-wireless/ieee80211/files/ieee80211-1.1.5-broadcast.patch new file mode 100644 index 000000000000..83f6e7de5879 --- /dev/null +++ b/net-wireless/ieee80211/files/ieee80211-1.1.5-broadcast.patch @@ -0,0 +1,44 @@ +diff -urp ieee80211-1.1.5/ieee80211_rx.c ieee80211-1.1.5-broadcast/ieee80211_rx.c +--- ieee80211-1.1.5/ieee80211_rx.c 2005-10-14 02:12:12.000000000 +0800 ++++ ieee80211-1.1.5-broadcast/ieee80211_rx.c 2005-10-19 15:52:46.000000000 +0800 +@@ -409,8 +409,9 @@ int ieee80211_rx(struct ieee80211_device + return 1; + } + +- if (is_multicast_ether_addr(hdr->addr1) ? ieee->host_mc_decrypt : +- ieee->host_decrypt) { ++ if ((is_multicast_ether_addr(hdr->addr1) || ++ ieee80211_is_broadcast_ether_addr(hdr->addr1)) ? ieee->host_mc_decrypt : ++ ieee->host_decrypt) { + int idx = 0; + if (skb->len >= hdrlen + 3) + idx = skb->data[hdrlen + 3] >> 6; +diff -urp ieee80211-1.1.5/ieee80211_tx.c ieee80211-1.1.5-broadcast/ieee80211_tx.c +--- ieee80211-1.1.5/ieee80211_tx.c 2005-10-14 02:12:12.000000000 +0800 ++++ ieee80211-1.1.5-broadcast/ieee80211_tx.c 2005-10-19 15:55:38.000000000 +0800 +@@ -338,7 +338,8 @@ int ieee80211_xmit(struct sk_buff *skb, + if (host_encrypt || ieee->host_open_frag) { + /* Determine fragmentation size based on destination (multicast + * and broadcast are not fragmented) */ +- if (is_multicast_ether_addr(dest)) ++ if (is_multicast_ether_addr(dest) || ++ ieee80211_is_broadcast_ether_addr(dest)) + frag_size = MAX_FRAG_THRESHOLD; + else + frag_size = ieee->fts; +diff -urp ieee80211-1.1.5/net/ieee80211.h ieee80211-1.1.5-broadcast/net/ieee80211.h +--- ieee80211-1.1.5/net/ieee80211.h 2005-10-14 02:12:12.000000000 +0800 ++++ ieee80211-1.1.5-broadcast/net/ieee80211.h 2005-10-19 15:51:31.000000000 +0800 +@@ -962,6 +962,12 @@ static inline int is_multicast_ether_add + } + #endif + ++static inline int ieee80211_is_broadcast_ether_addr(const u8 *addr) ++{ ++ return (addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff && ++ addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff); ++} ++ + static inline void *ieee80211_priv(struct net_device *dev) + { + return ((struct ieee80211_device *)netdev_priv(dev))->priv; diff --git a/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild b/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild new file mode 100644 index 000000000000..027dd912e04c --- /dev/null +++ b/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ieee80211/ieee80211-1.1.5-r1.ebuild,v 1.1 2005/10/20 13:22:24 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 ~x86" + +DEPEND="!<=net-wireless/ipw2100-1.1.0 + !<=net-wireless/ipw2200-1.0.4" +RDEPEND="${DEPEND}" + +IUSE="debug" +BUILD_TARGETS="all" +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 ]]; then + eerror + eerror "You kernel source contains an incomptible 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 " # rm -i ${KV_DIR}/include/net/ieee80211.h" + 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}-we18.patch + epatch ${FILESDIR}/${P}-broadcast.patch + + use debug && debug="y" + sed -i -e "s:^\(CONFIG_IEEE80211_DEBUG\)=.*:\1=${debug}:" ${S}/Makefile +} + +src_install() { + linux-mod_src_install + + insinto /usr/include/net + doins net/*.h + + dodoc CHANGES +} diff --git a/net-wireless/ipw2200/Manifest b/net-wireless/ipw2200/Manifest index a2d3c11ed503..e4239467ae77 100644 --- a/net-wireless/ipw2200/Manifest +++ b/net-wireless/ipw2200/Manifest @@ -4,15 +4,18 @@ MD5 7afca8db2613b9fc32d5f7005b4db15d ipw2200-1.0.6.ebuild 2158 MD5 a1d82c4728a3f608b762fe63c4910f42 ipw2200-1.0.1.ebuild 2488 MD5 4ce2b88ec5f872d1621a5af9cf1d0da1 ipw2200-1.0.6-r2.ebuild 2304 MD5 b2138b76ba85eeea301d8fa9f72470df ipw2200-1.0.3.ebuild 2488 +MD5 4178d14fb9964ddf254ad3af2adb2410 ipw2200-1.0.7-r1.ebuild 2990 MD5 8a1b21691e17dc6de38c7238cd4e4522 ipw2200-1.0.5.ebuild 2145 MD5 7453a3247e41a7bf8c6e939cf55c45f0 ipw2200-1.0.6-r1.ebuild 2260 MD5 abf5e01547412553998be01d0b1055c8 ipw2200-1.0.7.ebuild 2877 -MD5 c325df5855537e650a357ec321ed8e8b ChangeLog 8436 +MD5 d5193eedd4c9c68e82bb4a77880ea056 ChangeLog 8739 MD5 b280eebc74d70d85e664debf1adce2c3 metadata.xml 255 MD5 57bc9c6eb5f4015c48658642ca771b54 files/ipw2200-1.0.6-ibss-wep.patch 1249 +MD5 5cc9277eb455ec7081a6f1a362318835 files/ipw2200-1.0.7-broadcast.patch 2331 MD5 2dc4d1d726fc4dce22dee416d6028353 files/ipw2200-1.0.4-is_multicast_ether_addr.patch 647 MD5 abdb4f9be556bd09fe711f6a7cd42ee2 files/ipw2200-1.0.6-suspend2.patch 520 MD5 b0d2d1d8adbf103c40cfff2a0b5a9bd9 files/ipw2200-1.0.6-init_scan.patch 996 +MD5 0143e87a2e4f379dda1dfbb98a040659 files/ipw2200-1.0.7-wireless_ext-capa.patch 1313 MD5 2ba8f54679172b49a799779c1a02127a files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch 5840 MD5 9e25eeda7c745bca8c5cf72537dd31f5 files/ipw2200-1.0.1-suspend2.patch 448 MD5 af6756863c64cdfc93cd53556f8b397b files/ipw2200-1.0.1-is_multicast_ether_addr.patch 631 @@ -29,6 +32,7 @@ MD5 d0074a6c01392cb21c47b8f370716a0f files/ipw2200-1.0.6-monitor_wep_fix.patch 7 MD5 aab93fcc37b1a1282d7a02e9b64430a3 files/digest-ipw2200-1.0.6-r1 62 MD5 aab93fcc37b1a1282d7a02e9b64430a3 files/digest-ipw2200-1.0.6-r2 62 MD5 aab93fcc37b1a1282d7a02e9b64430a3 files/digest-ipw2200-1.0.6-r3 62 +MD5 a5c0ccca10c12b4e5d5a7df55df96dfd files/digest-ipw2200-1.0.7-r1 62 MD5 f20e5c312fa263336e4921aa6e42b56e files/ipw2200-1.0.6-pci_link-fix.patch 1298 MD5 d2a1aca212498ad4de9f4a79ac12026b files/digest-ipw2200-1.0.1 62 MD5 1953868cbb8ae6ee8eee55c5848417ab files/digest-ipw2200-1.0.3 62 -- cgit v1.2.3-65-gdbad