pmksa_cache_auth.h
Go to the documentation of this file.
00001 /*
00002  * hostapd - PMKSA cache for IEEE 802.11i RSN
00003  * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 2 as
00007  * published by the Free Software Foundation.
00008  *
00009  * Alternatively, this software may be distributed under the terms of BSD
00010  * license.
00011  *
00012  * See README and COPYING for more details.
00013  */
00014 
00015 #ifndef PMKSA_CACHE_H
00016 #define PMKSA_CACHE_H
00017 
00018 #include "radius/radius.h"
00019 
00023 struct rsn_pmksa_cache_entry {
00024         struct rsn_pmksa_cache_entry *next, *hnext;
00025         u8 pmkid[PMKID_LEN];
00026         u8 pmk[PMK_LEN];
00027         size_t pmk_len;
00028         os_time_t expiration;
00029         int akmp; /* WPA_KEY_MGMT_* */
00030         u8 spa[ETH_ALEN];
00031 
00032         u8 *identity;
00033         size_t identity_len;
00034         struct radius_class_data radius_class;
00035         u8 eap_type_authsrv;
00036         int vlan_id;
00037         int opportunistic;
00038 };
00039 
00040 struct rsn_pmksa_cache;
00041 
00042 struct rsn_pmksa_cache *
00043 pmksa_cache_auth_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
00044                                       void *ctx), void *ctx);
00045 void pmksa_cache_auth_deinit(struct rsn_pmksa_cache *pmksa);
00046 struct rsn_pmksa_cache_entry *
00047 pmksa_cache_auth_get(struct rsn_pmksa_cache *pmksa,
00048                      const u8 *spa, const u8 *pmkid);
00049 struct rsn_pmksa_cache_entry * pmksa_cache_get_okc(
00050         struct rsn_pmksa_cache *pmksa, const u8 *spa, const u8 *aa,
00051         const u8 *pmkid);
00052 struct rsn_pmksa_cache_entry *
00053 pmksa_cache_auth_add(struct rsn_pmksa_cache *pmksa,
00054                      const u8 *pmk, size_t pmk_len,
00055                      const u8 *aa, const u8 *spa, int session_timeout,
00056                      struct eapol_state_machine *eapol, int akmp);
00057 struct rsn_pmksa_cache_entry *
00058 pmksa_cache_add_okc(struct rsn_pmksa_cache *pmksa,
00059                     const struct rsn_pmksa_cache_entry *old_entry,
00060                     const u8 *aa, const u8 *pmkid);
00061 void pmksa_cache_to_eapol_data(struct rsn_pmksa_cache_entry *entry,
00062                                struct eapol_state_machine *eapol);
00063 
00064 #endif /* PMKSA_CACHE_H */


wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Thu Apr 24 2014 15:34:35