510 |
|
|
511 |
VALUE_PAIR *namepair; |
VALUE_PAIR *namepair; |
512 |
VALUE_PAIR *check_pair; |
VALUE_PAIR *check_pair; |
|
VALUE_PAIR *timeout_pair; |
|
513 |
char userpass[AUTH_STRING_LEN+1]; |
char userpass[AUTH_STRING_LEN+1]; |
514 |
|
|
515 |
char *user_msg; |
char *user_msg; |
534 |
static void sfn_ack(AUTH_MACH*); |
static void sfn_ack(AUTH_MACH*); |
535 |
static void sfn_exec_nowait(AUTH_MACH*); |
static void sfn_exec_nowait(AUTH_MACH*); |
536 |
static void sfn_reject(AUTH_MACH*); |
static void sfn_reject(AUTH_MACH*); |
|
static VALUE_PAIR *timeout_pair(AUTH_MACH *m); |
|
537 |
static int check_expiration(AUTH_MACH *m); |
static int check_expiration(AUTH_MACH *m); |
538 |
|
|
539 |
|
|
702 |
m.user_check = NULL; |
m.user_check = NULL; |
703 |
m.user_reply = NULL; |
m.user_reply = NULL; |
704 |
m.check_pair = NULL; |
m.check_pair = NULL; |
|
m.timeout_pair = NULL; |
|
705 |
m.user_msg = NULL; |
m.user_msg = NULL; |
706 |
obstack_init(&m.msg_stack); |
obstack_init(&m.msg_stack); |
707 |
|
|
1024 |
newstate(as_reject); |
newstate(as_reject); |
1025 |
} |
} |
1026 |
|
|
1027 |
VALUE_PAIR * |
static UINT4 |
1028 |
timeout_pair(AUTH_MACH *m) |
set_session_timeout(AUTH_MACH *m, UINT4 val) |
1029 |
{ |
{ |
1030 |
if (!m->timeout_pair && |
VALUE_PAIR *p; |
1031 |
!(m->timeout_pair = avl_find(m->user_reply, DA_SESSION_TIMEOUT))) { |
|
1032 |
m->timeout_pair = avp_create_integer(DA_SESSION_TIMEOUT, 0); |
if (!(p = avl_find(m->user_reply, DA_SESSION_TIMEOUT))) { |
1033 |
avl_add_pair(&m->user_reply, m->timeout_pair); |
p = avp_create_integer(DA_SESSION_TIMEOUT, val); |
1034 |
} |
avl_add_pair(&m->user_reply, p); |
1035 |
return m->timeout_pair; |
} else if (p->avp_lvalue > val) |
1036 |
|
p->avp_lvalue = val; |
1037 |
|
return p->avp_lvalue; |
1038 |
} |
} |
1039 |
|
|
1040 |
void |
void |
1060 |
/* |
/* |
1061 |
* User is allowed, but set Session-Timeout. |
* User is allowed, but set Session-Timeout. |
1062 |
*/ |
*/ |
1063 |
timeout_pair(m)->avp_lvalue = rest; |
UINT4 to = set_session_timeout(m, rest); |
1064 |
debug(2, ("user %s, span %s, timeout %d", |
debug(2, ("user %s, span %s, timeout %d, real timeout %d", |
1065 |
m->namepair->avp_strvalue, |
m->namepair->avp_strvalue, |
1066 |
m->check_pair->avp_strvalue, |
m->check_pair->avp_strvalue, |
1067 |
rest)); |
rest, |
1068 |
|
to)); |
1069 |
} |
} |
1070 |
} |
} |
1071 |
|
|
1226 |
is_log_mode(m, RLOG_AUTH_PASS) ? m->userpass : NULL, |
is_log_mode(m, RLOG_AUTH_PASS) ? m->userpass : NULL, |
1227 |
NULL, NULL); |
NULL, NULL); |
1228 |
} |
} |
|
|
|
|
if (timeout_pair(m)) { |
|
|
debug(5, |
|
|
("timeout for [%s] is set to %ld sec", |
|
|
m->namepair->avp_strvalue, timeout_pair(m)->avp_lvalue)); |
|
|
} |
|
1229 |
} |
} |
1230 |
|
|
1231 |
void |
void |