/[radius]/radius/radiusd/auth.c
ViewVC logotype

Diff of /radius/radiusd/auth.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.80 by gray, Thu Jun 19 12:39:42 2003 UTC revision 1.81 by gray, Tue Jul 29 10:25:22 2003 UTC
# Line 510  typedef struct auth_mach { Line 510  typedef struct auth_mach {
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;
# Line 535  static void sfn_menu_challenge(AUTH_MACH Line 534  static void sfn_menu_challenge(AUTH_MACH
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    
# Line 704  rad_authenticate(RADIUS_REQ *radreq, int Line 702  rad_authenticate(RADIUS_REQ *radreq, int
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    
# Line 1027  sfn_simuse(AUTH_MACH *m) Line 1024  sfn_simuse(AUTH_MACH *m)
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
# Line 1061  sfn_time(AUTH_MACH *m) Line 1060  sfn_time(AUTH_MACH *m)
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    
# Line 1226  sfn_ack(AUTH_MACH *m) Line 1226  sfn_ack(AUTH_MACH *m)
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

Legend:
Removed from v.1.80  
changed lines
  Added in v.1.81

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26