C PROGRAM TERM_LOCK C C *********************************************************************** C This program was written, so a user did not have to log off the C system every time they left their terminal. I had in mind priveleged C accounts at the time. The program does not require any priveleges to C run. There is a problem, where I cannot include the code to LGI$HPWD. C This is DEC's password hashing function, however it is supplied in C the VMS micro-fiche, but I did include the object file. Another little C program needed was UAI_DEF.MAR, this program when assembled, provides C the needed symbols for $GETUAI. To put TERM_LOCK altogether, execute C the following commands: C C FORT TERM_LOCK C MACRO UAI_DEF C LINK/NOTRACE TERM_LOCK,UAI_DEF,HPWD C C The program starts by disabling CONTROL_Y and CONTROL_T. We know why C CONTROL_Y is disabled, CONTROL_T is disabled so that a would be C troublemaker cannot find out who is running the program. Next, the image C gathers the terminal name and USERNAME that is using this image. If C the terminal is over the network and a person presses CONTROL_Y enough C the system asks if you are aborting the login, thus one could end up C back on someone else's account or prevent somebody from getting to their C process. The USERNAME is used to get the appropriate UAF record, C especially the correct PASSOWRD. I use $GETUAI, because a user with C no privelges can get only their record, and nobody elses'. Also, because C the program uses only the USERNAME running this particular image, a C user cannot get at another users' UAF record. After we get this C information I begin building pasteboards, virtual displays and keyboard. C I chose Screen Management, because it would run on any type terminal. C The SMG routines, also let me prompt for the USERNAME and PASSWORD, C and at the same time prevent echoing on the screen and converts the C data to uppercase. I next run what the user enters through the hashing C routine and compare the hashed quadwords for a correct password match. C If the quadwords match, they have entered a valid password and the program C exits, otherwise the terminal bell is rung and the user reprompted. C I display on the terminal screen, while this image is running, that C this is a "SECURE TERMINAL" in double high , double wide , bold text. C This message is easily changed. C C I know that the program does not take into account secondary passwords, C but, our site does not use them. C C If you find any problems or make any enhancements please let me know. C I can be reached at the following address and phone: C C Gary Sachs C Lawrence Institute of Technology C 21000 W 10 Mile Rd. C Southfield, Mi 48075 C Ph. 313-356-0200 xtn 3700 C C Written by: Gary Sachs July 10, 1986 C C **************************************************************************