Migrated all SIM/AKA code to libsimaka, use SIM and AKA backend managers registered by name
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libhydra \
|
||||
-I$(top_srcdir)/src/libcharon
|
||||
-I$(top_srcdir)/src/libcharon -I$(top_srcdir)/src/libsimaka
|
||||
|
||||
AM_CFLAGS = -rdynamic -DIPSEC_CONFDIR=\"${sysconfdir}\"
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ struct private_eap_simaka_sql_card_t {
|
||||
bool remove_used;
|
||||
};
|
||||
|
||||
METHOD(sim_card_t, get_triplet, bool,
|
||||
METHOD(simaka_card_t, get_triplet, bool,
|
||||
private_eap_simaka_sql_card_t *this, identification_t *id,
|
||||
char rand[SIM_RAND_LEN], char sres[SIM_SRES_LEN], char kc[SIM_KC_LEN])
|
||||
{
|
||||
@@ -90,7 +90,7 @@ METHOD(sim_card_t, get_triplet, bool,
|
||||
return found;
|
||||
}
|
||||
|
||||
METHOD(sim_card_t, get_quintuplet, status_t,
|
||||
METHOD(simaka_card_t, get_quintuplet, status_t,
|
||||
private_eap_simaka_sql_card_t *this, identification_t *id,
|
||||
char rand[AKA_RAND_LEN], char autn[AKA_AUTN_LEN], char ck[AKA_CK_LEN],
|
||||
char ik[AKA_IK_LEN], char res[AKA_RES_MAX], int *res_len)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#define EAP_SIMAKA_SQL_CARD_H_
|
||||
|
||||
#include <database/database.h>
|
||||
#include <sa/authenticators/eap/sim_manager.h>
|
||||
#include <simaka_manager.h>
|
||||
|
||||
typedef struct eap_simaka_sql_card_t eap_simaka_sql_card_t;
|
||||
|
||||
@@ -32,9 +32,9 @@ typedef struct eap_simaka_sql_card_t eap_simaka_sql_card_t;
|
||||
struct eap_simaka_sql_card_t {
|
||||
|
||||
/**
|
||||
* Implements sim_card_t interface
|
||||
* Implements simaka_card_t interface
|
||||
*/
|
||||
sim_card_t card;
|
||||
simaka_card_t card;
|
||||
|
||||
/**
|
||||
* Destroy a eap_simaka_sql_card_t.
|
||||
|
||||
@@ -56,8 +56,20 @@ METHOD(plugin_t, get_name, char*,
|
||||
METHOD(plugin_t, destroy, void,
|
||||
private_eap_simaka_sql_t *this)
|
||||
{
|
||||
charon->sim->remove_card(charon->sim, &this->card->card);
|
||||
charon->sim->remove_provider(charon->sim, &this->provider->provider);
|
||||
simaka_manager_t *mgr;
|
||||
|
||||
mgr = lib->get(lib, "sim-manager");
|
||||
if (mgr)
|
||||
{
|
||||
mgr->remove_card(mgr, &this->card->card);
|
||||
mgr->remove_provider(mgr, &this->provider->provider);
|
||||
}
|
||||
mgr = lib->get(lib, "aka-manager");
|
||||
if (mgr)
|
||||
{
|
||||
mgr->remove_card(mgr, &this->card->card);
|
||||
mgr->remove_provider(mgr, &this->provider->provider);
|
||||
}
|
||||
this->card->destroy(this->card);
|
||||
this->provider->destroy(this->provider);
|
||||
this->db->destroy(this->db);
|
||||
@@ -70,6 +82,7 @@ METHOD(plugin_t, destroy, void,
|
||||
plugin_t *eap_simaka_sql_plugin_create()
|
||||
{
|
||||
private_eap_simaka_sql_t *this;
|
||||
simaka_manager_t *mgr;
|
||||
database_t *db;
|
||||
bool remove_used;
|
||||
char *uri;
|
||||
@@ -103,8 +116,17 @@ plugin_t *eap_simaka_sql_plugin_create()
|
||||
.card = eap_simaka_sql_card_create(db, remove_used),
|
||||
);
|
||||
|
||||
charon->sim->add_card(charon->sim, &this->card->card);
|
||||
charon->sim->add_provider(charon->sim, &this->provider->provider);
|
||||
|
||||
mgr = lib->get(lib, "sim-manager");
|
||||
if (mgr)
|
||||
{
|
||||
mgr->add_card(mgr, &this->card->card);
|
||||
mgr->add_provider(mgr, &this->provider->provider);
|
||||
}
|
||||
mgr = lib->get(lib, "aka-manager");
|
||||
if (mgr)
|
||||
{
|
||||
mgr->add_card(mgr, &this->card->card);
|
||||
mgr->add_provider(mgr, &this->provider->provider);
|
||||
}
|
||||
return &this->public.plugin;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ struct private_eap_simaka_sql_provider_t {
|
||||
bool remove_used;
|
||||
};
|
||||
|
||||
METHOD(sim_provider_t, get_triplet, bool,
|
||||
METHOD(simaka_provider_t, get_triplet, bool,
|
||||
private_eap_simaka_sql_provider_t *this, identification_t *id,
|
||||
char rand[SIM_RAND_LEN], char sres[SIM_SRES_LEN], char kc[SIM_KC_LEN])
|
||||
{
|
||||
@@ -90,7 +90,7 @@ METHOD(sim_provider_t, get_triplet, bool,
|
||||
return found;
|
||||
}
|
||||
|
||||
METHOD(sim_provider_t, get_quintuplet, bool,
|
||||
METHOD(simaka_provider_t, get_quintuplet, bool,
|
||||
private_eap_simaka_sql_provider_t *this, identification_t *id,
|
||||
char rand[AKA_RAND_LEN], char xres[AKA_RES_MAX], int *xres_len,
|
||||
char ck[AKA_CK_LEN], char ik[AKA_IK_LEN], char autn[AKA_AUTN_LEN])
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#define EAP_SIMAKA_SQL_PROVIDER_H_
|
||||
|
||||
#include <database/database.h>
|
||||
#include <sa/authenticators/eap/sim_manager.h>
|
||||
#include <simaka_provider.h>
|
||||
|
||||
typedef struct eap_simaka_sql_provider_t eap_simaka_sql_provider_t;
|
||||
|
||||
@@ -32,9 +32,9 @@ typedef struct eap_simaka_sql_provider_t eap_simaka_sql_provider_t;
|
||||
struct eap_simaka_sql_provider_t {
|
||||
|
||||
/**
|
||||
* Implements sim_provider_t interface
|
||||
* Implements simaka_provider_t interface
|
||||
*/
|
||||
sim_provider_t provider;
|
||||
simaka_provider_t provider;
|
||||
|
||||
/**
|
||||
* Destroy a eap_simaka_sql_provider_t.
|
||||
|
||||
Reference in New Issue
Block a user