24 RCSID(
"$Id: 47383f30d2699cc813bf2e703b23ab196abeb036 $")
31 #include <freeradius-devel/rad_assert.h>
32 #include <freeradius-devel/md5.h>
75 RDEBUG2(
"Issuing MD5 Challenge");
119 RDEBUG2(
"Cleartext-Password is required for EAP-MD5 authentication");
VALUE_PAIR * config
VALUE_PAIR (s) used to set per request parameters for modules and the server core at runtime...
int eapmd5_verify(MD5_PACKET *packet, VALUE_PAIR *password, uint8_t *challenge)
uint32_t fr_rand(void)
Return a 32-bit random number.
eap_process_t process
Callback that should be used to process the next round.
static int mod_session_init(UNUSED void *instance, eap_session_t *eap_session)
eap_packet_t * request
Packet we will send to the peer.
void * opaque
Opaque data used by EAP methods.
MD5_PACKET * eapmd5_extract(eap_round_t *eap_round)
REQUEST * request
Request that contains the response we're processing.
rlm_eap_module_t rlm_eap_md5
Tracks the progress of a single session of any EAP method.
eap_round_t * this_round
The EAP response we're processing, and the EAP request we're building.
static int mod_process(UNUSED void *arg, eap_session_t *eap_session)
Stores an attribute, a value and various bits of other data.
char const * name
The name of the sub-module (without rlm_ prefix).
Interface to call EAP sub mdoules.
#define MD5_CHALLENGE_LEN
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.
int eapmd5_compose(eap_round_t *eap_round, MD5_PACKET *reply)