eap
struct ether_addr *eap, eabuf;
eap = &eabuf;
eap = ether_aton(addr);
if (eap == NULL) {
bcopy(eap, ifr.ifr_addr.sa_data, ETHER_ADDR_LEN);
struct eap_message *eap;
if ((eap = ibuf_reserve(e, sizeof(*eap))) == NULL)
eap->eap_code = EAP_CODE_REQUEST;
eap->eap_id = eap_id + 1;
eap->eap_type = sa->sa_policy->pol_auth.auth_eap;
eap->eap_length = htobe16(sizeof(*eap) +
ms->msc_id = eap->eap_id;
sa->sa_eap.id_type = eap->eap_type;
print_map(eap->eap_type, eap_type_map));
struct iked_message *msg, struct eap_message *eap)
if (eap->eap_type != EAP_TYPE_MSCHAP_V2) {
print_map(eap->eap_type, eap_type_map));
if (betoh16(eap->eap_length) < (sizeof(*eap) + sizeof(*ms))) {
ms = (struct eap_mschap *)(eap + 1);
ptr = (uint8_t *)(eap + 1);
if (betoh16(eap->eap_length) < (sizeof(*eap) + sizeof(*msr))) {
len = betoh16(eap->eap_length) -
sizeof(*eap) - sizeof(*msr);
print_map(eap->eap_type, eap_type_map),
struct eap_message *eap = data;
if (len < sizeof(*eap))
ptr = (uint8_t *)(eap + 1);
len -= sizeof(*eap);
msg->msg_parent->msg_eap.eam_type = eap->eap_type;
switch (eap->eap_type) {
if (eap->eap_code == EAP_CODE_REQUEST)
if ((str = eap_validate_id_response(eap)) == NULL)
print_map(eap->eap_type, eap_type_map),
print_map(eap->eap_type, eap_type_map),
struct eap_message *eap;
if (eap->eap_code == EAP_CODE_REQUEST) {
print_map(eap->eap_type, eap_type_map),
if ((eap = ibuf_reserve(e, sizeof(*eap))) == NULL)
print_map(eap->eap_type, eap_type_map),
eap->eap_code = EAP_CODE_REQUEST;
eap->eap_id = 0;
print_map(eap->eap_type, eap_type_map),
eap->eap_length = htobe16(sizeof(*eap));
return (eap_mschap(env, sa, msg, eap));
print_map(eap->eap_type, eap_type_map));
eap->eap_type = EAP_TYPE_IDENTITY;
return (sizeof(*eap));
eap_validate_id_response(struct eap_message *eap)
uint8_t *ptr = (uint8_t *)eap;
len = betoh16(eap->eap_length) - sizeof(*eap);
ptr += sizeof(*eap);
struct eap_msg *eap = &msg->msg_eap;
switch (eap->eam_state) {
sa->sa_eapid = eap->eam_identity;
eap->eam_identity = NULL;
return (eap_challenge_request(env, sa, eap->eam_id));
if (eap->eam_user) {
name = eap->eam_user;
eap->eam_challenge, usr->usr_name, strlen(usr->usr_name),
if (memcmp(ntresponse, eap->eam_ntresponse,
eap->eam_challenge, usr->usr_name, strlen(usr->usr_name),
ret = eap_mschap_challenge(env, sa, eap->eam_id, eap->eam_msrid,
return (eap_mschap_success(env, sa, eap->eam_id));
struct eap_message *eap = NULL;
if (eap_len < sizeof(*eap)) {
if ((eap = ibuf_seek(msg->msg_data, offset, eap_len)) == NULL) {
print_map(eap->eap_code, eap_code_map),
eap->eap_id, betoh16(eap->eap_length),
print_map(eap->eap_type, eap_type_map));
if (eap_parse(env, sa, msg, eap, msg->msg_response) == -1)
if ((msg->msg_parent->msg_eapmsg = ibuf_new(eap, eap_len))
(uint8_t *)eap, len) == -1) {
struct eap_message *eap;
eap = ibuf_data(msg->msg_eapmsg);
len = betoh16(eap->eap_length);
if (eap->eap_code != EAP_CODE_RESPONSE) {
(unsigned)eap->eap_code);
if (eap->eap_type == EAP_TYPE_IDENTITY) {
dec_le_common_attach(struct am7990_softc *sc, u_char *eap)
lsc->sc_arpcom.ac_enaddr[i] = *eap;
eap += 4;
#define ETHERSPRINT printf("%-17s %s\n", ether_ntoa(eap), hp)
struct ether_addr ea, *eap;
if ((eap = ether_aton(argv[i])) == NULL) {
eap = &ea;
if (ether_hostton(hp, eap) != 0) {
if (ether_ntohost(hp, eap) != 0) {
(!psm_opt_is_enabled(lcp, eap) || psm_opt_is_rejected(lcp, eap))
psm_opt_set_rejected(_this, eap, 1);
LCP_OPT_ACCEPTED(eap);
else if (psm_opt_is_accepted(_this, eap))
if (psm_opt_is_rejected(_this, eap))
psm_opt_set_requested(_this, eap, 1);
LCP_OPT_ACCEPTED(eap);
psm_opt_set_rejected(_this, eap, 1);
if (psm_opt_is_requested(_this, eap))
psm_opt_set_accepted(_this, eap, 1);
LCP_OPT_REJECTED(eap);
eap_stop(&_this->eap);
eap_init(&_this->eap, _this);
eap_start(&_this->eap);
eap_input(&_this->eap, inp, lpkt - (inp - pkt));
uint8_t eap;
eap eap; /** eap */
void eap_init(eap *, npppd_ppp *);
void eap_stop(eap *);
void eap_start(eap *);
void eap_input(eap *, u_char *, int);
struct eap eap;
struct eap eap;
struct eap eap;
struct eap *eap;
eap = (struct eap *)buf;
if (msgsiz < offsetof(struct eap, value[1]) ||
ntohs(eap->length) > msgsiz) {
ntohs(eap->length));
(int)eap->code, (int)eap->value[0]);
if (eap->code != EAP_CODE_RESPONSE) {
q_id, (unsigned)eap->code);
if (eap->value[0] == EAP_TYPE_IDENTITY) {
namesiz = ntohs(eap->length) - offsetof(struct eap, value[1]);
buf2, sizeof(buf2)), namesiz, eap->value + 1);
chall->eap.code = EAP_CODE_REQUEST;
chall->eap.id = ++req->eap_id;
chall->eap.length = htons(msgsiz);
"proper state attribute", q_id, eap->value[0]);
"the state=%s", q_id, eap->value[0], hex_string(state,
switch (eap->value[0]) {
if (msgsiz < offsetof(struct eap, value[1])) {
msgsiz, ntohs(eap->length));
req = eap_recv_mschap(self, req, pkt, (struct eap_chap *)eap);
eap->value[0]);
eapsiz = ntohs(chap->eap.length);
sizeof(buf)), eapsiz, ntohs(resp->eap.length),
struct eap eapres;
if (chap->eap.code != EAP_CODE_RESPONSE) {
sizeof(buf)), chap->eap.code);
eapres.length = htons(sizeof(struct eap));
sizeof(struct eap));
} eap;
eap.chap.eap.code = EAP_CODE_REQUEST;
eap.chap.eap.id = ++req->eap_id;
eap.chap.eap.length = htons(eapsiz);
eap.chap.eap_type = EAP_TYPE_MSCHAPV2;
eap.chap.chap.id = resp[0];
eap.chap.chap.length = htons(
memcpy(eap.chap.chap.value, resp + 1, respsiz - 1);
eap.chap.chap.code = CHAP_SUCCESS;
eap.chap.chap.code = CHAP_FAILURE;
radius_put_raw_attr(respkt, RADIUS_TYPE_EAP_MESSAGE, &eap,
} __packed eap;
memset(&eap, 0, sizeof(eap)); /* just in case */
eap.code = EAP_CODE_REQUEST;
eap.id = ++req->eap_id;
eap.length = htons(sizeof(eap));
radius_put_raw_attr(resp, RADIUS_TYPE_EAP_MESSAGE, &eap,
ntohs(eap.length));
} __packed eap;
memset(&eap, 0, sizeof(eap)); /* just in case */
eap.code = 1; /* EAP Request */
eap.id = attr[1];
eap.id = 0;
eap.length = htons(sizeof(eap));
radius_put_raw_attr(resp, RADIUS_TYPE_EAP_MESSAGE, &eap,
ntohs(eap.length));