Commit Graph

43 Commits

Author SHA1 Message Date
Andreas Schultz a488af66cf add vendor VSA to set additional key and IGTK support
IGTK == Management Frame Protection
2016-08-15 15:30:29 +02:00
Andreas Schultz 01919fffd9 update support for group key updates with Update WLAN 2016-08-08 09:25:01 +02:00
Andreas Schultz 2ac3944e7a implement WPA2 Stations Key handling
Implement the required support for extrace the cipher
suite settings from the the RS Information Element and
set the station key based on the 802.11 Station Key
CAPWAP message element.

Group Key update handling is currently not implemented nor is
Station Key update handling.
2016-07-27 12:36:34 +02:00
Andreas Schultz b0aaaa4436 replace memcmp on message id struct with direct compare
cset 3761122c fixed one place, but a few others remained.
This should take care of them all and fix a missing
IE in Add WLAN responses.
2016-05-06 17:52:39 +02:00
Andreas Schultz 6024cc15cf fix interpretation of Add WLAN's capability field
RFC 5416 copies the order of the capability flags from the
IEEE 802.11 capability IE. However, the bit ordering assumtions
in RFC 5416 differ from IEEE 802.11 (in the RFC the MSB is
numbered 0, in IEEE 802.11 the MSB is numbere 15).

RFC 5416 therefore specifies the capability flags bit reversed
compared to IEEE 802.11.
2016-05-03 10:28:38 +02:00
Andreas Schultz 651ccc0d33 rework debug output to be more helpful for radio config failures 2016-04-29 08:32:49 +02:00
Tobias Hintze 4f3fe0c339 fix error-condition for invalid WLAN ID 2016-04-08 13:16:19 +02:00
Andreas Schultz 813f24b8ac implement station inactivity timeout
After the max station inactivity has expired, a probe request
(a data null frame) is sent to the station. It the station does
not ACK this frame, it is removed from the WTP.

Note: inactivity timeout is not the same as the CAPWAP Idle Timeout.
The CAPWAP Idle Timeout would remove a station due to inactivity
even when it is still reachable from the WTP. In contrast, the
inactivity timeout probes whether the station is still present
and only removes it when not.
2016-04-07 15:15:50 +02:00
Andreas Schultz 29ed6544c5 switch everything to new log API and drop old one 2016-03-30 14:47:57 +02:00
Andreas Schultz dd6f6fcfe2 add format string atrribute to logging and fix all error found by it 2016-03-30 14:30:27 +02:00
Andreas Schultz 9572de350a switch timeout processing to libev
Rework the timeout and network code to use libev.
2016-03-30 14:06:43 +02:00
Andreas Schultz 32e9567f7b rework bssid handling and stop all used bssids when leaving RUN
Instead of haing a pool of unsused BSS Id's and a list of active
BSS's (wlans), use a single array and only mark the BSS Id as used
or unused.

When leaving RUN state, release (stop) all used BSS.
2016-03-29 15:28:40 +02:00
Andreas Schultz 2109c62b80 implement basic 802.11n support
Add suport to enable 80211n support on the BSS and set
station parameters through the "Add Station" procedure.

Setting 802.11n radio parameters is rudementary and does
not work yet.
2016-03-24 17:15:11 +01:00
Andreas Schultz e3a977e40a [wtp] rework wtp_radio_setconfiguration
no functional changes, only code shuffeling:
* move 802.11 IE handling into function
* rework deep if conditions to be simple
* reformat
2016-03-24 17:15:11 +01:00
Andreas Schultz 471d1058c4 [wtp] prepare message elements for vendor element handling
convert message element type into a struct{ vendor, type }.
Vendor will be 0 for all RFC types.
2016-03-08 10:21:51 +01:00
Andreas Schultz 5f98005414 handle WTP QoS IE 2016-03-04 17:04:21 +01:00
Andreas Schultz e4a5abba65 add support for CAPWAP IEEE 802.11 Information Element 2016-02-29 14:32:02 +01:00
Andreas Schultz cc5b38f322 impelment station binding to wlanid
* add a kernel bash hash list to track station to
  radio and wlan id binding
