Sam Leffler
2cc12aded0
o fix wpa w/ wme: don't strip the QoS header on recv as tkip requires
...
it; instead pass the space occupied by the header down into the
crypto modules (except in the demic case which needs it only when
doing int in s/w)
o while here fix defrag to strip the header from 2nd and later frames
o teach decap code how to handle 4-address frames
2005-06-10 16:11:24 +00:00
Sam Leffler
da17aba102
mark stations authorized during recv processing instead of doing it
...
as a side effect of sending an auth success frame; sending mgmt
frames should not have side effects
2005-06-10 05:04:42 +00:00
Sam Leffler
7268fa6483
move AID implementation defines from the protocol definitions to
...
where they are used
2005-06-10 04:42:34 +00:00
Sam Leffler
404265d4fe
accept diassoc frame in ASSOC state
2005-06-10 04:37:05 +00:00
Sam Leffler
4720ec1918
pull some debug msgs up so they're seen more often
2005-06-10 01:48:57 +00:00
Sam Leffler
181181ac41
kick the state machine when we receive failure notice from an ap (when
...
operating in sta mode); this speeds up the state machine, previously
we were acting on a timeout
2005-06-10 01:47:28 +00:00
Sam Leffler
4fd1a57d92
discard open auth requests in adhoc mode
2005-06-10 01:43:28 +00:00
Sam Leffler
b8d05d3cf7
reject open auth requests when shared key auth is configured
...
Obtained from: Atheros
2005-06-10 01:41:59 +00:00
Sam Leffler
84eb84c45d
add ieee80211_send_error to encapsulate an idiom
2005-06-10 01:40:58 +00:00
Sam Leffler
c789ea8b60
o always check if ic_set_tim is !NULL before using it
...
o add missing call to clear tim after flushing ps q
2005-06-10 01:38:02 +00:00
Sam Leffler
ec42511509
mark state for protection only when operating in 11g
2005-06-10 01:35:21 +00:00
Sam Leffler
9b4db82905
don't reject station based on the PRIVACY bit in the capabilities;
...
the 802.11 spec says not to
Obtained from: Atheros
2005-06-10 01:33:47 +00:00
Sam Leffler
49d4c02f30
correct checks for rate set compatibility
2005-06-10 01:31:28 +00:00
Sam Leffler
f1e95a234a
record tstamp from beacons received in station mode when associated;
...
this is needed by drivers that want to resync their timers based on
the tsf of the last recv'd beacon frame
2005-06-10 01:29:21 +00:00
Sam Leffler
a634d6a788
o collect dtim period+count from beacons in station mode so drivers
...
can better program beacon timers
o leave placeholder in com structure for future ap/adhoc mode tim support
Reviewed by: avatar
2005-06-09 04:05:43 +00:00
Sam Leffler
f02a0bd2ac
Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid,
...
or a bssid+ssid. This is needed for later versions of wpa_supplicant
and for forthcoming addons to wpa_supplicant.
Note this is an api change and applications must be rebuilt.
2005-06-07 23:37:49 +00:00
Sam Leffler
ae8880fdce
Don't clock the state machine in various cases when roaming is set
...
to manual; this helps keep wpa_supplicant in sync.
2005-06-07 23:31:36 +00:00
Sam Leffler
6aa57182d3
WPA/802.11i interoperability fixes:
...
o only include capabilities word in the WPA ie when non-zero and
not preauth
o always include the capabilities in the RSN ie
Obtained from: Atheros
2005-06-07 00:08:48 +00:00
Sam Leffler
96d8846397
add force flag to enmic/demic crypto api for use in xmit fragmentation
...
and h/w mic verification
Reviewed by: avatar
2005-06-06 04:04:38 +00:00
Sam Leffler
dd70e17b12
Revise crypto api lightly to improve group key handling:
...
o don't pre-assign key index to the global key table entries so device
has a chance to decide what to use
o make ieee80211_crypto_newkey take the desired flags as an argument
instead of wacking the key structure directly; this eliminates a
bunch of code warts
o add a new flag IEEE80211_KEY_GROUP to indicate a key is a WPA Group
key so devices don't need to guess (temporarily add this flag in the
ioctl code until we can get wpa_supplicant+hostapd updated)
o shuffle IEEE80211_KEY_* bits to move flags used internally to the high
nibble of the flags word
Reviewed by: Tai-hwa Liang
2005-04-12 17:55:13 +00:00
Sam Leffler
0942c81c7a
remove extern from function decls
2005-04-04 04:27:20 +00:00
Sam Leffler
1f29887956
change ieee80211_input to return the frame type or -1
2005-04-04 02:32:56 +00:00
Sam Leffler
0fc5fe1218
pass re-association events up using a new message type
2005-03-29 19:36:42 +00:00
Sam Leffler
c9a4bb99b0
when WPA is enabled discard association requests w/o a WPA ie
...
Submitted by: Divy Le Ray
2005-03-26 07:15:34 +00:00
Sam Leffler
d6ec172c3a
don't include wme ie in probe request frames; it was meant for probe response
...
frames--move it there
Noticed by: Ghislain Mary
Submitted by: Michael Wong
2005-03-26 07:11:31 +00:00
Sam Leffler
bd40429e3d
correct comparison for null ptr
...
Noticed by: Coverity Prevent analysis tool
2005-03-16 20:42:00 +00:00
Sam Leffler
6edf09a6e9
avoid potential array index by -1
...
Noticed by: Coverity Prevent analysis tool
2005-03-16 20:40:48 +00:00
Sam Leffler
20098591be
eliminate use after free in debug code
...
Noticed by: Coverity Prevent analysis tool
2005-03-16 20:39:05 +00:00
Sam Leffler
0796482dd1
kill dead code
...
Noticed by: Coverity Prevent analysis tool
2005-03-16 20:35:23 +00:00
Sam Leffler
48b0a5be74
honor any desired bssid when creating an ibss
...
Prodded by: David Young
Obtained from: netbsd
2005-03-08 17:04:14 +00:00
Bill Paul
c788ca3e3c
Recently, it was reported to me that you could provoke a double fault
...
panic with the NDISulator if you did "ifconfig ndis0 10.0.0.1/24,"
whereas "ifconfig ndis0 10.0.0.1/24 up" worked fine. The double fault
was caused by the ifconfig thread running out of kernel stack space.
(This was partly due to the NDIsulator using a couple of big buffers on
the stack, but even after fixing that the double fault persisted.)
It turns out that ndis_init() is called in both cases, but in the first
case the code path passes through ieee80211_ioctl(), and it turns out
ieee80211_ioctl() consumes a whopping 2400 bytes of stack space.
Apparently, gcc -O2 causes the ieee80211_ioctl_get80211() routine to
be inlined into ieee80211_ioctl(), and for some reason which I do not
fully understand, this causes ieee80211_ioctl() to consume an extra 2K
of stack space.
To prevent this overly agressive optimization, ieee80211_ioctl_get80211()
is now declared with __attribute__ ((noinline)). With this change,
ieee80211_ioctl() now only reserves about 200 bytes of stack instead of 2400.
2005-03-03 17:35:05 +00:00
Sam Leffler
a0cc3f8558
mark timestamp for pending fragments
...
Noticed by: Jeffrey D. Chung
2005-02-23 04:52:30 +00:00
Sam Leffler
b4b64678d0
rev 1.19 fixed wpa supplicant but broke wpa authenticator; when operating
...
as an authenticator need to always check for the unicast key in the node
(as was the case before)
Submitted by: Divy Le Ray
2005-02-10 17:00:48 +00:00
Sam Leffler
f9cd9174fa
propagate state kept in the bss node when re-creating the node
...
on state transitions; this is a stopgap measure, need to rethink
how we do management of this state
Identified by: Divy Le Ray
2005-02-10 16:59:04 +00:00
Sam Leffler
cb212bbc75
correct check for unicast key being setup; wpa_supplicant in particular
...
uses only the global key state so looking in the per-node key slot is wrong
Submitted by: Tai-hwa Liang
2005-02-03 16:21:07 +00:00
Sam Leffler
badaf7bbb2
supply a default ic_reset method for drivers; the ioctl code expect this
...
method to always be setup
Submitted by: Tai-hwa Liang
2005-01-27 17:39:17 +00:00
Sam Leffler
49a152366e
update node reference count debug msgs to include the node address
...
since the mac address may not be sufficient to uniquely identify a node
2005-01-24 20:50:20 +00:00
Sam Leffler
5aa17efa69
clear IEEE80211_F_WMEUPDATE when building the initial beacon frame so we
...
don't do an update on the first beacon
2005-01-24 20:41:12 +00:00
Sam Leffler
2c21ffc8f5
noop change so RUN->RUN transition isn't considered invalid
...
(it happens on ibss merge)
2005-01-24 20:39:29 +00:00
Sam Leffler
5a11fbca83
add macros to convert between txop's and usecs
2005-01-24 20:38:26 +00:00
Sam Leffler
2ffc548f43
o clarify that beacon interval settings are in TU's, not ms
...
o add macros to convert between TU's and ms
2005-01-24 19:39:07 +00:00
Sam Leffler
acc4f7f50c
statically allocate the station/neighbor node table; the deferred
...
allocation scheme introduced a race condition during device state
transitions
2005-01-24 19:32:10 +00:00
Sam Leffler
a8b16e8727
handle potential stale values of bssid in neighbor nodes that
...
can occur after an ibss merge
Submitted by: David Young
2005-01-22 20:33:37 +00:00
Sam Leffler
4ef04d32f3
when ssid suppression is enabled don't respond to probe requests
...
unless our ssid is specified
2005-01-22 20:31:22 +00:00
Sam Leffler
e5a96ac7fb
be consistent in naming inactivity timers;
...
net.wlan.X.inact -> net.wlan.X.inact_run
2005-01-22 20:29:23 +00:00
Sam Leffler
a88be5f1ae
o replace out-of-line copy of FCS w/ a flag that indicates the
...
frame includes FCS (requires applications to be updated, but since
we weren't doing the out-of-line FCS stuff anyway app changes
were needed already)
o add a flag to indicate padding exists between the 802.11 header and
the payload (e.g. for Atheros cards)
o diff reducation against netbsd
MFC after: 1 week
2005-01-22 20:12:05 +00:00
Sam Leffler
44acc00dda
when a station is timed out for inactivity, remove it from the table
...
so it isn't considered again
2005-01-20 02:59:21 +00:00
Sam Leffler
ce64703289
explicitly avoid timing out ourself due to inactivity; it
...
can easily happen if the bss is quiet
2005-01-20 02:54:18 +00:00
Sam Leffler
90d0d0366b
fix refcnt leak in adhoc mode: entries in the neighbor table
...
created due to rx'd frames had an extra reference
2005-01-20 02:53:11 +00:00
Sam Leffler
a84679cd18
remove debug msg from ieee80211_iterate_nodes; it makes logs very noisy
...
as onoe rate control invokes this once a second
2005-01-18 20:35:39 +00:00