eapsim_challenge = 11,
eapsim_notification= 12,
eapsim_reauth = 13,
- eapsim_max_subtype = 14
+ eapsim_client_error = 14,
+ eapsim_max_subtype = 15
};
enum eapsim_clientstates {
}
newvp = paircreate(ATTRIBUTE_EAP_SIM_SUBTYPE, PW_TYPE_INTEGER);
+ if (!newvp) return 0;
newvp->lvalue = attr[0];
newvp->length = 1;
pairadd(&(r->vps), newvp);
"challenge",
"notification",
"reauth",
+ "client-error",
NULL };
const char *sim_subtype2name(enum eapsim_subtype subtype,
}
subtype = vp->lvalue;
+ /*
+ * Client error supersedes anything else.
+ */
+ if (subtype == eapsim_client_error) {
+ return 0;
+ }
+
switch(ess->state) {
case eapsim_server_start:
switch(subtype) {
* is a coding error!
*/
DEBUG2(" illegal-unknown state reached in eap_sim_authenticate\n");
- abort();
+ rad_assert(0 == 1);
}
return 0;