Lines Matching defs:pmksa

28 	struct rsn_pmksa_cache_entry *pmksa;
36 static void pmksa_cache_set_expiration(struct rsn_pmksa_cache *pmksa);
51 void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,
57 pmksa->pmksa_count--;
58 pmksa->free_cb(entry, pmksa->ctx);
62 pos = pmksa->pmkid[hash];
69 pmksa->pmkid[hash] = entry->hnext;
77 pos = pmksa->pmksa;
84 pmksa->pmksa = entry->next;
97 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
99 void pmksa_cache_auth_flush(struct rsn_pmksa_cache *pmksa)
101 while (pmksa->pmksa) {
103 MACSTR, MAC2STR(pmksa->pmksa->spa));
104 pmksa_cache_free_entry(pmksa, pmksa->pmksa);
111 struct rsn_pmksa_cache *pmksa = eloop_ctx;
115 while (pmksa->pmksa && pmksa->pmksa->expiration <= now.sec) {
117 MACSTR, MAC2STR(pmksa->pmksa->spa));
118 pmksa_cache_free_entry(pmksa, pmksa->pmksa);
121 pmksa_cache_set_expiration(pmksa);
125 static void pmksa_cache_set_expiration(struct rsn_pmksa_cache *pmksa)
130 eloop_cancel_timeout(pmksa_cache_expire, pmksa, NULL);
131 if (pmksa->pmksa == NULL)
134 sec = pmksa->pmksa->expiration - now.sec;
137 eloop_register_timeout(sec + 1, 0, pmksa_cache_expire, pmksa, NULL);
222 static void pmksa_cache_link_entry(struct rsn_pmksa_cache *pmksa,
229 pos = pmksa->pmksa;
238 entry->next = pmksa->pmksa;
239 pmksa->pmksa = entry;
246 entry->hnext = pmksa->pmkid[hash];
247 pmksa->pmkid[hash] = entry;
249 pmksa->pmksa_count++;
251 pmksa_cache_set_expiration(pmksa);
260 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
279 pmksa_cache_auth_add(struct rsn_pmksa_cache *pmksa,
291 if (pmksa_cache_auth_add_entry(pmksa, entry) < 0)
358 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
365 int pmksa_cache_auth_add_entry(struct rsn_pmksa_cache *pmksa,
375 pos = pmksa_cache_auth_get(pmksa, entry->spa, NULL);
377 pmksa_cache_free_entry(pmksa, pos);
379 if (pmksa->pmksa_count >= pmksa_cache_max_entries && pmksa->pmksa) {
383 MAC2STR(pmksa->pmksa->spa));
384 pmksa_cache_free_entry(pmksa, pmksa->pmksa);
387 pmksa_cache_link_entry(pmksa, entry);
394 pmksa_cache_add_okc(struct rsn_pmksa_cache *pmksa,
433 pmksa_cache_link_entry(pmksa, entry);
441 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
443 void pmksa_cache_auth_deinit(struct rsn_pmksa_cache *pmksa)
448 if (pmksa == NULL)
451 entry = pmksa->pmksa;
457 eloop_cancel_timeout(pmksa_cache_expire, pmksa, NULL);
458 pmksa->pmksa_count = 0;
459 pmksa->pmksa = NULL;
461 pmksa->pmkid[i] = NULL;
462 os_free(pmksa);
468 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
474 pmksa_cache_auth_get(struct rsn_pmksa_cache *pmksa,
480 for (entry = pmksa->pmkid[PMKID_HASH(pmkid)]; entry;
488 for (entry = pmksa->pmksa; entry; entry = entry->next) {
501 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
510 struct rsn_pmksa_cache *pmksa, const u8 *aa, const u8 *spa,
516 for (entry = pmksa->pmksa; entry; entry = entry->next) {
538 struct rsn_pmksa_cache *pmksa;
540 pmksa = os_zalloc(sizeof(*pmksa));
541 if (pmksa) {
542 pmksa->free_cb = free_cb;
543 pmksa->ctx = ctx;
546 return pmksa;
595 int pmksa_cache_auth_radius_das_disconnect(struct rsn_pmksa_cache *pmksa,
604 entry = pmksa->pmksa;
610 pmksa_cache_free_entry(pmksa, prev);
622 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
630 int pmksa_cache_auth_list(struct rsn_pmksa_cache *pmksa, char *buf, size_t len)
644 entry = pmksa->pmksa;
670 * @pmksa: Pointer to PMKSA cache data from pmksa_cache_auth_init()
680 int pmksa_cache_auth_list_mesh(struct rsn_pmksa_cache *pmksa, const u8 *addr,
697 for (entry = pmksa->pmksa; entry; entry = entry->next) {