*** radiusd.c- Wed Jun 2 18:30:02 1999 --- radiusd.c Wed Jun 2 20:22:25 1999 *************** *** 5888,5894 **** --- 5888,5897 ---- struct passwd *spwd; #else struct spwd *spwd; + #if defined(CHECK_EXPIRE_DATE) /* by nagoya@cc.hit-u.ac.jp */ + long today; #endif + #endif #endif /* !NOSHADOW */ DEBUG_TRACE("unix_pass"); *************** *** 5908,5913 **** --- 5911,5929 ---- encrypted_pass = spwd->pw_passwd; #else encrypted_pass = spwd->sp_pwdp; + #if defined(CHECK_EXPIRE_DATE) /* by nagoya@cc.hit-u.ac.jp */ + /* stolen from pop_pass.c in qpopper2.53 */ + today = (long)time((time_t *)NULL)/24/60/60; + if ( + /* Check for expiration date */ + (spwd->sp_expire > 0 && today > spwd->sp_expire) + || + /* Check if password is valid */ + (spwd->sp_max > 0 && today > spwd->sp_lstchg+spwd->sp_max) + ) { + return PWD_EXPIRED; + } + #endif /* CHECK_EXPIRE_DATE */ #endif /* M_UNIX */ } #endif /* !NOSHADOW */