Validate Password Exit Program


  Required Parameter:


  QSYSINC Member Name: EVLDPWD1

  Exit Point Name: QIBM_QSY_VLD_PASSWRD

  Exit Point Format Name: VLDP0100, Start of changeVLDP0200End of change

The Validate Password exit program is called when a password is changed.

The exit program is called after the password composition rules have been checked.

The exit program examines the old and new password values for conformance with customer unique password composition rules. The exit program returns an indication whether the new password should be accepted or rejected. The exit point supports multiple exit programs. However, additional exit programs will not be called after receiving a indication that the new password should be rejected from one of the exit programs. (For information about adding an exit program to an exit point, see the Registration Facility part.)

Any escape message received from an exit program or encountered while trying to call an exit program, will be treated as an indication that the new password should be rejected.

The specified exit program must exist in the system auxiliary storage pool (ASP) or one of the basic user ASPs at the time it is added to the registration facility. If the program does not exist, the request to add the exit program will be rejected.

The exit program must exist in the system ASP or one of the basic user ASPs at the time the exit point attempts to locate the exit program. If the specified exit program does not exist in the system ASP or one of the basic user ASPs, the condition will be treated as an indication that the new password should be rejected.

Note: The QPWDVLDPGM system value must be set to the value *REGFAC. If the QPWDVLDPGM system value contains any other value, the validate password exit programs will not be called.


Authorities and Locks

User Profile Authority
*ALLOBJ and *SECADM to add or remove exit programs to the registration facility

Required Parameter

Validate password exit information
INPUT; CHAR(*)

Information needed by the exit program for notification of any profile changes. For details, see Format of Validate Password Exit Information.

Return indicator
OUTPUT; CHAR(1)

Indicates whether the new password should be accepted or rejected.

Note: Any value other than '0' indicates that the new password should be rejected.


Validate Password Exit Information

The following table shows the structure of the validate password exit information. For a description of the fields in this format, see Field Descriptions.



Field Descriptions

CCSID of new password. The CCSID of the new password field. For a list of valid CCSIDs, see the i5/OS globalization topic collection.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, this CCSID value will be 13488.End of change

CCSID of old password. The CCSID of the old password field. For a list of valid CCSIDs, see i5/OS globalization.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, this CCSID value will be 13488.End of change

Exit point format name. The format name for the Change User Profile exit program. The possible format name is:

Exit point name. The name of the exit point that calls the exit program.

Length of new password. The length, in bytes, of the new password field.

When called by the QSYCHGPW API, this is the length supplied to (or defaulted to) the QSYCHGPW API. It may include trailing blank or null characters which are removed by the system before changing the password.

When called by the CHGPWD command, this is the length of the actual password with any trailing blank or null characters removed.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, this is the length of the new password in CCSID 13488 with any trailing blank or null characters removed.End of change

Length of old password. The length, in bytes, of the old password field.

When called by the QSYCHGPW API, this is the length supplied to (or defaulted to) the QSYCHGPW API. It may include trailing blank or null characters which are removed by the system before changing the password.

When called by the CHGPWD command, this is the length of the actual password with any trailing blank or null characters removed.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, this length value will be 12. The old password value is not available so a value of *NOPWD in CCSID 13488 is used. This allows the format of the information passed to the QIBM_QSY_CHK_PASSWRD and QIBM_QSY_VLD_PASSWRD exit programs to be the same.End of change

New password. The new password value.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, this value is the new password in CCSID 13488 with any trailing blank or null characters removed.End of change

Offset to new password. The offset from the beginning of the validate password exit information to the new password field.

When called by the QSYCHGPW API, this is the length supplied to (or defaulted to) the QSYCHGPW API. It may include trailing blank or null characters which are removed by the system before changing the password.

Offset to old password. The offset from the beginning of the validate password exit information to the old password field.

Old password. The old password value.

Start of changeWhen called by the CRTUSRPRF command or the CHGUSRPRF command for format VLDP0200, the old password value is not available so a value of *NOPWD in CCSID 13488 is used. This allows the format of the information passed to the QIBM_QSY_CHK_PASSWRD and QIBM_QSY_VLD_PASSWRD exit programs to be the same.End of change

Password level. The password level in affect for the system. See the QPWDLVL system value for a description of the possible values.

User profile name. The name of the user profile whose password is being changed.



API introduced: V3R1

[ Back to top | Security APIs | APIs by category ]