Provided by: manpages-fr_1.67.0-1_all bug

NOM

       getpass - Saisie d’un mot de passe (password).

SYNOPSIS

       #include <unistd.h>

       char *getpass (const char * prompt );

DESCRIPTION

       Cette fonction est obsolète, ne l’utilisez pas !

       La  fonction  getpass  ouvre  /dev/tty  (le  terminal  de  contrôle  du
       processus) affiche le message d’accueil prompt,  éteint  l’écho  local,
       lit  une ligne (le mot de passe), puis restore l’état de /dev/tty et le
       referme.

VALEUR RENVOYÉE

       La fonction getpass renvoie un pointeur sur une  chaîne  de  caractères
       allouée statiquement contenant (les PASS_MAX premiers caractère du) mot
       de passe sans le retour chariot final, terminé par  un  caractère  nul.
       Ce buffer peut être écrasé par un autre appel.  En cas d’erreur, l’état
       du terminal est restauré, errno est  rempli,  et  la  fonction  renvoie
       NULL.

ERREURS

       La fonction peut échouer dans les cas suivants :

       ENXIO  Le processus n’a pas de terminal de contrôle.

NOTES

       Dans  les  versions  LibC4  et  LibC5, le message n’est pas affiché sur
       /dev/tty mais sur stderr.  De plus, si /dev/tty ne peut être ouvert, le
       mot de passe est lu depuis stdin.  Le buffer statique a une longueur de
       128 octets,  aussi  seulement  127  carctères  du  mot  de  passe  sont
       renvoyés.  Durant  la  lecture,  les signaux (SIGINT, SIGQUIT, SIGSTOP)
       sont désactivés et les caractères de contrôle correspondant (en général
       Ctrl-C,  Ctrl-\,  Ctrl-Z et Ctrl-Y) sont transmis comme part intégrante
       du mot  de  passe.   Depuis  la  LibC5.4.19,  l’édition  de  ligne  est
       également  désactivée,  ainsi  les  retours  en  arrières  etc.  seront
       présents dans le mot de passe.

       Pour la GlibC 2, si /dev/tty ne peut pas être ouvert,  le  message  est
       envoyé  sur  stderr  et  le mot de passe lu sur stdin.  Il n’y a pas de
       limite à la longueur du mot de passe.  L’édition  de  ligne  n’est  pas
       désactivée.

       D’après  SUSv2, la valeur de PASS_MAX doit être définie dans <limits.h>
       au cas où elle est inférieure à 8, et  doit  être  toujours  accessible
       avec  sysconf(_SC_PASS_MAX).   Quoiqu’il  en  soit,  POSIX.2 retire les
       constantes PASS_MAX et _SC_PASS_MAX, ainsi que la fonction getpass  ().
       LibC  4 et LibC5 n’ont jamais utilisé PASS_MAX ou _SC_PASS_MAX. GlibC 2
       accepte _SC_PASS_MAX et renvoie BUFSIZ (par exemple 8192).

FICHIERS

       /dev/tty

VOIR AUSSI

       crypt(3)

HISTORIQUE

       Une fonction getpass est apparue dans la Version 7 d’AT&T UNIX.

BOGUES

       Le processus appelant doit effacer le mot de passe saisi aussi vite que
       possible,  afin  d’éviter  d’en conserver une copie en texte clair dans
       son espace d’adressage.

TRADUCTION

       Christophe Blaess, 1996-2003.