3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-20 12:39:25 +01:00
Commit Graph

262 Commits

Author SHA1 Message Date
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
Ravi kumar Veeramally
3432cfa53e eapol: Return if eapol_find_sm returns NULL 2015-03-23 20:08:30 -05:00
Ravi kumar Veeramally
a95b0e3a5a eapol: Fix return value 2015-03-23 15:37:40 -05:00
Denis Kenzior
86e7883c74 eapol: Print a message if MIC calculation fails 2015-03-20 14:52:49 -05:00
Denis Kenzior
d78883a068 eapol: Add default nonce generator 2015-03-20 12:31:14 -05:00
Denis Kenzior
35e3de9cdf eapol: Add default eapol tx path function 2015-03-20 12:30:56 -05:00
Denis Kenzior
0ee173e23f eapol: Fix PAE socket code
Using SOCK_DGRAM allows us to receive just the frame payload instead
of raw ethernet framing.
2015-03-20 00:28:58 -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
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
Denis Kenzior
581f4e298f eapol: Use a queue instead of a hashmap 2015-03-19 23:57:36 -05:00
Denis Kenzior
12d529eddb eapol: Rearrange data structure members
The order follows the rough order of initialization, as information
becomes available from the calling code or via steps of the 4-way
handshake.
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
Denis Kenzior
2bcfc15e96 eapol: Remove unneeded whitespace 2015-03-02 21:47:27 -06: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
41e82fba77 eapol: Optimize out rsne sizes
The RSN IEs contain the sizes of the element inside the data, so it is
not necessary to carry a dedicated size element.
2015-02-24 23:15:20 -06:00
Denis Kenzior
9760bcb5c3 eapol: Add checking that first RSNE is as expected 2015-02-24 22:09:35 -06:00
Denis Kenzior
7f9b8117fd eapol: Add utility to find GTK KDEs 2015-02-24 17:11:56 -06:00
Denis Kenzior
bfdd4a2328 eapol: Pass decrypted data len
to eapol_handle_ptk_3_of_4
2015-02-24 16:03:42 -06:00
Denis Kenzior
c71bfcbb7c eapol: Decryption of packets changes affects size 2015-02-24 15:59:36 -06:00
Denis Kenzior
f997816a7f eapol: Handle Step 2 & 4 of the 4-way Handshake 2015-02-24 11:14:11 -06:00
Denis Kenzior
da1180841d eapol: Handle Step 1 & 2 of 4-way Handshake 2015-02-24 11:13:57 -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
6ba57c9fa8 eapol: Fix eapol_verify_mic
The calculation was using an invalid length
2015-02-24 10:42:20 -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
ad3e0b6bf2 arc4: Remove and move to src/crypto.c 2015-02-18 21:11:37 -06:00
Denis Kenzior
b3e617838d aes: Remove and move to src/crypto.c 2015-02-18 21:02:09 -06:00
Denis Kenzior
260ef5bb9d md5: Remove and move to src/crypto.c 2015-02-18 20:56:18 -06:00
Denis Kenzior
89e4538945 eapol: Rework eapol_decrypt_key_data
802.11 uses AES Key Wrap and RC4 with the first 256 bytes skipped.  The
IV is also initialized into the RC4 key.
2015-02-17 17:39:47 -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
f9515fbe97 eapol: Add additional sanity checks for step 2 2015-02-13 16:36:24 -06:00
Denis Kenzior
9b746cd3c1 eapol: Update comment 2015-02-13 16:12:43 -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
87f775475a eapol: Handle cmac_aes in eapol_calcuate_mic 2015-02-13 14:53:16 -06:00
Denis Kenzior
63aae17aa8 eapol: Take out unneeded cast 2015-02-13 14:52:24 -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
Denis Kenzior
da8e10cc5f eapol: Verify key_descriptor_version 2014-12-27 22:34:39 -06:00
Denis Kenzior
5da6ca89e4 eapol: Add eapol_verify 2014-12-27 22:34:39 -06:00
Denis Kenzior
2cc842a302 eapol: Add beginnings of EAPoL utilities 2014-12-18 18:10:10 -06:00