| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok patrick@ mpi@
|
|
|
|
|
|
| |
"data" and "no data" frames more obvious. These renamed macros aren't
actually used anywhere in net80211 yet.
cross-checked with 802.11 specs by myself and Lauri Tirkkonen
|
|
|
|
|
|
|
|
|
|
|
| |
From IEEE Std. 802.11-2016, Table 18-5 "ERP characteristics", p. 2332:
aSlotTime characteristic:
If dont11OperatingClassesRequired is false:
Long = 20 us
Short = 9 us
ok stsp@
|
|
|
|
|
| |
Problem reported by Colton Lewis on misc@
ok tb@
|
|
|
|
| |
Sure stsp@
|
| |
|
|
|
|
| |
ok kettenis@
|
|
|
|
|
|
| |
but we were checking bits in these parameters with the wrong set of bitmasks.
Negotiating A-MPDUs with some APs failed because of this bug.
ok kettenis@
|
|
|
|
|
|
|
| |
ieee80211com and move them inside #ifndef IEEE80211_NO_HT without breaking
the build in rsu(4) for RAMDISK_CD.
Also declare 11n protection modes and MCS count.
ok deraadt mpi kettenis guenther
|
|
|
|
| |
typo fix + ok sthen@
|
|
|
|
|
|
|
|
| |
Add missing element IDs (and remove some non-standard ones), action field
categories and values, some 11n related stuff, and other small things.
Use the same element ID symbolic names as FreeBSD where applicable as
suggested by millert.
ok mpi millert
|
|
|
|
| |
ok stsp@
|
|
|
|
| |
more info in tcpdump. OK giovanni@
|
|
|
|
|
|
|
|
|
|
| |
Maintain state for both originator and recipient roles separately.
Do not allocate receive reordering buffer in addba_request().
Test the "initiator" bit in incoming DELBA frames and set it appropriately
in outgoing DELBA frames.
Separate callbacks for Tx/Rx too.
no binary change since all this is #ifdef'ed out.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- implement A-MPDU frames buffering and reordering
- implement A-MSDU decapsulation
- process/send ADDBA Request, ADDBA Response and DELBA action frames
- process Block Ack Request control frames (including MTBAR)
- implement PBAC support (Protected Block Ack)
- add some incomplete HT Capabilities and HT Operation IEs parsing
Add more Management Frame Protection bits based on 802.11w Draft 7.0:
- implement SA Query procedure (both AP and STA)
- cleanup BIP
Fix some bugs:
- fix check for WEP key length that otherwise caused a stack smash in
ieee80211_wep_encrypt (pointed out by Xavier Santolaria on macppc)
- properly stop EAPOL timeout: fixes a panic that occured in HostAP mode
when turning the interface down while a 4-way handshake is in progress
(pointed out by Doughertys)
Did some code cleanup too.
The HT bits are currently not compiled in (IEEE80211_NO_HT is defined)
because they won't be ready until after the next release and I didn't
want to grow the kernel or to inadvertently introduce new bugs.
They are here such that other people can look at the code.
Notice that I had to add an extra parameter to ic_send_mgmt() for
action frames, that is why there are small changes in drivers defining
their own ic_send_mgmt() handler.
Sorry for the not very incremental diff but this has been sitting in
my tree for too long now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
header fields (Sequence Control, Address 4, QoS Control, +HTC) and
use them where appropriate.
Add ieee80211_get_qos() inline function to extract the QoS control
field of an 802.11 header instead of duplicating the same scary
code everywhere (the location of this field depends on the presence
of an Address 4 field).
Export ieee80211_up_to_ac() so that drivers can select the access
category to use based on the TID subfield of the QoS Control field.
Define more QoS-related bits for the RSN Capabilities field of RSN IE
(will be used later).
|
|
|
|
|
|
| |
0=normal ack). all bits are currently set to 0.
use this bitmap to set the ACK policy of the QoS control field of
outgoing QoS frames.
|
|
|
|
|
|
|
|
|
|
| |
that ieee80211.h contains only definitions that are part of the
802.11 standard and not constants used internally by net80211.
because channels attributes are exported to userland through the
radiotap BPF interface, add the definitions to ieee80211_radiotap.h
too (which must be kept in sync with what is used in net80211).
also, do not export combinations of channel attributes to userland
so that noone get stupid ideas.
|
|
|
|
| |
frames, new IEs etc...)
|
|
|
|
| |
add support for MFP negotiation during association.
|
|
|
|
|
| |
MIC is computed using AES-128-CMAC instead of HMAC-SHA1).
add a SHA-256 based key derivation function (not used yet).
|
| |
|
|
|
|
| |
if MFP was negotiated with the peer (not possible yet).
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
remove clause 3 of license while I'm here (from FreeBSD).
|
|
|
|
| |
this must not be included by drivers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handshake protocols (both supplicant and authenticator state
machines) as defined in the IEEE 802.11i standard.
Software implementation of the TKIP (Temporal Key Integrity
Protocol) and CCMP (CTR with CBC-MAC Protocol) protocols.
This diff doesn't implement any of the 802.1X authentication
protocols and thus only PSK authentication (using pre-shared
keys) is currently supported.
In concrete terms, this adds support for WPA-PSK and WPA2-PSK
protocols, both in station and hostap modes.
The following drivers are marked as WPA-capable and should
work: bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4),
rum(4), upgt(4), and zyd(4)
The following options have been added to ifconfig(8):
wpa, wpapsk, wpaprotos, wpaakms, wpaciphers, wpagroupcipher
wpa-psk(8) can be used to generate keys from passphrases.
tested by many@
ok deraadt@
|
| |
|
|
|
|
|
|
|
|
|
| |
so use that too and remove a check in ieee80211_recv_eapol().
WPA1 stores the group key id into bits 4-5 of the EAPOL-Key frame info
field and uses bit 6 to indicate if the key is Rx/Tx or Rx only.
remove a check in ieee80211_eapol_key_decrypt() because WPA1 encrypts
the payload of message 1 of the group-key handshake without setting the
encrypted bit in the info field.
|
|
|
|
|
| |
Remove a double definition.
Add definitions for Key Data Encapsulations.
|
|
|
|
|
| |
prepend 802.1X header.
use byte-arrays to prevent access to unaligned fields.
|
|
|
|
|
| |
remove two comments that were misplaced while I'm here (addr4 is always
located after the i_seq field, not at the end of the header).
|
|
|
|
| |
functions defined in 802.11i.
|
| |
|
|
|
|
| |
by hostapd and tcpdump. Now tcpdump and hostapd should build again.
|
|
|
|
|
| |
userland is using these defines -- unbreaks build. Found by jasper@
discussed with reyk@.
|
| |
|
|
|
|
| |
key handshakes).
|
| |
|
|
|
|
| |
keep IEEE80211_FC1_WEP for compatibility with pre-RSNA networks.
|
|
|
|
| |
fix a CAPINFO name
|
| |
|
| |
|
| |
|
|
|
|
|
| |
ieee80211_node structure.
add a flag to indicate whether a STA is a QSTA or not.
|
|
|
|
|
|
|
| |
- add three new information elements identifiers:
IEEE80211_ELEMID_QBSS_LOAD : QBSS Load
IEEE80211_ELEMID_EDCA_PARAMS: EDCA Parameter Set
IEEE80211_ELEMID_QOS_CAP : QoS Capability
|
| |
|
|
|
|
|
|
| |
not used yet.
ok jsg@ deraadt@
|
|
|
|
|
|
|
|
|
|
| |
functions into the two drivers that use them (atw and rtw.)
this code is not generic enough to be used by other drivers and
there is no chance that it will ever be used in newer driver since
it supports 802.11b only.
plus, it hurts my eyes each time i look into ieee80211_output.c.
"fine with me as long as the logic doesn't change in the functions" jsg@
|