24 RCSID(
"$Id: ff429475ab83f4ccb07e5651343e5d98999434c1 $")
43 REQUEST *request = eap_session->request;
52 if (!eap_session->request->username) {
53 REDEBUG(
"User-Name is required for EAP-LEAP authentication");
64 eap_session->opaque = session = talloc(eap_session,
leap_session_t);
65 if (!eap_session->opaque) {
78 RDEBUG2(
"Successfully initiated");
96 if (!eap_session->
opaque) {
97 REDEBUG(
"Cannot authenticate without LEAP history");
120 REDEBUG(
"No Cleartext-Password or NT-Password configured for this user");
129 switch (session->
stage) {
173 RDEBUG(
"Internal sanity check failed on stage");
VALUE_PAIR * config
VALUE_PAIR (s) used to set per request parameters for modules and the server core at runtime...
RFC2865 - Access-Challenge.
VALUE_PAIR * username
Cached username VALUE_PAIR from request RADIUS_PACKET.
eap_packet_t * request
Packet we will send to the peer.
void * opaque
Opaque data used by EAP methods.
leap_packet_t * eap_leap_initiate(REQUEST *request, eap_round_t *eap_round, VALUE_PAIR *user_name)
REQUEST * request
Request that contains the response we're processing.
static int mod_session_init(void *instance, eap_session_t *eap_session)
unsigned char * challenge
Tracks the progress of a single session of any EAP method.
unsigned int code
Packet code (type).
eap_round_t * this_round
The EAP response we're processing, and the EAP request we're building.
Stores an attribute, a value and various bits of other data.
RADIUS_PACKET * reply
Outgoing response.
char const * name
The name of the sub-module (without rlm_ prefix).
int eap_leap_stage4(REQUEST *request, leap_packet_t *packet, VALUE_PAIR *password, leap_session_t *session)
Interface to call EAP sub mdoules.
int eap_leap_compose(REQUEST *request, eap_round_t *eap_round, leap_packet_t *reply)
uint8_t peer_challenge[8]
static int CC_HINT(nonnull)
VALUE_PAIR * fr_pair_find_by_num(VALUE_PAIR *head, unsigned int vendor, unsigned int attr, int8_t tag)
Find the pair with the matching attribute.
leap_packet_t * eap_leap_stage6(REQUEST *request, leap_packet_t *packet, VALUE_PAIR *user_name, VALUE_PAIR *password, leap_session_t *session)
eap_packet_t * response
Packet we received from the peer.
static int mod_process(UNUSED void *instance, eap_session_t *eap_session)
rlm_eap_module_t rlm_eap_leap
leap_packet_t * eap_leap_extract(REQUEST *request, eap_round_t *eap_round)