Andrew Zaborowski
14020b2aa6
eapol: Handle EAPoL-EAP packets
2015-11-02 21:45:43 -06:00
Andrew Zaborowski
2bccb7e7dc
eapol: Remove user_data from __eapol_rx_packet args
...
Instead of passing the user_data parameter in every __eapol_rx_packet
call to be used by EAPOL in all tx_packet calls, add
eapol_sm_set_tx_user_data function that sets the value of user_data for
all subsequent tx_packet calls. This way tx_packet can be called from
places that are not necessarily inside an __eapol_rx_packet call.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
ef9b6f41ce
eapol: Separate EAPOL header from struct eapol_key
...
This is needed so we can better handle sending and receiving EAPoL
packets other than EAPoL-Key.
2015-11-02 21:40:21 -06:00
Denis Kenzior
99cdb860c0
eapol: Simplify install_tk callback
2015-05-21 21:10:21 -05:00
Denis Kenzior
e93dd44607
eapol: Simplify GTK install callback
...
Instead of passing in the RSN/WPA elements, simply pass in the
configured cipher. This will make the implementation of the install_gtk
callback much simpler.
2015-05-21 21:08:47 -05:00
Denis Kenzior
9992d3aeda
eapol: Extract & keep track of desired ciphers
...
When our own WPA IE or RSN IE are set, extract group and pairwise
ciphers. These ciphers are the ones we desire to use for the secure
connection.
2015-05-19 00:05:53 -05:00
Denis Kenzior
8593ebaad4
eapol: Set wpa_key_id in WPA1 Step 2 of 2
2015-05-18 14:45:09 -05:00
Denis Kenzior
8f3fd6e47d
eapol: Add eapol_verify_gtk_2_of_2
2015-05-05 22:04:21 -05:00
Andrew Zaborowski
a7846aee85
eapol: WPA-specific handshake quirks
...
To support WPA allow the legacy EAPOL-Key frame formats.
2015-05-05 21:22:31 -05:00
Andrew Zaborowski
a8c0f20510
eapol: Handle the Group Key Handshake
2015-05-05 21:10:07 -05:00
Denis Kenzior
bc98bc9ecb
eapol: Add functions to set own/ap WPA IEs
...
If EAPoL is being run for in WPA mode, then instead of RSN elements, the
WPA elements are required.
2015-04-10 23:46:58 -05:00
Denis Kenzior
9f17b71375
eapol: Add eapol_cancel
2015-03-29 20:58:40 -05:00
Denis Kenzior
f31407dd46
eapol: Add deauthenticate callback
2015-03-29 20:30:14 -05:00
Denis Kenzior
6ec364cb86
eapol: Add __eapol_set_gtk_install_func
2015-03-25 23:28:22 -05:00
Denis Kenzior
bf5a6a3999
eapol: Add __eapol_set_install_tk_func
2015-03-25 22:35:12 -05:00
Denis Kenzior
ddcbb3f2a8
eapol: Add eapol_sm_set_user_data
2015-03-25 22:34:05 -05:00
Denis Kenzior
656318ed0c
eapol: Update eapol_tx_packet_func_t declaration
...
Use aa and spa instead of aa_addr and sta_addr
2015-03-20 11:43:42 -05:00
Denis Kenzior
19c67c3b3a
eapol: Add user_data argument
...
To __eapol_rx_packet. The same argument is passed to tx_packet
function.
2015-03-19 23:57:37 -05:00
Denis Kenzior
b526df19d6
eapol: Fix __eapol_rx_packet declaration
2015-03-19 23:57:36 -05:00
Denis Kenzior
6b84e0da1f
eapol: Rename aa_addr
...
The use of aa_addr was redundant. Use 'AA' instead. 802.11 defines
'AA' as 'Authenticator Address'.
2015-03-19 23:57:36 -05:00
Denis Kenzior
b871d904d5
eapol: Rename sta_addr
...
The use of sta_addr made no sense. Instead, use the terminology from
802.11: 'Supplicant Address (SPA)'
2015-03-19 23:57:36 -05:00
Jukka Rissanen
acce7c9034
eapol: Change the interface index data type
...
The ifindex should be uint32_t instead of int.
2015-03-19 20:18:05 -05:00
Ravi kumar Veeramally
db45cd8dbf
eapol: Provide utility to open raw socket
...
Opens a raw socket to filter ETH_P_PAE based packets. Binds to specific
interface index to read/write eapol frames.
2015-02-26 10:54:05 -06:00
Denis Kenzior
c71bfcbb7c
eapol: Decryption of packets changes affects size
2015-02-24 15:59:36 -06:00
Denis Kenzior
9e6cbc5b60
eapol: Add __eapol_rx_packet
2015-02-24 11:13:19 -06:00
Denis Kenzior
4a540526fe
eapol: Add eapol_start
2015-02-24 11:12:22 -06:00
Denis Kenzior
2ee8b8e56e
eapol: Add __eapol_set_protocol_version
2015-02-24 11:11:40 -06:00
Denis Kenzior
87dc9543b2
eapol: Add tx_packet_func and setter
2015-02-24 11:10:42 -06:00
Denis Kenzior
54fa4f29c7
eapol: Add get_nonce func and setter
2015-02-24 11:09:42 -06:00
Denis Kenzior
79bf677e71
eapol: Add eapol_init and eapol_exit
2015-02-24 11:08:03 -06:00
Denis Kenzior
2e1e484f95
eapol: Add eapol_sm_set_own_rsn
2015-02-24 10:58:43 -06:00
Denis Kenzior
08b2980fd6
eapol: Add eapol_sm_set_ap_rsn
2015-02-24 10:58:03 -06:00
Denis Kenzior
f85c860cc3
eapol: Add eapol_sm_set_pmk
2015-02-24 10:57:25 -06:00
Denis Kenzior
ff92e5c5e1
eapol: Add eapol_sm_set_aa_address
2015-02-24 10:56:39 -06:00
Denis Kenzior
122dfe7025
eapol: Add eapol_sm_set_sta_address
2015-02-24 10:55:50 -06:00
Denis Kenzior
2866fbbf91
eapol: Introduce eapol_sm
2015-02-24 10:54:23 -06:00
Denis Kenzior
bf42e3e7a3
eapol: snonce not needed in create_ptk_4_of_4
2015-02-24 10:52:12 -06:00
Denis Kenzior
a0bf16c5ca
eapol: Refactor verification functions
...
Use a macro for common checks. Assume that the validate step will be
done separately.
2015-02-23 15:39:26 -06:00
Denis Kenzior
6a4b75cf8d
eapol: Add eapol_verify_mic
2015-02-18 21:13:09 -06:00
Denis Kenzior
cd08cdfd9f
eapol: Add eapol_decrypt_key_data
2015-02-13 20:37:17 -06:00
Denis Kenzior
85e54c66fe
eapol: Add eapol_verify_ptk_4_of_4
2015-02-13 18:38:10 -06:00
Denis Kenzior
0570940cd7
eapol: Add eapol_verify_ptk_3_of_4
2015-02-13 16:36:52 -06:00
Denis Kenzior
54d4090542
eapol: Tweak API
...
We need to extract quite a bit of information from the EAPoL frames, so
tweak the API to just verify that a frame is of a particular type
2015-02-13 16:08:45 -06:00
Denis Kenzior
df8d60d7e1
eapol: Add eapol_create_ptk_4_of_4
2015-02-13 14:10:28 -06:00
Denis Kenzior
005fc0c0d1
eapol: Handle key_replay_counter as a uint64_t
2015-02-13 13:54:50 -06:00
Tomasz Bursztyka
8f946c0cdc
eapol: Change function signatures
...
The frame which comes in is an EAPoL-key frame, thus changing the name
accordingly (as well as the parameter names).
Also, returning the cast pointer instead of a boolean is easier to
use as there won't be any need to perform the cast ourselves afterward
2015-01-22 12:18:17 -06:00
Denis Kenzior
096165d142
eapol: Add eapol_calculate_mic
2014-12-27 23:04:14 -06:00
Denis Kenzior
27d25efc0b
eapol: Add eapol_create_ptk_2_of_4
2014-12-27 23:04:12 -06:00
Denis Kenzior
dc3331a98d
eapol: Add eapol_process_ptk_2_of_4
2014-12-27 22:58:22 -06:00
Denis Kenzior
996e32bf1d
eapol: Add eapol_process_ptk_1_of_4
2014-12-27 22:58:22 -06:00