Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       getpass - Obtenir un mot de passe (password)

SYNOPSIS

       #include <unistd.h>

       char *getpass( const char *prompt);

   Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

       getpass() :
           Depuis la glibc 2.2.2 :
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
           Avant la glibc 2.2.2 :
               aucune

DESCRIPTION

       Cette  fonction  est  obsolète.  Ne  l'utilisez pas. Si vous voulez lire une entrée de terminal sans écho
       local, consultez la description du drapeau ECHO dans termios(3).

       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 restaure 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ères du mot de passe sans le retour chariot final, terminé par un caractère nul
       (« \0 »). Ce tampon 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.

FICHIERS

       /dev/tty

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La fonction getpass() n'est pas sûre dans un contexte multithread.

CONFORMITÉ

       Présent dans SUSv2, mais marquée « LEGACY ». Supprimé de POSIX.1-2001.

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 tampon statique a une  longueur  de
       128  octets, aussi seulement 127 caractères du mot de passe sont renvoyés. Durant la lecture, les signaux
       (SIGINT, SIGQUIT, SIGSTOP, SIGTSTP) 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
       libc 5.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 glibc2, 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 toujours être 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(). Les bibliothèques libc4 et libc5
       n'ont jamais géré PASS_MAX ou _SC_PASS_MAX.  La  glibc2  accepte  _SC_PASS_MAX  et  renvoie  BUFSIZ  (par
       exemple, 8192).

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.

VOIR AUSSI

       crypt(3)

COLOPHON

       Cette page fait partie de la publication 3.57 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau  et  l'équipe  francophone  de  traduction  de
       Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».