Index Index for
Section 3
Index Alphabetical
listing for S
Bottom of page Bottom of
page

siad_update_pass(3)

NAME

siad_update_pass - store new passphrase routine for SIA (Security Integration Architecture)

SYNOPSIS

#include <sia.h> #include <siad.h> int siad_update_pass sia_collect_func_t *collect, SIAENTITY *entity, int *mechind, const char newpass );

LIBRARY

Standard C library - libc.so and libc.a

PARAMETERS

collect This is a pointer to an SIA collection routine that provides the ability for the mechanism to prompt the user for additional information. If this pointer is NULL no collection is possible. If this parameter is not NULL and the colinput parameter entered during the sia_ses_init() call was zero then this collection routine cannot be used to prompt for input but can be used to display warnings or error messages. entity This is a pointer to the SIAENTITY structure that was allocated and setup by the previous sia_ses_init() call. It is used to access arguments which have either been collected or derived from the session processing. mechind The mechind parameter is the package index number for the mechanism. This index can be used to set the mechanism-specific data pointer array element in the SIAENTITY structure pointed to by entity. newpass Pointer to the character string which contains a new password.

DESCRIPTION

The siad_update_pass() routine stores the new password in the mechanism's user database. An entity must have been set up and the siad_chk_user() routine must have been able to handle the CHGENTITY flag during processing. This routine may have been called to "stuff" a password if the mechanism's siad_chk_user() routine was able to handle the CHGNEWVALUE flag. This routine is called from the sia_chg_password() and sia_update_pass() routines.

RETURN VALUES

The siad_update_pass() routine returns a bitmapped value which indicate the following status: SIADSUCCESS All bits set to 0. Indicates unconditional success, that is, successful storage of the newpass string. SIADFAIL Lowest bit set to 1. Indicates conditional failure, that is, failure to store the newpass string. If other security mechanism are in place, continue. SIADFAIL | SIADSTOP Second lowest bit set to 1. Indicates unconditional failure. Do not continue. Returned when incorrect usage of this routine is detected, meaning either the entity does not exist or was set up wrong. For each mechanism in the current list, a call is made to its siad_update_pass() entrypoint. Only return codes of SIADFAIL and SIADSUCCESS are meaningful here, indicating failure or success. Failures are noted by issuing a warning through the collect routine, and moving that mechanism to the list for re-try. Successes are noted by an informational message through the collect routine (code SIAINFO) for interactive calls. For non-interactive calls, the return from the update code is made at this point, with a code of SIASUCCESS if all participating mechanisms were updated, or SIAFAIL if only some were updated, otherwise with SIAFAIL|SIASTOP if no mechanism could be updated. This return is only after clearing the old passphrase storage in the entity structure. Auditing of the attempt, and of just which mechanisms were updated, occurs here. For interactive calls, the user is notified as to which mechanisms failed and which succeeded. The failures are noted through the collect routine as they occur. The list of successful mechanisms is noted through the collect routine as a summary at the end of processing. Retries are up to the user. The return code for an interactive call will be SIASUCCESS if any updates were made, and SIAFAIL if no updates were made. Auditing of the attempt, as well as of which mechanisms were updated, occurs before returning.

ERRORS

The errno values are those returned from the dynamic loader interface, from the (siad_*) routines, or from malloc. Possible errors include resource constraints (no memory) and various authentication failures.

FILES

/etc/passwd /etc/sia/matrix.conf

SEE ALSO

sia_chg_password(3), siad_chk_user(3), sia_update_pass(3), siad_test_newpass(3), matrix.conf(4) Security

Index Index for
Section 3
Index Alphabetical
listing for S
Top of page Top of
page