int eap_server_ikev2_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_IKEV2, "IKEV2"); if (eap == NULL) return -1; eap->init = eap_ikev2_init; eap->reset = eap_ikev2_reset; eap->buildReq = eap_ikev2_buildReq; eap->check = eap_ikev2_check; eap->process = eap_ikev2_process; eap->isDone = eap_ikev2_isDone; eap->getKey = eap_ikev2_getKey; eap->isSuccess = eap_ikev2_isSuccess; eap->get_emsk = eap_ikev2_get_emsk; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_wsc_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_WFA, EAP_VENDOR_TYPE_WSC, "WSC"); if (eap == NULL) return -1; eap->init = eap_wsc_init; eap->reset = eap_wsc_reset; eap->buildReq = eap_wsc_buildReq; eap->check = eap_wsc_check; eap->process = eap_wsc_process; eap->isDone = eap_wsc_isDone; eap->isSuccess = eap_wsc_isSuccess; eap->getTimeout = eap_wsc_getTimeout; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_aka_register(struct eap_method **eap_methods) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_AKA, "AKA"); if (eap == NULL) return -1; eap->init = eap_aka_init; eap->reset = eap_aka_reset; eap->buildReq = eap_aka_buildReq; eap->check = eap_aka_check; eap->process = eap_aka_process; eap->isDone = eap_aka_isDone; eap->getKey = eap_aka_getKey; eap->isSuccess = eap_aka_isSuccess; eap->get_emsk = eap_aka_get_emsk; ret = eap_server_method_register(eap_methods,eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_pwd_register(void) { struct eap_method *eap; int ret; struct timeval tp; struct timezone tz; u32 sr; sr = 0xdeaddada; (void) gettimeofday(&tp, &tz); sr ^= (tp.tv_sec ^ tp.tv_usec); srandom(sr); eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_PWD, "PWD"); if (eap == NULL) return -1; eap->init = eap_pwd_init; eap->reset = eap_pwd_reset; eap->buildReq = eap_pwd_build_req; eap->check = eap_pwd_check; eap->process = eap_pwd_process; eap->isDone = eap_pwd_is_done; eap->getKey = eap_pwd_getkey; eap->get_emsk = eap_pwd_get_emsk; eap->isSuccess = eap_pwd_is_success; eap->getSessionId = eap_pwd_get_session_id; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_peap_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_PEAP, "PEAP"); if (eap == NULL) return -1; eap->init = eap_peap_init; eap->reset = eap_peap_reset; eap->buildReq = eap_peap_buildReq; eap->check = eap_peap_check; eap->process = eap_peap_process; eap->isDone = eap_peap_isDone; eap->getKey = eap_peap_getKey; eap->isSuccess = eap_peap_isSuccess; eap->getSessionId = eap_peap_get_session_id; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_identity_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_IDENTITY, "Identity"); if (eap == NULL) return -1; eap->init = eap_identity_init; eap->initPickUp = eap_identity_initPickUp; eap->reset = eap_identity_reset; eap->buildReq = eap_identity_buildReq; eap->check = eap_identity_check; eap->process = eap_identity_process; eap->isDone = eap_identity_isDone; eap->isSuccess = eap_identity_isSuccess; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
int eap_server_vendor_test_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_ID, EAP_VENDOR_TYPE, "VENDOR-TEST"); if (eap == NULL) return -1; eap->init = eap_vendor_test_init; eap->reset = eap_vendor_test_reset; eap->buildReq = eap_vendor_test_buildReq; eap->check = eap_vendor_test_check; eap->process = eap_vendor_test_process; eap->isDone = eap_vendor_test_isDone; eap->getKey = eap_vendor_test_getKey; eap->isSuccess = eap_vendor_test_isSuccess; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }
/** * eap_server_unregister_methods - Unregister EAP server methods * * This function is called at program termination to unregister all EAP server * methods. */ void eap_server_unregister_methods(void) { struct eap_method *m; while (eap_methods) { m = eap_methods; eap_methods = eap_methods->next; if (m->free) m->free(m); else eap_server_method_free(m); } }
int eap_server_tlv_register(void) { struct eap_method *eap; int ret; eap = eap_server_method_alloc(EAP_SERVER_METHOD_INTERFACE_VERSION, EAP_VENDOR_IETF, EAP_TYPE_TLV, "TLV"); if (eap == NULL) return -1; eap->init = eap_tlv_init; eap->reset = eap_tlv_reset; eap->buildReq = eap_tlv_buildReq; eap->check = eap_tlv_check; eap->process = eap_tlv_process; eap->isDone = eap_tlv_isDone; eap->isSuccess = eap_tlv_isSuccess; ret = eap_server_method_register(eap); if (ret) eap_server_method_free(eap); return ret; }