diff options
author | Jiri Benc <jbenc@suse.cz> | 2005-08-25 20:11:46 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-25 20:11:46 -0400 |
commit | f13baae43e97e84d3f06080908db75a017c62165 (patch) | |
tree | f1611a5418f2c9790d99017b1cd001fc3a065d0b /net/ieee80211 | |
parent | 8d45ff7d7bd85d9066f5b498cda5c4a52ac36a7f (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')
-rw-r--r-- | net/ieee80211/ieee80211_rx.c | 16 | ||||
-rw-r--r-- | net/ieee80211/ieee80211_tx.c | 2 |
2 files changed, 9 insertions, 9 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 " |
diff --git a/net/ieee80211/ieee80211_tx.c b/net/ieee80211/ieee80211_tx.c index d1049edcd14d..071d093f2989 100644 --- a/net/ieee80211/ieee80211_tx.c +++ b/net/ieee80211/ieee80211_tx.c | |||
@@ -313,7 +313,7 @@ int ieee80211_xmit(struct sk_buff *skb, | |||
313 | 313 | ||
314 | if (encrypt) | 314 | if (encrypt) |
315 | fc = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA | | 315 | fc = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA | |
316 | IEEE80211_FCTL_WEP; | 316 | IEEE80211_FCTL_PROTECTED; |
317 | else | 317 | else |
318 | fc = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA; | 318 | fc = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA; |
319 | 319 | ||