seclib_logincontext(3C) seclib_logincontext(3C)
NAME
secliblogincontext - Anmeldekontextstruktur zuordnen und Zuordnung
aufheben
SYNTAX
cc ... -lseclib
#include <seclib.h>
enum seclibreturnval
secliblogincontext(const char *pgmname,
const char *user,
const char *tty,
const char *host,
void (*messagecb)(const char *),
char *(*promptcb)(const char *),
char *(*gpass)(const char *),
struct logincontext **context);
enum seclibreturnval
seclibfreelogincontext(struct logincontext *context);
BESCHREIBUNG
Die Gruppe für Anmeldekontext ordnet die von den API-Aufrufen anderer
Sicherheitsbibliotheken verwendete Anmeldekontextstruktur zu und hebt
diese Zuordnung wieder auf.
Der Aufruf secliblogincontext() umfaßt folgendes:
1. Wenn das Kontextargument nicht leer ist, tritt folgendes ein:
- secliblogincontext() speichert die Werte von tries und caller-
private von der übergebenen Kontextstruktur (und stellt diese
Werte später wieder her). Wenn context->reason
SECXTOOMANYQUIET ist, wird der Wert der Ursache reason eben-
falls gespeichert und wiederhergestellt.
- seclibfreelogincontext wird mit der übergebenen Adresse aufge-
rufen.
2. Die Funktion calloc() wird für die Zuordnung von Speicherplatz für
die neue Kontextstruktur aufgerufen.
3. Die folgenden Felder in der Kontextstruktur werden initialisiert
(HINWEIS: Alle initialisierten Zeichenketten und Strukturen werden
in den neu zugeordneten Speicher gestellt):
FELD WERT
tries vom gespeicherten Wert, andernfalls Null
private vom gespeicherten Wert, andernfalls NULL
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
seclib_logincontext(3C) seclib_logincontext(3C)
reason vom gespeicherten Wert, andernfalls SECXOK
alogreason SECAXFAILED
tokreason SECTXFAILED
rtokreason SECTXFAILED
tty vom Eingabeargument, abzüglich der Angabe /dev/
uname vom Eingabeargument
rmthost vom Eingabeargument
pgmname vom Eingabeargument
pwd von getpwnam(uname)
sp von getspnam(uname)
grp von getgrgid(pwd->pwgid)
groups mit NULL abgeschlossene Liste. Alle Gruppen, zu
denen der Benutzer gehört (aus der Datei
/etc/group)
ngroups Anzahl der Gruppen in der Liste "groups" (oben)
lastlog Eintrag lastlog für uname (Felder prev* auf Null
gesetzt)
messagecb vom Eingabeargument
promptcb vom Eingabeargument
gpasscb vom Eingabeargument
umask von /etc/default/login (falls gesetzt, andern-
falls DEFUMASK)
ulimit von /etc/default/login (falls gesetzt, andern-
falls DEFULIMIT)
4. Wenn Speicherzuordnungs- oder Systemaufruffehler auftraten, wird
der zugeordnete Speicher freigegeben und SECRCALLFAILED zurückge-
geben.
5. Wenn ein Teil der Benutzerinformationen nicht verfügbar war (z. B.
wenn der Benutzer nicht in der Datei password oder shadow gefunden
wurde), wird die Ursache als entsprechender Fehler zurückgegeben
und die Struktur soweit wie möglich aufgefüllt.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
seclib_logincontext(3C) seclib_logincontext(3C)
6. SECROK wird zurückgegeben.
Der Aufruf seclibfreelogincontext() gibt den gesamten von einer
Anmeldekontextstruktur verwendeten Speicher frei. Der Speicher aller
Zeigerfelder in dieser Struktur, die nicht leer sind, wird freigege-
ben. Bestimmte Strukturen, die möglicherweise auf mehrere Bits
zugeordneter Daten zeigen, werden besonders berücksichtigt.
ARGUMENTE
logincontext
Die Adresse der neu zugeordneten Anmeldekontextstruktur wird in
den übergebenen Zeiger logincontext gestellt.
pgmname
Der Name des aufrufenden Kommandos, das in Aufrufen an das Über-
wachungssystem verwendet werden soll. Dieser Name wird normaler-
weise vollständig in Großbuchstaben angegeben z. B. "LOGIN",
"RSHD" oder "FTPD".
user Der Name des Benutzers, dessen Berechtigung geprüft werden soll.
tty Der tty-Anschluß, auf dem die Sitzung gestartet werden soll. Für
dieses Argument kann NULL angegeben werden.
host Der Name des fernen Hosts, der den Dienst angefordert hat. Dieser
Wert (falls nicht NULL) wird normalerweise über den Aufruf
gethostbyaddr(3N) zurückgegeben.
messagecb
Ein Rückruf, den verschiedene Funktionen der Sicherheitsbiblio-
thek nutzen können, wenn Informationen auf dem Benutzerterminal
angezeigt werden müssen.
promptcb
Ein Rückruf, den verschiedene Funktionen der Sicherheitsbiblio-
thek nutzen können, wenn eine Meldung auf dem Benutzerterminal
angezeigt werden muß, für die eine Antwort erforderlich ist.
gpasscb
Ein Rückruf, den verschiedene Funktionen der Sicherheitsbiblio-
thek nutzen können, wenn eine Meldung auf dem Benutzerterminal
angezeigt werden muß, für die eine Antwort erforderlich ist. Die
vom Benutzer eingegebene Antwortzeichenkette soll nicht angezeigt
werden.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
seclib_logincontext(3C) seclib_logincontext(3C)
RÜCKGABEWERT
Die Funktionen geben die Aufzählung seclibreturnval zurück:
SECROK
Die Funktion beendete die Verarbeitung, ohne daß ein Systemfehler
auftrat.
HINWEIS: Die Funktion gibt SECROK zurück, auch wenn sie
context->reason auf einen Fehlerwert setzt.
SECRCALLFAILED
Der Funktionsaufruf schlug fehl. Dieser Fall tritt normalerweise
ein, wenn ein Systemaufruf fehlgeschlagen ist (z. B. wenn
malloc() fehlschlägt, weil ein Aufruf brk() mit einem Fehler
zurückgegeben wird).
SECRBADOPTION
Die Funktion wurde mit einem ungültigen Argument aufgerufen.
SIEHE AUCH
seclib(3C), seclibmisc(3C), seclibpassentry(3C),
seclibpassqual(3C), seclibpasswd(3C), seclibruserok(3C),
seclibsecterm(3C), seclibtwindows(3C).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98