*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> getpass (3)              



NAME    [Toc]    [Back]

       getpass - get a password

SYNOPSIS    [Toc]    [Back]

       #include <unistd.h>

       char *getpass( const char * prompt );

DESCRIPTION    [Toc]    [Back]

       This function is obsolete. Do not use it.

       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

RETURN VALUE    [Toc]    [Back]

       The function getpass returns a pointer to a  static  buffer  containing
       the  (first  PASS_MAX  bytes of) the password without the trailing newline,
 terminated by a NUL.  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    [Toc]    [Back]

       The function may fail if

       ENXIO  The process does not have a controlling terminal.

NOTES    [Toc]    [Back]

       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,
       signal generation (SIGINT, SIGQUIT, SIGSTOP, SIGTSTOP) is disabled  and
       the  corresponding  characters (usually control-C, control-\, control-Z
       and control-Y) are transmitted as part of  the  password.   Since  libc
       5.4.19  also  line  editing is disabled, so that also backspace and the
       like will be seen as part of the password.

       For glibc2, if /dev/tty cannot be opened,  the  prompt  is  written  to
       stderr  and  the password is read from stdin.  There is no limit on the
       length of the password.	Line editing is not disabled.

       According to the SUSv2, the value of PASS_MAX must be defined in  <lim-
       its.h>  in  case  it is smaller than 8, and can in any case be obtained
       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).

FILES    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]


HISTORY    [Toc]    [Back]

       A getpass function appeared in Version 7 AT&T UNIX.

BUGS    [Toc]    [Back]

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

Linux Manpage			  2000-12-05			    GETPASS(3)
[ Back ]
 Similar pages
Name OS Title
yppasswd Tru64 Update user password in Network Information Service (NIS) password map.
passwd IRIX change login password and password attributes
vipw Linux edit the password, group, shadow-password, or shadow-group file.
string2key OpenBSD map a password into a key
setkey NetBSD password encryption
encrypt NetBSD password encryption
passwd Tru64 Password files
passwd HP-UX password file
getpass IRIX read a password
crypt NetBSD password encryption
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service