* enforce binding on recv
* configure binding through netlink interface from
  WTP process
2016-02-18 19:36:22 +01:00
Andreas Schultz cae859e42f [debug] add debug trace logging for some procedures 2016-02-17 11:56:03 +01:00
Andreas Schultz 8c20d78941 remove dos style newlines 2016-02-05 17:38:49 +01:00
vemax78 8937ded1d3 Improved the management of soap request/response.
The director has the opportunity to change the configuration of AC in join
connection. The virtual interfaces which encapsulate the wifi stations is
managed dynamically by the Director.
The AC must request authorization from Director for associate a station.
2014-10-19 21:37:22 +02:00
vemax78 8d9985fdea The capwap data channel migrated from userspace to kernalspace 2014-09-10 21:58:23 +02:00
vemax78 089a044f3f Fix capwap protocol and optional wireless information header.
Complete IEEE802.11 frames tunnel WTP side.
Now WTP can send data packets to the AC.
2014-06-09 22:30:04 +02:00
vemax78 67daa8dcbb Permit to forward IEEE802.11 Data Packet from kernel space to user space bypass
kernel network stack.
2014-06-07 22:37:19 +02:00
vemax78 e1023a388e Add business logic of Authentication/Association in SplitMAC mode. 2014-04-25 22:05:36 +02:00
vemax78 1c810c2d72 Fix disconnect station in local mac.
Fix management of AC IEEE802.11 management packet to station.
2014-04-23 22:11:24 +02:00
vemax78 ebb4eb0c98 Fix function/variable name
Prepared to management the IEEE802.11 Management Frame coming from the AC.
2014-04-22 23:02:49 +02:00
vemax78 7668ab7c7c Moved the management of the AP and Stations from nl80211 driver to generic wifi. 2014-04-21 23:16:56 +02:00
vemax78 fbd717b779 Added Delete Station Message Element into Station Configuration Message. 2014-04-15 22:26:31 +02:00
vemax78 3569267283 Big update with type fix and minor new function.
Complete the IEEE802.11 Station Association with interation of AC in LocalMAC mode.
After the IEEE802.11 Authorization / Association is complete, the AC can now
authorize the WTP to accept data station packets with Station Configuration Message.
2014-04-14 22:33:12 +02:00
vemax78 eee74744d0 Changed the scope of stations. Now the stations are managed on a global level. 2014-03-23 20:42:59 +01:00
vemax78 0873967b88 Fix code 2014-03-22 21:31:09 +01:00
vemax78 684a829158 Added the ability to manage timeouts inside the wireless module 2014-03-16 21:36:01 +01:00
vemax78 738a5d9c93 The IEEE 802.11 Management packages can be sent into CAPWAP Data Channel only
in native format
2014-03-16 21:34:29 +01:00
vemax78 196d165119 First actions to send managements frame into data channel 2014-02-16 15:28:27 +01:00
vemax78 e1e4748367 The preparation for sending IEEE802.11 management packets to the AC by data
channel. Support both Local Mac and Split Mac.
2014-02-09 21:55:10 +01:00
vemax78 025880583c Changed the management of the wireless interfaces, from creation to usage.
The virtual interfaces are created at the startup of the wtp to reduce the time
required to configure a wireless interface.
Applied some patches to build the WTP on OpenWRT trunk
2014-02-08 18:03:38 +01:00
vemax78 0790fb511a Improved the management of authentication and association of the stations 2014-01-21 19:54:59 +01:00
vemax78 254ef26ed6 Added ACL of stations 2014-01-18 19:13:10 +01:00
vemax78 d2c01ad82a Improved the management of the IEEE802.11 Beacon and add the management of
IEEE802.11 Probe Response.
2014-01-10 13:25:28 +01:00
vemax78 022585f3a1 Add nl80211 handler message events 2013-12-21 23:50:15 +01:00
vemax78 bef31786ce The first beacon of SmartCAPWAP 2013-12-20 23:14:34 +01:00
vemax78 dcbf837b7a Add basic function for management wlan configuration 2013-12-07 18:14:32 +01:00