Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getpwent(3)

matrix.conf(4)

siad_getpwent(3)  —  Subroutines

NAME

siad_getpwent, siad_getpwuid, siad_getpwnam, siad_setpwent, siad_endpwent − password routines for SIA (Security Integration Architecture)

LIBRARY

Standard C library (libc.so and libc.a)

SYNOPSIS

#include <sia.h>
#include <siad.h>

int siad_getpwent(
struct passwd ∗result,
char ∗buffer,
int buflen,
FILE ∗∗context);

int siad_getpwuid(
uid_t   uid,
struct passwd ∗result,
char ∗buffer,
int buflen);

int siad_getpwnam(
char   ∗name,
struct passwd ∗result,
char ∗buffer,
int buflen);

int siad_setpwent(
FILE ∗∗context);

int siad_endpwent(
FILE ∗∗context);

PARAMETERS

resultThe result parameter points to the location of the result. 

bufferThe buffer parameter is a pointer to a buffer which holds the resultant struct passwd.  This parameter is read only. 

buflenThe buflen parameter is the length of the buffer in  chars.  This parameter are read only. 

uidThe uid parameter is the user identifier (UID) for the request.  This parameter are read only. 

nameThe name parameter is the user name for the request.  This parameter are read only. 

contextA pointer to the location that records which I/O stream is to be used. 

DESCRIPTION

This series of mechanism dependent routines is used access the corresponding getpw∗ series of calls.  The actual result string is placed in the buffer provided and result points to the resultant struct passwd in the buffer.  Values in the passwd structure may be changed by the siad_∗pw∗ routines. 

siad_getpwent()

The siad_getpwent routine is called indirectly (by the sia_switch function) from the sia_getpass() routine to do libc and libc_r getpwent and getpwent_r processing.  The result buffer is always allocated and a lock is taken out when thread safety is required. 

siad_getpwuid()

This routine is called indirectly (by the sia_switch function) by sia_getpass() to process libc and libc_r getpwuid() and getpwuid_r() requests. 

siad_getpwnam()

This routine is called indirectly (by the sia_switch function) by sia_getpass to process the libc and libc_r getpwnam() and getpwnam_r() requests. 

siad_setpwent()

This routine is called to initialize a series of getpwent calls.  Such initialization might be the opening of a file or the contacting of a service. 

siad_endpwent()

This routine is called to free up or release resources associated with the completion of a series of getpwent calls. 

RETURN VALUES

The siad_∗pw∗() routines return bitmapped values which indicate the following status:

SIADSUCCESSIndicates unconditional success. All bits set to 0. 

SIADFAILIndicates conditional failure. Lowest bit set to 1.  If other security mechanism are in place, continue. 

SIADSTOPIndicates unconditional failure. Do not continue.  Second lowest bit set to 1. 

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

RELATED INFORMATION

getpwent(3), matrix.conf(4)

Security

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026