![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I have been asked to modify our utility for changing users passwords (Using SYS$SETUAI) to include checking of password histories. I know that the SET PASSWORD command performs this checking but can find no system service which will enable me to do this. Does such a function exist The Answer is : There is no documented nor supported API for checking the password history in the specified OpenVMS release, though the sys$acm system service available in more recent OpenVMS releases provides a general user and password authentication interface. For details on sys$acm, see current OpenVMS programming materials. For older releases, the (undocumented) sequence looks like this: IF NOT .UAFBUF[UAF$V_DISPWDHIS] AND NOT .FLAGS[QUAL_GENERATE] AND NOT .FLAGS[QUAL_SYSTEM] AND NOT .FLAGS[EXT_AUTH] AND (.HASH[0] NEQ 0 OR .HASH[1] NEQ 0) THEN ... STATUS = EXE$LOOKUP_HASH (HASH, .USERNAME); HASH: address of quadword password hash USERNAME: address of username string descriptor You may well end up linking against the executive to use this call. (This call is not supported, and is subject to change without notice.) You will want to acquire the OpenVMS Source Listings Kit (see the FAQ for part numbers), and you will want to check the new features lists for future OpenVMS releases.
|