.. | .. |
---|
14 | 14 | |
---|
15 | 15 | |
---|
16 | 16 | |
---|
17 | | -static void ccmp_aad_nonce(_adapter *padapter, const struct ieee80211_hdr *hdr, const u8 *data, |
---|
18 | | - u8 *aad, size_t *aad_len, u8 *nonce) |
---|
| 17 | +static void ccmp_aad_nonce(const struct ieee80211_hdr *hdr, const u8 *data, |
---|
| 18 | + u8 *aad, size_t *aad_len, u8 *nonce) |
---|
19 | 19 | { |
---|
20 | 20 | u16 fc, stype, seq; |
---|
21 | 21 | int qos = 0, addr4 = 0; |
---|
.. | .. |
---|
58 | 58 | pos += addr4 * ETH_ALEN; |
---|
59 | 59 | if (qos) { |
---|
60 | 60 | pos[0] &= ~0x70; |
---|
61 | | - /* only spp mode need to refer QoS bit7 */ |
---|
62 | | - if (padapter->registrypriv.amsdu_mode != RTW_AMSDU_MODE_SPP) |
---|
| 61 | + if (1 /* FIX: either device has SPP A-MSDU Capab = 0 */) |
---|
63 | 62 | pos[0] &= ~0x80; |
---|
64 | 63 | pos++; |
---|
65 | 64 | *pos++ = 0x00; |
---|
.. | .. |
---|
135 | 134 | } |
---|
136 | 135 | |
---|
137 | 136 | |
---|
138 | | -u8 * ccmp_decrypt(_adapter *padapter, const u8 *tk, const struct ieee80211_hdr *hdr, |
---|
139 | | - const u8 *data, size_t data_len, size_t *decrypted_len) |
---|
140 | | - |
---|
| 137 | +u8 * ccmp_decrypt(const u8 *tk, const struct ieee80211_hdr *hdr, |
---|
| 138 | + const u8 *data, size_t data_len, size_t *decrypted_len) |
---|
141 | 139 | { |
---|
142 | 140 | u8 aad[30], nonce[13]; |
---|
143 | 141 | size_t aad_len; |
---|
.. | .. |
---|
154 | 152 | mlen = data_len - 8 - 8; |
---|
155 | 153 | |
---|
156 | 154 | os_memset(aad, 0, sizeof(aad)); |
---|
157 | | - ccmp_aad_nonce(padapter, hdr, data, aad, &aad_len, nonce); |
---|
| 155 | + ccmp_aad_nonce(hdr, data, aad, &aad_len, nonce); |
---|
158 | 156 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP AAD", aad, aad_len); |
---|
159 | 157 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP nonce", nonce, 13); |
---|
160 | 158 | |
---|
.. | .. |
---|
188 | 186 | } |
---|
189 | 187 | |
---|
190 | 188 | |
---|
191 | | -u8 * ccmp_encrypt(_adapter *padapter, const u8 *tk, u8 *frame, size_t len, size_t hdrlen, u8 *qos, |
---|
192 | | - u8 *pn, int keyid, size_t *encrypted_len) |
---|
193 | | - |
---|
| 189 | +u8 * ccmp_encrypt(const u8 *tk, u8 *frame, size_t len, size_t hdrlen, u8 *qos, |
---|
| 190 | + u8 *pn, int keyid, size_t *encrypted_len) |
---|
194 | 191 | { |
---|
195 | 192 | u8 aad[30], nonce[13]; |
---|
196 | 193 | size_t aad_len, plen; |
---|
.. | .. |
---|
228 | 225 | } |
---|
229 | 226 | |
---|
230 | 227 | os_memset(aad, 0, sizeof(aad)); |
---|
231 | | - ccmp_aad_nonce(padapter, hdr, crypt + hdrlen, aad, &aad_len, nonce); |
---|
| 228 | + ccmp_aad_nonce(hdr, crypt + hdrlen, aad, &aad_len, nonce); |
---|
232 | 229 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP AAD", aad, aad_len); |
---|
233 | 230 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP nonce", nonce, 13); |
---|
234 | 231 | |
---|
.. | .. |
---|
288 | 285 | } |
---|
289 | 286 | |
---|
290 | 287 | |
---|
291 | | -u8 * ccmp_256_decrypt(_adapter *padapter, const u8 *tk, const struct ieee80211_hdr *hdr, |
---|
292 | | - const u8 *data, size_t data_len, size_t *decrypted_len) |
---|
293 | | - |
---|
| 288 | +u8 * ccmp_256_decrypt(const u8 *tk, const struct ieee80211_hdr *hdr, |
---|
| 289 | + const u8 *data, size_t data_len, size_t *decrypted_len) |
---|
294 | 290 | { |
---|
295 | 291 | u8 aad[30], nonce[13]; |
---|
296 | 292 | size_t aad_len; |
---|
.. | .. |
---|
307 | 303 | mlen = data_len - 8 - 16; |
---|
308 | 304 | |
---|
309 | 305 | os_memset(aad, 0, sizeof(aad)); |
---|
310 | | - ccmp_aad_nonce(padapter, hdr, data, aad, &aad_len, nonce); |
---|
| 306 | + ccmp_aad_nonce(hdr, data, aad, &aad_len, nonce); |
---|
311 | 307 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP-256 AAD", aad, aad_len); |
---|
312 | 308 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP-256 nonce", nonce, 13); |
---|
313 | 309 | |
---|
.. | .. |
---|
330 | 326 | } |
---|
331 | 327 | |
---|
332 | 328 | |
---|
333 | | -u8 * ccmp_256_encrypt(_adapter *padapter, const u8 *tk, u8 *frame, size_t len, size_t hdrlen, |
---|
334 | | - u8 *qos, u8 *pn, int keyid, size_t *encrypted_len) |
---|
335 | | - |
---|
| 329 | +u8 * ccmp_256_encrypt(const u8 *tk, u8 *frame, size_t len, size_t hdrlen, |
---|
| 330 | + u8 *qos, u8 *pn, int keyid, size_t *encrypted_len) |
---|
336 | 331 | { |
---|
337 | 332 | u8 aad[30], nonce[13]; |
---|
338 | 333 | size_t aad_len, plen; |
---|
.. | .. |
---|
370 | 365 | } |
---|
371 | 366 | |
---|
372 | 367 | os_memset(aad, 0, sizeof(aad)); |
---|
373 | | - ccmp_aad_nonce(padapter, hdr, crypt + hdrlen, aad, &aad_len, nonce); |
---|
| 368 | + ccmp_aad_nonce(hdr, crypt + hdrlen, aad, &aad_len, nonce); |
---|
374 | 369 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP-256 AAD", aad, aad_len); |
---|
375 | 370 | wpa_hexdump(_MSG_EXCESSIVE_, "CCMP-256 nonce", nonce, 13); |
---|
376 | 371 | |
---|