summaryrefslogtreecommitdiff
path: root/sys/net80211
AgeCommit message (Collapse)Author
2008-08-15use LLC_SNAPFRAMELEN here too.Damien Bergamini
2008-08-14ieee80211_derive_pmkid() is not used eitherDamien Bergamini
2008-08-14#ifdef notyet ieee80211_kdf() as it is not used yet (shrink kernel a bit)Damien Bergamini
2008-08-14move the HostAP bridge code and the delivery of data frames to ether_inputDamien Bergamini
to a separate ieee80211_deliver_data() function. this will later be called by the A-MSDU deaggregation routine.
2008-08-14in ieee80211_input(), call if_start() after enqueuing frames in if_sndDamien Bergamini
when acting as an access point instead of having each driver doing the job. tested by krw@ (ral AP) and me with several drivers.
2008-08-14put ieee80211_dump_pkt() under #ifdef IEEE80211_DEBUGDamien Bergamini
2008-08-13one should never use sizeof(struct llc) since 802.2 LLC headersDamien Bergamini
have a variable length. use LLC_SNAPFRAMELEN instead (which happen to be equal to sizeof(struct llc)) as we only deal with LLC+SNAP headers. some indentation tweaks while i'm here. no binary change.
2008-08-13do not increment is_rx_eapol_key twice for each frame.Damien Bergamini
fix a test on the mbuf length and one on the descriptor version. remove redundant checking of GTK KDE length.
2008-08-12adopt the integrity group cipher of the AP at association time.Damien Bergamini
2008-08-12nuke unused fields.Damien Bergamini
2008-08-12add the code to encrypt/decrypt management frames, retrieve key idDamien Bergamini
from MMIE etc... this code can't be triggered as no drivers claim MFP capability yet.
2008-08-12reserves the correct number of bytes in ieee80211_send_4way_msg2().Damien Bergamini
2008-08-12clear Tx_Rx protection bits properly.Damien Bergamini
2008-08-12do not drop frames that have an invalid IE, just stop processingDamien Bergamini
more IEs.
2008-08-12populate ieee80211_recv_action(), does nothing yet.Damien Bergamini
2008-08-12add a couple of new definitions (action frames, new subtypes for controlDamien Bergamini
frames, new IEs etc...)
2008-08-12missing SHA-256 bits.Damien Bergamini
2008-08-12v3 descriptors use AES Key Wrap too.Damien Bergamini
2008-08-12new SHA-256 based AKMPs.Damien Bergamini
2008-08-12add/process group integrity cipher suite in RSN IEs.Damien Bergamini
add support for MFP negotiation during association.
2008-08-12add IEEE80211_RSNIE_MAXLEN and IEEE80211_WPAIE_MAXLEN definitionsDamien Bergamini
instead of hard-coding values. for RSN IE, request space for Group Integrity Cipher Suite.
2008-08-12add support for EAPOL-Key v3 descriptors (similar to v2 except that theDamien Bergamini
MIC is computed using AES-128-CMAC instead of HMAC-SHA1). add a SHA-256 based key derivation function (not used yet).
2008-08-12the only integrity group cipher currently supported is AES-128-CMAC.Damien Bergamini
2008-08-12generate a random IGTK in HostAP mode if we're MFP-capable.Damien Bergamini
2008-08-12add IEEE80211_F_MFPR config flags (management frame protection required)Damien Bergamini
and IEEE80211_C_MFP capability bit (driver supports MFP).
2008-08-12add definitions for RSN capabilities field (RSN IE).Damien Bergamini
2008-08-12AES Key Wrap adds a 64-bit MIC to the payload but we pad the contentDamien Bergamini
of the frame so that it is a multiple of 8 bytes before encryption. So we must reserve up to 15 bytes in the mbuf for the worst case, not 8.
2008-08-12process IGTK KDEs in EAPOL-Key frames and install integrity group keysDamien Bergamini
if MFP was negotiated with the peer (not possible yet).
2008-08-12extend the ic_nw_keys[] array to 6 elements.Damien Bergamini
indices 0-3 will be used for group data keys while indices 4-5 will be used for integrity group keys. add a ic_rsngroupmgmtcipher field too.
2008-08-12in a near future, unicast management frames will be encrypted/decryptedDamien Bergamini
using CCMP. use the right replay counter in this case.
2008-08-12Change the way we process EAPOL-Key frames.Damien Bergamini
Free the mbuf in the ieee80211_eapol_key_input() function. Do not assume the frame is contiguous, call m_pullup2() if it is not. We need the frame to be contiguous to process KDEs efficiently in EAPOL-Key frames (just like we process IEs in management frames). However, there are drivers like upgt(4) that use m_devget() in the RX path. m_devget() can return fragmented mbuf chains. Notice that we should do the same m_pullup2() for management frames. This will be done later. Remove the ic_recv_eapol callback.
2008-08-12add new IEEE80211_CIPHER_AES128_CMAC cipher and new key flagDamien Bergamini
IEEE80211_KEY_IGTK. lot of cleanup while i'm here (indent function prototypes). change license since this file was completely rewritten.
2008-08-12Welcome BIP: the Broadcast/Multicast Integrity Protocol definedDamien Bergamini
in Draft IEEE P802.11w. It provides data integrity and replay protection for broadcast/ multicast robust management frames (not used yet) using AES-128 in CMAC mode.
2008-08-12maintain a count of TKIP and CCMP replayed frames.Damien Bergamini
some cleanup while i'm here.
2008-08-12add replay counter for management frames.Damien Bergamini
2008-08-12fix values for QoS control field.Damien Bergamini
2008-08-12retrieve the TID from QoS frames to use with the appropriateDamien Bergamini
replay counter.
2008-08-12use MINCLSIZE to decide wether we need to allocate an mbuf cluster insteadHenning Brauer
of MLEM, damien ok
2008-08-12get rid of the map_ptk()/map_gtk() functions, just inline themDamien Bergamini
which makes things easier to track.
2008-08-12simplify ieee80211_derive_ptk() prototype.Damien Bergamini
pass the AKMP so we can support other key derivation functions in the future.
2008-08-12use HMAC-MD5, HMAC-SHA1 and AES Key Wrap sys/crypto/Damien Bergamini
2008-08-02do not use IEEE80211_QOS_TID. its definition in ieee80211.h isDamien Bergamini
wrong. hard-code 0xf for now. will be fixed post-release.
2008-08-02do not touch m after it has been enqueued with IFQ_ENQUEUE().Damien Bergamini
copy m_pkthdr.len and m_flags before and use that after to update the statistics. from altq(4) man page and for consistency with what is done in other parts of the tree.
2008-08-02print the correct value in a debug message.Damien Bergamini
2008-08-02typo in a comment. no binary change.Damien Bergamini
2008-08-02Drop frames that are received unencrypted when WEP is on or whenDamien Bergamini
WPA is on and RX protection for TA is on. Keep track of the TX/RX protection for each node when WPA is on. tested by djm@ (ral+wpa), ckuethe@ (ath-noenc) and krw@ (wpi<->ral+wpa). hints from bluhm@ has been in snaps for a few days. pointed out by bluhm@ something like 1 year ago but we did not have the right infrastructure to fix it properly at that time. ok deraadt@
2008-07-28ignore PS mode changes and PS-Poll from non-associated STAs.Damien Bergamini
keep track of the number of associated STAs in PS mode.
2008-07-28missing "goto err".Damien Bergamini
fix IEEE80211_DEBUG builds.
2008-07-27sanitize RX path a bit.Damien Bergamini
make sure drivers pass a contiguous header, check header length earlier. fix checking of frames sequence number for frames containing an Address 4 field (required for future work). fix processing of control frames (only pspoll for now).
2008-07-27s/IEEE80211_DPRINTF/DPRINTF/Damien Bergamini
automatically prepend __func__ to output. deobfuscates debug messages a bit. no binary change unless compiled with IEEE80211_DEBUG.