Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       getpass - Passwort erfragen

       Diese  Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 3 getpass

       eingeben.

ÜBERSICHT

       #include <pwd.h>

       char *getpass( const char * prompt );

BESCHREIBUNG

       Diese Funktion ist veraltet. Benutzen Sie sie nicht.

       Die  Funktion  öffnet  /dev/tty  (das  kontrollierende   Terminal   des
       Prozesses),  zeigt die Zeichenkette prompt an, schaltet die Ausgabe ab,
       liest die Zeile (das "Passwort"), restauriert den Status des  Terminals
       und schließt /dev/tty wieder.

       Das Passwort darf bis zu _PASSWORD_LEN (zurzeit 128) Zeichen lang sein.
       Alle überzähligen Zeichen und das abschließende Newline-Zeichen  werden
       verworfen. (Dies kann unter Linux anders sein)

RÜCKGABEWERT

       Die  Funktion  getpass  gibt  einen  Zeiger auf einen statischen Puffer
       zurück, der das (bzw. die ersten  PASS_MAX  Bytes  des)  Passwort  ohne
       abschließendes  Newline-Zeichen,  jedoch mit einem terminierenden NULL-
       Zeichen, enthält. Dieser Puffer wird  von  einem  nachfolgenden  Aufruf
       überschrieben.   Im   Fehlerfall   wird   der   Status   des  Terminals
       wiederhergestellt, errno entsprechend gesetzt und NULL zurückgegeben.

FEHLER

       Die Funktion kann fehlschlagen, falls

       ENXIO  Der Prozess hat kein kontrollierendes Terminal.

ANMERKUNGEN

       Bei libc4 und libc5 wird der Prompt  nicht  auf  /dev/tty  geschrieben,
       sondern  auf stderr. Wenn /dev/tty nicht geöffnet werden kann, wird das
       Passwort von stdin gelesen. Der statische Puffer hat eine Länge von 128
       Bytes,  so  dass  nur  die ersten 127 Bytes des Passworts zurückgegeben
       werden. Während das  Passwort  gelesen  wird,  ist  die  Erzeugung  von
       Signalen  (SIGINT,  SIGQUIT,  SIGSTOP,  SIGTSTOP)  abgeschaltet und die
       entsprechenden Zeichen (normalerweise Strg-C, Strg-\, strg-Z und  Strg-
       V)  werden  als  Teil  des  Passworts  übertragen.  Ab  libc 5.4.19 ist
       ebenfalls kein Editieren der Zeile mehr möglich, so dass Backspace  und
       ähnliche Zeichen ebenfalls als Teile des Passworts angesehen werden.

       Bei   glibc2  wird  der  Prompt  auf stderr geschrieben, falls /dev/tty
       nicht geöffnet werden kann und das Passwort wird von stdin gelesen.  Es
       gibt  keine  Begrenzung  der Länge des Passwortes. Editierung der Zeile
       ist nicht deaktiviert.

       Wie in SUSv2 beschrieben ist, muss der Wert von PASS_MAX in  <limits.h>
       definiert  sein,  falls  es  kleiner  als 8 ist, und auf jeden Fall mit
       sysconf(_SC_PASS_MAX) in Erfahrung  gebracht  werden  kann.  Allerdings
       verwirft  POSIX.2  die  Konstanten  PASS_MAX und _SC_PASS_MAX sowie die
       Funktion  getpass().  Libc4  und  libc5  haben  niemals  PASS_MAX  oder
       _SC_PASS_MAX  unterstützt.  Glibc2  akzeptiert  _SC_PASS_MAX  und  gibt
       BUFSIZ zurück (z.B., 8192).

DATEIEN

       /dev/tty

GESCHICHTE

       Eine getpass Funktion erschien in Version 7 AT&T UNIX.

BUGS

       Die  Funktion  getpass  speichert  ihr  Resultat  in   einem   internen
       statischen  Objekt  und  gibt  nur den Zeiger auf dieses Objekt zurück.
       Weitere Aufrufe von getpass werden dieses gleiche Objekt verändern.

       Der aufrufende Prozess sollte das Passwort so schnell wie  möglich  auf
       Null  setzen, um zu vermeiden, dass das Passwort weiter sichtbar in dem
       Adressraum dieses Prozesses ist.

SIEHE AUCH

       crypt(3).