From:	CSBVAX::MRGATE!@KL.SRI.Com,@eureka.clemson.edu:WARNOCK@prism.clemson.edu@SMTP 26-SEP-1987 07:24
To:	EVERHART
Subj:	RE: Problems with PASS

Received: from RELAY.CS.NET by KL.SRI.COM with TCP; Fri 25 Sep 87 19:43:35-PDT
Received: from eureka.clemson.edu by RELAY.CS.NET id aa19743;
          25 Sep 87 22:43 EDT
Date: Fri, 25 Sep 87 22:35 EST
From: Todd Warnock <WARNOCK@prism.clemson.edu>
Subject: RE: Problems with PASS
To: info-vax%kl.sri.COM@RELAY.CS.NET
X-VMS-To: INFO-VAX,WARNOCK     

LISA M. BROSSEAU <BROSSEAU%SECAD1@engvax.scg.hac.com> writes:

....
>Prob.#1  If the user has other flags set in the UAF besides pwdexpired
>PASS will not realize that the pwdexpired bit is set.  I set up the 
>program so that it uses a mask to check the bit so even if other flags are
>set the program will work. 

This was a problem with the original posting.  Shortly after the first
posting, I posted a patch for this problem (using a bit mask as Lisa suggests).

>Prob. #2  The com file that PASS invokes seems fine, but it doesn't prevent
>people from ctrl-ying out of the set password command.  I tried setting
>nocontrol=(y,c) but the user can still ctrl-y out of the command.  Below
>is a copy of the com file as I have set it up.  I would like to figure out
>how to disallow users from using control-y to escape the trap.  I noticed
>that $status comes back as %X10000001 when the password has been changed
>correctly and as %X00000001 when ctrl-y has been used.  $severity comes back
>as 1 no matter which of the above conditions exists.  Can anyone give me 
>some input on how to really disable control-y for this situation.???
>I have already tried the on control_y command and the set nocontrol=y.

....[example omitted]...

Here is the SETPASS.COM that I think was originally shipped.  By use of
the ON CONTROL_Y THEN GOTO SET_PASS, you can effectively trap CONTROL_Y,
forcing the user to complete the SET PASSWORD command.

$!*****
$!*****	SETPASS.COM	invoked by the INSTALLed image SYS$SYSTEM:PASS.EXE
$!*****
$ SET NOON
$ DEFINE/NOLOG SYS$INPUT TT
$ ON CONTROL_Y THEN GOTO SET_PASS
$SET_PASS:
$ SET NOON
$ ON ERROR THEN GOTO SET_PASS
$ WRITE SYS$OUTPUT -
 "You must change your password.  Now invoking SET PASSWORD for you...
$ WRITE SYS$OUTPUT "$SET PASSWORD"
$ SET PASSWORD
$ IF $STATUS THEN WRITE SYS$OUTPUT "Password change successful"
$ EXIT


Hope that clears things up - I'd be interested in these or any other problems
you are having with PASS.

Thanks -

Todd Warnock
VAX Systems
Clemson University
Clemson, South Carolina 29634-2803

ARPA:	Warnock@Prism.Clemson.EDU
BITnet:	Warnock@Clemson
