Changeset 09044cb in mainline for uspace/lib/ieee80211/src/ieee80211.c
- Timestamp:
- 2015-04-22T09:42:36Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8a64320e
- Parents:
- cc575ef9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ieee80211/src/ieee80211.c
rcc575ef9 r09044cb 1181 1181 (ieee80211_ie_header_t *) it; 1182 1182 uint8_t *channel; 1183 uint32_t oui; 1183 1184 switch(ie_header->element_id) { 1184 1185 case IEEE80211_CHANNEL_IE: 1186 if(!ap_data) 1187 break; 1185 1188 channel = (uint8_t *) 1186 1189 (it + sizeof(ieee80211_ie_header_t)); … … 1197 1200 break; 1198 1201 case IEEE80211_VENDOR_IE: 1199 if(uint32be_from_seq(it + 1200 sizeof(ieee80211_ie_header_t)) == 1201 WPA_OUI) { 1202 oui = uint32be_from_seq(it + 1203 sizeof(ieee80211_ie_header_t)); 1204 if(oui == WPA_OUI) { 1205 if(!ap_data) 1206 break; 1202 1207 /* Prefering WPA2. */ 1203 1208 if(ap_data->scan_result.security.type == … … 1212 1217 sizeof(uint32_t)); 1213 1218 copy_auth_ie(ie_header, ap_data, it); 1214 } else if(uint32be_from_seq(it + 1215 sizeof(ieee80211_ie_header_t)) == 1216 GTK_OUI) { 1219 } else if(oui == GTK_OUI) { 1217 1220 return it + 1218 1221 sizeof(ieee80211_ie_header_t) + 1219 sizeof(uint32_t) + 2;1222 sizeof(uint32_t); 1220 1223 } 1221 1224 } … … 1390 1393 uint8_t *ptk = ieee80211_dev->bssid_info.ptk; 1391 1394 uint8_t *gtk = ieee80211_dev->bssid_info.gtk; 1395 uint8_t gtk_id = 1; 1392 1396 1393 1397 bool handshake_done = false; … … 1503 1507 1504 1508 if(rc == EOK) { 1505 uint8_t *key_ ptr = old_wpa ? key_data :1509 uint8_t *key_data_ptr = old_wpa ? key_data : 1506 1510 ieee80211_process_ies(ieee80211_dev, 1507 1511 NULL, key_data, key_data_length); 1508 1512 1509 if(key_ptr) { 1513 if(key_data_ptr) { 1514 uint8_t *key_ptr; 1515 if(old_wpa) { 1516 key_ptr = key_data_ptr; 1517 } else { 1518 gtk_id = *key_data_ptr & 0x3; 1519 key_ptr = key_data_ptr + 2; 1520 } 1521 1510 1522 memcpy(gtk, key_ptr, gtk_key_length); 1511 1523 handshake_done = true; … … 1588 1600 /* Insert Group key. */ 1589 1601 if(final_phase) { 1602 key_config.id = gtk_id; 1590 1603 key_config.suite = auth_data->security.group_alg; 1591 1604 key_config.flags =
Note:
See TracChangeset
for help on using the changeset viewer.