diff --git a/build/misc.tcl b/build/misc.tcl index 2b4bf634..db76df01 100644 --- a/build/misc.tcl +++ b/build/misc.tcl @@ -588,6 +588,10 @@ respond "SUBJECT:" "COOKIE\r" respond "NAME:" "BEAR\r" expect ":KILL" +# LOGOUT TIMES cleanup program. +respond "*" ":midas sys3;ts lotcln_sysen1; lotcln\r" +expect ":KILL" + # itsdev respond "*" ":link syseng;chsdef 999999,system;chsdef >\r" respond "*" ":midas device;chaos itsdev_bawden;itsdev\r" diff --git a/doc/programs.md b/doc/programs.md index 2a8fb968..13b10bc4 100644 --- a/doc/programs.md +++ b/doc/programs.md @@ -149,6 +149,7 @@ - LOGO, BBN Logo. - LOOKUP, looks up user info in INQUIR database. - LOSS (device). +- LOTCLN - LOGOUT TIMES cleanup program. - LSPEED, set TTY line parameters. - LSRPRT, print information about user groups. - LUSER, request help from registered list of logged-in users. diff --git a/src/sysen1/lotcln.4 b/src/sysen1/lotcln.4 new file mode 100755 index 00000000..01502369 --- /dev/null +++ b/src/sysen1/lotcln.4 @@ -0,0 +1,90 @@ + TITLE LOTCLN - LOGOUT TIMES CLEANUP PROGRAM + +;Each entry is a 5-word block in the following ascii format: +; ASCII\UNAME MM/DD/YY HH:MM:SS\ + +OLD: 90. ;How old an entry has to be to be cleaned up + ;more or less + +A=1 +B=2 +C=3 +D=4 +E=5 +T=6 +TT=7 +P=17 + +INCH=10 +OUCH=11 + +PDL: -20,,. + BLOCK 21 + +BUF: BLOCK 5 + +SB2D: LDB TT,[060600,,T] + SUBI TT,'0 + IMULI TT,10. + ANDI T,77 + SUBI T,'0 + ADD T,TT + POPJ P, + +AS2D: LDB TT,[070700,,T] + SUBI TT,"0 + IMULI TT,10. + ANDI T,177 + SUBI T,"0 + ADD T,TT + POPJ P, + +GO: MOVE P,PDL + .RDATE A, ;SIXBIT YYMMDD + MOVE B,[441400,,A] + ILDB T,B + PUSHJ P,SB2D + IMULI T,12.*31. + MOVEM T,NOW' + ILDB T,B + PUSHJ P,SB2D + IMULI T,31. + ADDM T,NOW + ILDB T,B + PUSHJ P,SB2D + ADDB T,NOW + SUB T,OLD + MOVEM T,CUTOFF' + .OPEN INCH,[.BII,,'DSK ? 'LOGOUT ? SIXBIT/TIMES/] + .LOSE %LSFIL + .OPEN OUCH,[.BIO,,'DSK ? 'LOGOUT ? 'NTIMES] + .LOSE %LSFIL +LP: MOVE T,[-5,,BUF] + .IOT INCH,T + JUMPL T,EOF + LDB T,[101600,,BUF+2] + PUSHJ P,AS2D + IMULI T,12.*31. + MOVEM T,THEN' + LDB T,[350700,,BUF+2] + LDB TT,[010700,,BUF+1] + DPB TT,[070700,,T] + PUSHJ P,AS2D + ADDM T,THEN + LDB T,[171600,,BUF+1] + PUSHJ P,AS2D + IMULI T,31. + ADDB T,THEN + CAMGE T,CUTOFF + JRST LP + JRST OK +; . . . . . . +; ASCII\UNAME MM/DD/YY HH:MM:SS\ + +OK: MOVE T,[-5,,BUF] + .IOT OUCH,T + JRST LP + +EOF: .LOGOUT 1, + + END GO