Safeguard Reference Manual (G06.24+, H06.03+ )

Event-Exit-Process Commands
Safeguard Reference Manual520618-013
15-33
Event-Exit Design, Management, and Operation
the database by calling the USER_AUTHENTICATE_ procedure in Authenticate Only
mode at authentication time. Once a user is authenticated, the event-exit process can
either store the entered password or force a password change. Turn off the
AUTHENTICATE-FAIL-FREEZE and AUTHENTICATE-FAIL-TIMEOUT Safeguard
configuration attributes during this authentication. Because USER_AUTHENTICATE_
checks these attributes, they might interfere with updates during password
synchronization.
If the event-exit process collects a new password during a logon dialog, it can send the
new password in a message response to the Safeguard database when authentication
is complete. This allows the user databases to remain synchronized. If the password is
not propagated to the Safeguard database, the user cannot log on if the event-exit
process becomes disabled and authentication is performed by the Safeguard software.
You can force all password changes to be processed by the event-exit process. To do
this, set ENABLE-PASSWORD-EVENT to ON to force all password change attempts
through the password-quality exit. Then design the password-quality exit so that it
rejects all attempts. This approach forces users to change their passwords during
authentication. If the event-exit process handles authentication, it can capture all
password changes, assuming the Safeguard software is running.
Event-Exit Design, Management, and Operation
The design of an event-exit process must adhere to these general requirements:
The event-exit process must be multithreaded (able to handle multiple concurrent
requests).
The event-exit process can be a process pair to ensure its continuous availability to
handle authorization requests. If it is not a process pair, the event-exit process is
unavailable to handle requests during its initialization interval after a restart.
Any user file maintained by the event-exit process must support 32-byte user alias
names and their passwords.
To avoid the possibility of deadlocks, the event-exit process must not perform
waited operations after initialization.
The Safeguard $ZSMP starts and manages the event-exit process. Each time $ZSMP
starts the event-exit process, it first attempts to kill any process with the same process
name not started by the $ZSMP. An EMS message notes this action. If the $ZSMP
finds that the event-exit process was not started by the $ZSMP, it does not send
messages to the event-exit process until it successfully kills the process and restarts it.
Be careful to avoid name collisions.
When $ZSMP receives an ENABLED ON request, it attempts to start the event-exit
process. If this attempt fails because of invalid data in the Safeguard record, the start
attempt is terminated, and the ENABLED value is reset to OFF. An error message is
returned to the user to indicate the nature of the problem, such as an invalid program
file name.