aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee80211/ieee80211_rx.c
diff options
context:
space:
mode:
authorJiri Benc <jbenc@suse.cz>2005-08-25 20:11:46 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-08-25 20:11:46 -0400
commitf13baae43e97e84d3f06080908db75a017c62165 (patch)
treef1611a5418f2c9790d99017b1cd001fc3a065d0b /net/ieee80211/ieee80211_rx.c
parent8d45ff7d7bd85d9066f5b498cda5c4a52ac36a7f (diff)
ieee80211: new constants from latest 802.11x specifications
From: Gertjan van Wingerde <gwingerde@home.nl> Attached patch updates the definitions of the generic ieee80211 stack to the latest versions of the published 802.11x specification suite. Signed-off-by: Gertjan van Wingerde <gwingerde@home.nl> Signed-off-by: Jiri Benc <jbenc@suse.cz>
Diffstat (limited to 'net/ieee80211/ieee80211_rx.c')
-rw-r--r--net/ieee80211/ieee80211_rx.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index 0dd102993ef4..9505f3167aeb 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -439,7 +439,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
439 crypt->ops->decrypt_mpdu == NULL)) 439 crypt->ops->decrypt_mpdu == NULL))
440 crypt = NULL; 440 crypt = NULL;
441 441
442 if (!crypt && (fc & IEEE80211_FCTL_WEP)) { 442 if (!crypt && (fc & IEEE80211_FCTL_PROTECTED)) {
443 /* This seems to be triggered by some (multicast?) 443 /* This seems to be triggered by some (multicast?)
444 * frames from other than current BSS, so just drop the 444 * frames from other than current BSS, so just drop the
445 * frames silently instead of filling system log with 445 * frames silently instead of filling system log with
@@ -455,7 +455,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
455#ifdef NOT_YET 455#ifdef NOT_YET
456 if (type != WLAN_FC_TYPE_DATA) { 456 if (type != WLAN_FC_TYPE_DATA) {
457 if (type == WLAN_FC_TYPE_MGMT && stype == WLAN_FC_STYPE_AUTH && 457 if (type == WLAN_FC_TYPE_MGMT && stype == WLAN_FC_STYPE_AUTH &&
458 fc & IEEE80211_FCTL_WEP && ieee->host_decrypt && 458 fc & IEEE80211_FCTL_PROTECTED && ieee->host_decrypt &&
459 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0) 459 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0)
460 { 460 {
461 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth " 461 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
@@ -556,7 +556,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
556 556
557 /* skb: hdr + (possibly fragmented, possibly encrypted) payload */ 557 /* skb: hdr + (possibly fragmented, possibly encrypted) payload */
558 558
559 if (ieee->host_decrypt && (fc & IEEE80211_FCTL_WEP) && 559 if (ieee->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) &&
560 (keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt)) < 0) 560 (keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt)) < 0)
561 goto rx_dropped; 561 goto rx_dropped;
562 562
@@ -564,7 +564,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
564 564
565 /* skb: hdr + (possibly fragmented) plaintext payload */ 565 /* skb: hdr + (possibly fragmented) plaintext payload */
566 // PR: FIXME: hostap has additional conditions in the "if" below: 566 // PR: FIXME: hostap has additional conditions in the "if" below:
567 // ieee->host_decrypt && (fc & IEEE80211_FCTL_WEP) && 567 // ieee->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) &&
568 if ((frag != 0 || (fc & IEEE80211_FCTL_MOREFRAGS))) { 568 if ((frag != 0 || (fc & IEEE80211_FCTL_MOREFRAGS))) {
569 int flen; 569 int flen;
570 struct sk_buff *frag_skb = ieee80211_frag_cache_get(ieee, hdr); 570 struct sk_buff *frag_skb = ieee80211_frag_cache_get(ieee, hdr);
@@ -620,12 +620,12 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
620 620
621 /* skb: hdr + (possible reassembled) full MSDU payload; possibly still 621 /* skb: hdr + (possible reassembled) full MSDU payload; possibly still
622 * encrypted/authenticated */ 622 * encrypted/authenticated */
623 if (ieee->host_decrypt && (fc & IEEE80211_FCTL_WEP) && 623 if (ieee->host_decrypt && (fc & IEEE80211_FCTL_PROTECTED) &&
624 ieee80211_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt)) 624 ieee80211_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt))
625 goto rx_dropped; 625 goto rx_dropped;
626 626
627 hdr = (struct ieee80211_hdr *) skb->data; 627 hdr = (struct ieee80211_hdr *) skb->data;
628 if (crypt && !(fc & IEEE80211_FCTL_WEP) && !ieee->open_wep) { 628 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep) {
629 if (/*ieee->ieee802_1x &&*/ 629 if (/*ieee->ieee802_1x &&*/
630 ieee80211_is_eapol_frame(ieee, skb)) { 630 ieee80211_is_eapol_frame(ieee, skb)) {
631#ifdef CONFIG_IEEE80211_DEBUG 631#ifdef CONFIG_IEEE80211_DEBUG
@@ -646,7 +646,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
646 } 646 }
647 647
648#ifdef CONFIG_IEEE80211_DEBUG 648#ifdef CONFIG_IEEE80211_DEBUG
649 if (crypt && !(fc & IEEE80211_FCTL_WEP) && 649 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) &&
650 ieee80211_is_eapol_frame(ieee, skb)) { 650 ieee80211_is_eapol_frame(ieee, skb)) {
651 struct eapol *eap = (struct eapol *)(skb->data + 651 struct eapol *eap = (struct eapol *)(skb->data +
652 24); 652 24);
@@ -655,7 +655,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
655 } 655 }
656#endif 656#endif
657 657
658 if (crypt && !(fc & IEEE80211_FCTL_WEP) && !ieee->open_wep && 658 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep &&
659 !ieee80211_is_eapol_frame(ieee, skb)) { 659 !ieee80211_is_eapol_frame(ieee, skb)) {
660 IEEE80211_DEBUG_DROP( 660 IEEE80211_DEBUG_DROP(
661 "dropped unencrypted RX data " 661 "dropped unencrypted RX data "