In V11.6 and later, FairCom Server supports setting an expiration date on a user account password. When a user account's password has expired, attempting to log on to the user account fails with error 1116 (PWDEXP_ERR). This feature is available in the ctadmn and sa_admin utilities and in the SECURITY() API function with mode of SEC_CHANGE_USER_XINFO (change user extended information).
When calling SECURITY() with mode of SEC_CHANGE_USER_XINFO, set the passvaliddays field of the FC_UVAL structure to the password validity period in days. A value of zero sets no password expiration. The complete FC_UVAL structure is now:
FC_UVAL Structure
typedef struct {
TEXT userid[32];
ULONG begstamp; /* beginning date for valid user logon */
ULONG endstamp; /* last valid date for user logon */
LONG lgonover; /* limit on consecutive logon failures */
LONG reserved;
ULONG rsmstamp; /* temporary logon block */
LONG lgonfail; /* current number of failed login attempts*/
ULONG lgonany; /* last logon attempt date */
ULONG lgonok; /* last successful login date */
ULONG lgonbad; /* last failed login date */
LONG lgonoknum; /* Total number of successful logins(ever)*/
LONG lgonbadnum; /* Total number of failed logins(ever) */
ULONG disstamp; /* when logon was disabled */
LONG lgonmust; /* user must login within this period */
ULONG lastpasschg; /* time of last change to password */
ULONG passvaliddays; /* number of days that password is valid */
TEXT resrv[92];
} FC_UVAL;