diff --git a/src/sbbs3/answer.cpp b/src/sbbs3/answer.cpp index 9049256e1e546bdb623bb0459d54e67297ffd2d4..9420a6548b6b0dd35ccdac6dd4fc45aecffb9c97 100644 --- a/src/sbbs3/answer.cpp +++ b/src/sbbs3/answer.cpp @@ -319,6 +319,16 @@ bool sbbs_t::answer() lprintf(LOG_DEBUG, "%04d SSH [%s] term: %s", client_socket, client.addr, terminal); } pthread_mutex_unlock(&ssh_mutex); + + if(REALSYSOP && (cfg.sys_misc&SM_SYSPASSLOGIN) && (cfg.sys_misc&SM_R_SYSOP)) { + rioctl(IOFI); /* flush input buffer */ + if(!chksyspass()) { + bputs(text[InvalidLogon]); + hangup(); + useron.number=0; + return(false); + } + } } #endif