Lines Matching refs:entry

379 	struct eap_sim_db_pending *entry, *prev = NULL;
381 entry = data->pending;
382 while (entry) {
383 if (entry->aka == aka && os_strcmp(entry->imsi, imsi) == 0) {
385 prev->next = entry->next;
387 data->pending = entry->next;
390 prev = entry;
391 entry = entry->next;
393 return entry;
398 struct eap_sim_db_pending *entry)
400 entry->next = data->pending;
401 data->pending = entry;
406 struct eap_sim_db_pending *entry)
408 eloop_cancel_timeout(eap_sim_db_query_timeout, data, entry);
409 eloop_cancel_timeout(eap_sim_db_del_timeout, data, entry);
410 os_free(entry);
415 struct eap_sim_db_pending *entry)
420 if (*pp == entry) {
421 *pp = entry->next;
422 eap_sim_db_free_pending(data, entry);
433 struct eap_sim_db_pending *entry = user_ctx;
435 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Delete query timeout for %p", entry);
436 eap_sim_db_del_pending(data, entry);
443 struct eap_sim_db_pending *entry = user_ctx;
449 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Query timeout for %p", entry);
450 entry->state = FAILURE;
451 data->get_complete_cb(data->ctx, entry->cb_session_ctx);
452 eloop_register_timeout(1, 0, eap_sim_db_del_timeout, data, entry);
460 struct eap_sim_db_pending *entry;
469 entry = eap_sim_db_get_pending(data, imsi, 0);
470 if (entry == NULL) {
471 wpa_printf(MSG_DEBUG, "EAP-SIM DB: No pending entry for the "
480 entry->state = FAILURE;
481 eap_sim_db_add_pending(data, entry);
482 data->get_complete_cb(data->ctx, entry->cb_session_ctx);
496 if (hexstr2bin(start, entry->u.sim.kc[num_chal],
505 if (hexstr2bin(start, entry->u.sim.sres[num_chal],
510 if (hexstr2bin(start, entry->u.sim.rand[num_chal],
520 entry->u.sim.num_chal = num_chal;
522 entry->state = SUCCESS;
525 eap_sim_db_add_pending(data, entry);
526 data->get_complete_cb(data->ctx, entry->cb_session_ctx);
531 eap_sim_db_free_pending(data, entry);
539 struct eap_sim_db_pending *entry;
547 entry = eap_sim_db_get_pending(data, imsi, 1);
548 if (entry == NULL) {
549 wpa_printf(MSG_DEBUG, "EAP-SIM DB: No pending entry for the "
558 entry->state = FAILURE;
559 eap_sim_db_add_pending(data, entry);
560 data->get_complete_cb(data->ctx, entry->cb_session_ctx);
568 if (hexstr2bin(start, entry->u.aka.rand, EAP_AKA_RAND_LEN))
576 if (hexstr2bin(start, entry->u.aka.autn, EAP_AKA_AUTN_LEN))
584 if (hexstr2bin(start, entry->u.aka.ik, EAP_AKA_IK_LEN))
592 if (hexstr2bin(start, entry->u.aka.ck, EAP_AKA_CK_LEN))
604 entry->u.aka.res_len = (end - start) / 2;
605 if (entry->u.aka.res_len > EAP_AKA_RES_MAX_LEN) {
607 entry->u.aka.res_len = 0;
610 if (hexstr2bin(start, entry->u.aka.res, entry->u.aka.res_len))
613 entry->state = SUCCESS;
616 eap_sim_db_add_pending(data, entry);
617 data->get_complete_cb(data->ctx, entry->cb_session_ctx);
622 eap_sim_db_free_pending(data, entry);
895 struct eap_sim_db_pending *entry)
898 eap_sim_db_query_timeout, data, entry);
930 struct eap_sim_db_pending *entry;
937 username[1] == '\0' || os_strlen(username) > sizeof(entry->imsi)) {
946 entry = eap_sim_db_get_pending(data, imsi, 0);
947 if (entry) {
949 if (entry->state == FAILURE) {
950 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Pending entry -> "
952 eap_sim_db_free_pending(data, entry);
956 if (entry->state == PENDING) {
957 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Pending entry -> "
959 eap_sim_db_add_pending(data, entry);
963 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Pending entry -> "
964 "%d challenges", entry->u.sim.num_chal);
965 num_chal = entry->u.sim.num_chal;
968 os_memcpy(_rand, entry->u.sim.rand, num_chal * GSM_RAND_LEN);
969 os_memcpy(sres, entry->u.sim.sres,
971 os_memcpy(kc, entry->u.sim.kc, num_chal * EAP_SIM_KC_LEN);
972 eap_sim_db_free_pending(data, entry);
998 entry = os_zalloc(sizeof(*entry));
999 if (entry == NULL)
1002 os_strlcpy(entry->imsi, imsi, sizeof(entry->imsi));
1003 entry->cb_session_ctx = cb_session_ctx;
1004 entry->state = PENDING;
1005 eap_sim_db_add_pending(data, entry);
1006 eap_sim_db_expire_pending(data, entry);
1007 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Added query %p", entry);
1150 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Added new pseudonym entry");
1188 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Added new reauth entry");
1198 * eap_sim_db_add_reauth - EAP-SIM DB: Add new re-authentication entry
1209 * This function adds a new re-authentication entry for an EAP-SIM user.
1238 * eap_sim_db_add_reauth_prime - EAP-AKA' DB: Add new re-authentication entry
1250 * This function adds a new re-authentication entry for an EAP-AKA' user.
1310 * eap_sim_db_get_reauth_entry - EAP-SIM DB: Get re-authentication entry
1313 * Returns: Pointer to the re-auth entry, or %NULL if not found
1338 * eap_sim_db_remove_reauth - EAP-SIM DB: Remove re-authentication entry
1340 * @reauth: Pointer to re-authentication entry from
1397 struct eap_sim_db_pending *entry;
1406 username[1] == '\0' || os_strlen(username) > sizeof(entry->imsi)) {
1415 entry = eap_sim_db_get_pending(data, imsi, 1);
1416 if (entry) {
1417 if (entry->state == FAILURE) {
1418 eap_sim_db_free_pending(data, entry);
1423 if (entry->state == PENDING) {
1424 eap_sim_db_add_pending(data, entry);
1431 os_memcpy(_rand, entry->u.aka.rand, EAP_AKA_RAND_LEN);
1432 os_memcpy(autn, entry->u.aka.autn, EAP_AKA_AUTN_LEN);
1433 os_memcpy(ik, entry->u.aka.ik, EAP_AKA_IK_LEN);
1434 os_memcpy(ck, entry->u.aka.ck, EAP_AKA_CK_LEN);
1435 os_memcpy(res, entry->u.aka.res, EAP_AKA_RES_MAX_LEN);
1436 *res_len = entry->u.aka.res_len;
1437 eap_sim_db_free_pending(data, entry);
1459 entry = os_zalloc(sizeof(*entry));
1460 if (entry == NULL)
1463 entry->aka = 1;
1464 os_strlcpy(entry->imsi, imsi, sizeof(entry->imsi));
1465 entry->cb_session_ctx = cb_session_ctx;
1466 entry->state = PENDING;
1467 eap_sim_db_add_pending(data, entry);
1468 eap_sim_db_expire_pending(data, entry);
1469 wpa_printf(MSG_DEBUG, "EAP-SIM DB: Added query %p", entry);