getpass


SYNOPSIS
       #include <unistd.h>

       char *getpass( const char *prompt);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       getpass():
           Since glibc 2.2.2:
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
           Before glibc 2.2.2:
               none

DESCRIPTION
       This  function  is obsolete.  Do not use it.  If you want to read input
       without terminal echoing enabled, see the description of the ECHO  flag
       in termios(3).

       The  getpass() function opens /dev/tty (the controlling terminal of the
       process), outputs the string prompt, turns off echoing, reads one  line
       (the  "password"),  restores  the  terminal  state  and closes /dev/tty
       again.

RETURN VALUE
       The function getpass() returns a pointer to a static buffer  containing
       (the  first  PASS_MAX  bytes of) the password without the trailing new-
       line, terminated by a null byte ('\0').  This buffer may be overwritten
       by  a  following call.  On error, the terminal state is restored, errno
       is set appropriately, and NULL is returned.

ERRORS
       The function may fail if

       ENXIO  The process does not have a controlling terminal.

FILES
       /dev/tty

ATTRIBUTES
   Multithreading (see pthreads(7))
       The getpass() function is not thread-safe.

CONFORMING TO
       Present in SUSv2, but marked LEGACY.  Removed in POSIX.1-2001.

NOTES
       For libc4 and libc5, the prompt is  not  written  to  /dev/tty  but  to
       stderr.   Moreover,  if /dev/tty cannot be opened, the password is read
       from stdin.  The static buffer has length 128 so that  only  the  first
       127  bytes  of  the password are returned.  While reading the password,
       using sysconf(_SC_PASS_MAX).  However, POSIX.2 withdraws the  constants
       PASS_MAX and _SC_PASS_MAX, and the function getpass().  Libc4 and libc5
       have  never  supported  PASS_MAX  or  _SC_PASS_MAX.    Glibc2   accepts
       _SC_PASS_MAX and returns BUFSIZ (e.g., 8192).

BUGS
       The  calling  process  should  zero the password as soon as possible to
       avoid leaving the cleartext password visible in the  process's  address
       space.

SEE ALSO
       crypt(3)

COLOPHON
       This  page  is  part of release 3.54 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



Linux                             2013-06-21                        GETPASS(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2018 Hurricane Electric. All Rights Reserved.