678 |
auth_format_msg(m, MSG_PASSWORD_EXPIRED); |
auth_format_msg(m, MSG_PASSWORD_EXPIRED); |
679 |
} else if (rc > 0) { |
} else if (rc > 0) { |
680 |
VALUE_PAIR *pair; |
VALUE_PAIR *pair; |
681 |
pair = avp_create(DA_PASSWORD_EXPIRE_DAYS, 0, NULL, |
pair = avp_create_integer(DA_PASSWORD_EXPIRE_DAYS, |
682 |
rc/86400); |
rc/86400); |
683 |
avl_add_pair(&m->user_reply, pair); |
avl_add_pair(&m->user_reply, pair); |
684 |
auth_format_msg(m, MSG_PASSWORD_EXPIRE_WARNING); |
auth_format_msg(m, MSG_PASSWORD_EXPIRE_WARNING); |
685 |
} |
} |
771 |
|
|
772 |
switch (radreq->server_code) { |
switch (radreq->server_code) { |
773 |
case RT_AUTHENTICATION_REJECT: |
case RT_AUTHENTICATION_REJECT: |
774 |
m->user_check = avp_create(DA_AUTH_TYPE, 0, |
m->user_check = avp_create_integer(DA_AUTH_TYPE, |
775 |
NULL, DV_AUTH_TYPE_REJECT); |
DV_AUTH_TYPE_REJECT); |
776 |
break; |
break; |
777 |
|
|
778 |
case RT_AUTHENTICATION_ACK: |
case RT_AUTHENTICATION_ACK: |
779 |
m->user_check = avp_create(DA_AUTH_TYPE, 0, |
m->user_check = avp_create_integer(DA_AUTH_TYPE, |
780 |
NULL, DV_AUTH_TYPE_ACCEPT); |
DV_AUTH_TYPE_ACCEPT); |
781 |
break; |
break; |
782 |
|
|
783 |
case 0: |
case 0: |
800 |
if (radreq->server_code == 0 |
if (radreq->server_code == 0 |
801 |
&& (pair_ptr = avl_find(m->req->request, DA_STATE)) != NULL |
&& (pair_ptr = avl_find(m->req->request, DA_STATE)) != NULL |
802 |
&& strncmp(pair_ptr->avp_strvalue, "MENU=", 5) == 0) { |
&& strncmp(pair_ptr->avp_strvalue, "MENU=", 5) == 0) { |
803 |
process_menu(m->req, m->activefd); |
menu_reply(m->req, m->activefd); |
804 |
newstate(as_stop); |
newstate(as_stop); |
805 |
return; |
return; |
806 |
} |
} |
807 |
#endif |
#endif |
808 |
|
|
1004 |
rc = rad_check_multi(name, m->req->request, |
rc = rad_check_multi(name, m->req->request, |
1005 |
m->check_pair->avp_lvalue, &count); |
m->check_pair->avp_lvalue, &count); |
1006 |
avl_add_pair(&m->user_reply, |
avl_add_pair(&m->user_reply, |
1007 |
avp_create(DA_SIMULTANEOUS_USE, 0, NULL, count)); |
avp_create_integer(DA_SIMULTANEOUS_USE, count)); |
1008 |
if (!rc) |
if (!rc) |
1009 |
return; |
return; |
1010 |
|
|
1026 |
{ |
{ |
1027 |
if (!m->timeout_pair && |
if (!m->timeout_pair && |
1028 |
!(m->timeout_pair = avl_find(m->user_reply, DA_SESSION_TIMEOUT))) { |
!(m->timeout_pair = avl_find(m->user_reply, DA_SESSION_TIMEOUT))) { |
1029 |
m->timeout_pair = avp_create(DA_SESSION_TIMEOUT, |
m->timeout_pair = avp_create_integer(DA_SESSION_TIMEOUT, 0); |
|
0, NULL, 0); |
|
1030 |
avl_add_pair(&m->user_reply, m->timeout_pair); |
avl_add_pair(&m->user_reply, m->timeout_pair); |
1031 |
} |
} |
1032 |
return m->timeout_pair; |
return m->timeout_pair; |
1189 |
char *msg; |
char *msg; |
1190 |
char state_value[MAX_STATE_VALUE]; |
char state_value[MAX_STATE_VALUE]; |
1191 |
|
|
1192 |
msg = get_menu(m->check_pair->avp_strvalue); |
msg = menu_read_text(m->check_pair->avp_strvalue); |
1193 |
snprintf(state_value, sizeof(state_value), |
snprintf(state_value, sizeof(state_value), |
1194 |
"MENU=%s", m->check_pair->avp_strvalue); |
"MENU=%s", m->check_pair->avp_strvalue); |
1195 |
radius_send_challenge(m->req, msg, state_value, m->activefd); |
radius_send_challenge(m->req, msg, state_value, m->activefd); |
1196 |
|
efree(msg); |
1197 |
|
|
1198 |
debug(1, |
debug(1, |
1199 |
("sending challenge (menu %s) to %s", |
("sending challenge (menu %s) to %s", |
1200 |
m->check_pair->avp_strvalue, m->namepair->avp_strvalue)); |
m->check_pair->avp_strvalue, m->namepair->avp_strvalue)); |