.TITLE SETDATE Set the date a username was created .IDENT /1.0/ ;++ ; ; Title: ; SETDATE.MAR - Set the date a username was created ; ; Version: ; 1.0 ; ; Facility: ; UALR new user utility. ; ; Abstract: ; This utility set the last date login to the current date ; when a username is created. This allows the automatic ; deletion program to delete a username after a year of non use ; even if the username is never used. ; ; Environment: ; Must have access to user authorization file. ; ; Author: ; Michael Smith University of Arkansas at Little Rock 14-JAN-1988 ; ; Modified: ; ; ;-- ; PRIVS: SYSPRV,BYPASS .SBTTL Symbols, macros, data .PSECT SETDATE_DATA RD,WRT,NOEXE,PAGE,SHR,PIC .LIBRARY /SYS$LIBRARY:LIB.MLB/ $UAFDEF $SSDEF $RMSDEF UAF_FAB: $FAB FAC=,- SHR=,- FNM=,- ORG=IDX,- XAB=UAF_KEY0 UAF_RAB: $RAB FAB=UAF_FAB,- RAC=KEY,- KBF=USERNAME_STR,- KRF=0,- KSZ=32,- UBF=UAF_BUFFER,- USZ=1412,- ROP= UAF_KEY0: $XABKEY REF=0,- POS=4,- SIZ=32,- NXT=UAF_KEY1 UAF_KEY1: $XABKEY REF=1,- POS=36,- SIZ=4,- NXT=UAF_KEY2 UAF_KEY2: $XABKEY REF=2,- POS=36,- SIZ=8,- NXT=UAF_KEY3 UAF_KEY3: $XABKEY REF=3,- POS=44,- SIZ=8 UAF_BUFFER: .BLKB 1412 USERNAME_D: .WORD 32 .BYTE DSC$K_DTYPE_T .BYTE DSC$K_CLASS_S .ADDRESS USERNAME_STR USERNAME_STR: .BLKB 32 PROMPT_D: .WORD 10 .BYTE DSC$K_DTYPE_T .BYTE DSC$K_CLASS_S .ADDRESS PROMPT_STR PROMPT_STR: .ASCII /_Username:/ .SBTTL Code .PSECT SETDATE_CODE RD,NOWRT,PAGE,EXE,PIC,SHR .ENTRY SETDATE,^M PUSHAQ PROMPT_D ;Push prompt on PUSHAQ USERNAME_D ;Push the receiving string CALLS #2,G^LIB$GET_FOREIGN ;Read the command string $OPEN FAB=UAF_FAB ;Open SYSUAF file to change $CONNECT - RAB=UAF_RAB $GET RAB=UAF_RAB ;READ UAF record CMPL #RMS$_RNF,R0 ;Did we find it BEQL 90$ ;No. Get out ;Yes. Change dates ; MOVQ @#EXE$GQ_SYSTIME,UAF_BUFFER+UAF$Q_LASTLOGIN_I ;Move current date to last I login. MOVQ @#EXE$GQ_SYSTIME,UAF_BUFFER+UAF$Q_LASTLOGIN_N ;Move current date to last N login. $UPDATE RAB=UAF_RAB ;Change UAF record $CLOSE FAB=UAF_FAB ;Close SYSUAF file MOVL #SS$_NORMAL,R0 ;All went well JMP 99$ ;We're finished 90$: ADDL2 #2,R0 ;Make the error a fatal error 99$: RET ;Get out .END SETDATE