diff --git a/src/sbbs3/con_hi.cpp b/src/sbbs3/con_hi.cpp index 611ba5dc5454981d2d773ff4b348deb6cb5252a9..8774b12b42da2ec7b7d5dcb38d297c1e4dd765dd 100644 --- a/src/sbbs3/con_hi.cpp +++ b/src/sbbs3/con_hi.cpp @@ -1,6 +1,5 @@ -/* con_hi.cpp */ - /* Synchronet hi-level console routines */ +// vi: tabstop=4 /* $Id$ */ @@ -155,6 +154,8 @@ bool sbbs_t::chksyspass(const char* sys_pw) logline(LOG_NOTICE,"S!","Remote sysop access disabled"); return(false); } + if(time(NULL) - last_sysop_auth < 15*60) + return true; if(sys_pw != NULL) SAFECOPY(str, sys_pw); else { @@ -172,5 +173,6 @@ bool sbbs_t::chksyspass(const char* sys_pw) logline(LOG_NOTICE,"S!",str2); return(false); } + last_sysop_auth = time(NULL); return(true); } diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index d453d3bd54e3e2a2d1e8fd2a04edd84cd3993729..25eaa49bd5676c5cc0752cfbb972eabb972a412a 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -3162,6 +3162,7 @@ sbbs_t::sbbs_t(ushort node_num, union xp_sockaddr *addr, size_t addr_len, const scanposts_inside = false; scansubs_inside = false; timeleft = 60*10; /* just incase this is being used for calling gettimeleft() */ + last_sysop_auth = 0; uselect_total = 0; lbuflen = 0; keybufbot=keybuftop=0; /* initialize [unget]keybuf pointers */ diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index dbaf9f0cb59064fb7cedd040dd16791acd8b5fe7..df2c6d2b07ab9e2f47f30894692315a5954defec 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -463,6 +463,7 @@ public: ulong console; /* Defines current Console settings */ char wordwrap[81]; /* Word wrap buffer */ time_t now, /* Used to store current time in Unix format */ + last_sysop_auth,/* Time sysop was last authenticated */ answertime, /* Time call was answered */ logontime, /* Time user logged on */ starttime, /* Time stamp to use for time left calcs */