diff options
author | Henrik Brix Andersen <brix@gentoo.org> | 2005-09-06 14:53:17 +0000 |
---|---|---|
committer | Henrik Brix Andersen <brix@gentoo.org> | 2005-09-06 14:53:17 +0000 |
commit | bee3385f51de93945f96b903b67483638d9db9ad (patch) | |
tree | 3bf9f8f1c0b288455f883ac11a4a7cf4a53e9382 /net-wireless/ieee80211/files | |
parent | Stable on x86. (diff) | |
download | gentoo-2-bee3385f51de93945f96b903b67483638d9db9ad.tar.gz gentoo-2-bee3385f51de93945f96b903b67483638d9db9ad.tar.bz2 gentoo-2-bee3385f51de93945f96b903b67483638d9db9ad.zip |
Apply bugfixes from upstream, bail out if incompatible ieee80211.h found in kernel sources (bug #97397).
(Portage version: 2.0.51.22-r2)
Diffstat (limited to 'net-wireless/ieee80211/files')
3 files changed, 92 insertions, 0 deletions
diff --git a/net-wireless/ieee80211/files/digest-ieee80211-1.0.3-r2 b/net-wireless/ieee80211/files/digest-ieee80211-1.0.3-r2 new file mode 100644 index 000000000000..bb51c85dc9c8 --- /dev/null +++ b/net-wireless/ieee80211/files/digest-ieee80211-1.0.3-r2 @@ -0,0 +1 @@ +MD5 49870c030278e3716194ff5b64f9cbaa ieee80211-1.0.3.tgz 63355 diff --git a/net-wireless/ieee80211/files/ieee80211-1.0.3-keep_restricted_bit.patch b/net-wireless/ieee80211/files/ieee80211-1.0.3-keep_restricted_bit.patch new file mode 100644 index 000000000000..7173adbbb55e --- /dev/null +++ b/net-wireless/ieee80211/files/ieee80211-1.0.3-keep_restricted_bit.patch @@ -0,0 +1,28 @@ +[Bug 768] Keep auth mode unchanged after iwconfig key off/on. + +Signed-off-by: Zhu Yi <yi.zhu@intel.com> +-- +diff -urp ieee80211-1.0.3/ieee80211_wx.c ieee80211-1.0.3-keep_restricted_bit/ieee80211_wx.c +--- ieee80211-1.0.3/ieee80211_wx.c 2005-07-15 07:53:35.000000000 +0800 ++++ ieee80211-1.0.3-keep_restricted_bit/ieee80211_wx.c 2005-09-01 13:03:16.000000000 +0800 +@@ -413,11 +413,15 @@ int ieee80211_wx_set_encode(struct ieee8 + sec.flags |= SEC_ACTIVE_KEY; + } + } +- ieee->open_wep = !(erq->flags & IW_ENCODE_RESTRICTED); +- sec.auth_mode = ieee->open_wep ? WLAN_AUTH_OPEN : WLAN_AUTH_SHARED_KEY; +- sec.flags |= SEC_AUTH_MODE; +- IEEE80211_DEBUG_WX("Auth: %s\n", sec.auth_mode == WLAN_AUTH_OPEN ? +- "OPEN" : "SHARED KEY"); ++ if (erq->flags & (IW_ENCODE_OPEN | IW_ENCODE_RESTRICTED)) { ++ ieee->open_wep = !(erq->flags & IW_ENCODE_RESTRICTED); ++ sec.auth_mode = ieee->open_wep ? WLAN_AUTH_OPEN : ++ WLAN_AUTH_SHARED_KEY; ++ sec.flags |= SEC_AUTH_MODE; ++ IEEE80211_DEBUG_WX("Auth: %s\n", ++ sec.auth_mode == WLAN_AUTH_OPEN ? ++ "OPEN" : "SHARED KEY"); ++ } + + /* For now we just support WEP, so only set that security level... + * TODO: When WPA is added this is one place that needs to change */ diff --git a/net-wireless/ieee80211/files/ieee80211-1.0.3-open_frag.patch b/net-wireless/ieee80211/files/ieee80211-1.0.3-open_frag.patch new file mode 100644 index 000000000000..11dfa4ca7d83 --- /dev/null +++ b/net-wireless/ieee80211/files/ieee80211-1.0.3-open_frag.patch @@ -0,0 +1,63 @@ +Add host_open_frag to indicate if fragmentation is need to be done by host. + +Signed-off-by: Hong Liu <hong.liu@intel.com> +Signed-off-by: Zhu Yi <yi.zhu@intel.com> +-- +diff -urp ieee80211-1.0.3/ieee80211_module.c ieee80211-1.0.3-open-frag/ieee80211_module.c +--- ieee80211-1.0.3/ieee80211_module.c 2005-07-15 07:53:35.000000000 +0800 ++++ ieee80211-1.0.3-open-frag/ieee80211_module.c 2005-08-03 16:12:25.000000000 +0800 +@@ -137,6 +137,11 @@ struct net_device *alloc_ieee80211(int s + /* Default to enabling full open WEP with host based encrypt/decrypt */ + ieee->host_encrypt = 1; + ieee->host_decrypt = 1; ++ /* Host fragementation in Open mode. Default is enabled. Note host ++ * fragmentation is always enabled if host encryption is enabled. ++ * For cards can do hardware encryption, they can do hardware ++ * fragmentation as well. So we don't need a variable host_enc_frag. */ ++ ieee->host_open_frag = 1; + ieee->ieee802_1x = 1; /* Default to supporting 802.1x */ + + INIT_LIST_HEAD(&ieee->crypt_deinit_list); +@@ -151,7 +156,6 @@ struct net_device *alloc_ieee80211(int s + ieee->tkip_countermeasures = 0; + ieee->drop_unencrypted = 0; + ieee->privacy_invoked = 0; +- ieee->ieee802_1x = 1; + + return dev; + +diff -urp ieee80211-1.0.3/ieee80211_tx.c ieee80211-1.0.3-open-frag/ieee80211_tx.c +--- ieee80211-1.0.3/ieee80211_tx.c 2005-07-15 07:53:35.000000000 +0800 ++++ ieee80211-1.0.3-open-frag/ieee80211_tx.c 2005-08-03 16:12:25.000000000 +0800 +@@ -363,7 +363,7 @@ int ieee80211_xmit(struct sk_buff *skb, + skb_pull(skb, hdr_len); + } + +- if (host_encrypt) { ++ 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)) +@@ -382,8 +382,9 @@ int ieee80211_xmit(struct sk_buff *skb, + + /* Each fragment may need to have room for encryptiong + * pre/postfix */ +- bytes_per_frag -= crypt->ops->extra_mpdu_prefix_len + +- crypt->ops->extra_mpdu_postfix_len; ++ if (host_encrypt) ++ bytes_per_frag -= crypt->ops->extra_mpdu_prefix_len + ++ crypt->ops->extra_mpdu_postfix_len; + + /* Number of fragments is the total + * bytes_per_frag / payload_per_fragment */ +diff -urp ieee80211-1.0.3/net/ieee80211.h ieee80211-1.0.3-open-frag/net/ieee80211.h +--- ieee80211-1.0.3/net/ieee80211.h 2005-07-15 07:53:35.000000000 +0800 ++++ ieee80211-1.0.3-open-frag/net/ieee80211.h 2005-08-03 16:12:25.000000000 +0800 +@@ -798,6 +798,7 @@ struct ieee80211_device { + int host_encrypt; + int host_encrypt_msdu; + int host_decrypt; ++ int host_open_frag; + int ieee802_1x; /* is IEEE 802.1X used */ + + /* WPA data */ |