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.

"UBERSICHT

       #include <pwd.h>

       char *getpass( const char * prompt );

BESCHREIBUNG

       Diese Funktion ist veraltet.  Benutzen Sie sie nicht.

       Die  Funktion  offnet  /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 schlieBt /dev/tty wieder.

       Das Passwort darf bis zu _PASSWORD_LEN (zurzeit 128) Zeichen lang sein.
       Alle uberzahligen Zeichen und das abschlieBende Newline-Zeichen  werden
       verworfen. (Dies kann unter Linux anders sein)

R"UCKGABEWERT

       Die  Funktion  getpass  gibt  einen  Zeiger auf einen statischen Puffer
       zuruck, der das (bzw. die ersten  PASS_MAX  Bytes  des)  Passwort  ohne
       abschlieBendes  Newline-Zeichen,  jedoch mit einem terminierenden NULL-
       Zeichen, enthalt.  Dieser Puffer wird von  einem  nachfolgenden  Aufruf
       uberschrieben.    Im   Fehlerfall   wird   der   Status  des  Terminals
       wiederhergestellt, errno entsprechend gesetzt und NULL zuruckgegeben.

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 geoffnet werden kann, wird das
       Passwort von stdin gelesen.  Der statische Puffer hat  eine  Lange  von
       128 Bytes, so dass nur die ersten 127 Bytes des Passworts zuruckgegeben
       werden.  Wahrend 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  ubertragen.   Ab libc 5.4.19 ist
       ebenfalls kein Editieren der Zeile mehr moglich, so dass Backspace  und
       ahnliche Zeichen ebenfalls als Teile des Passworts angesehen werden.

       Bei   glibc2  wird  der  Prompt  auf stderr geschrieben, falls /dev/tty
       nicht geoffnet werden kann und das Passwort wird von stdin gelesen.  Es
       gibt  keine  Begrenzung der Lange 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  unterstutzt.   Glibc2  akzeptiert  _SC_PASS_MAX  und gibt
       BUFSIZ zuruck (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 zuruck.
       Weitere Aufrufe von getpass werden dieses gleiche Objekt verandern.

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

SIEHE AUCH

       crypt(3).