Provided by: manpages-es_1.55-10_all bug

NOMBRE

       getpass - obtiene una contraseña

SINOPSIS

       #include <unistd.h>

       char *getpass( const char * prompt );

DESCRIPCIÓN

       Esta función está obsoleta. No la utilice.

       La  función  getpass()  abre  el  fichero  /dev/tty  (la terminal de control del proceso),
       escribe la cadena prompt, desactiva el eco, lee una linea (la "contraseña"), restablece el
       estado de la terminal y cierra /dev/tty de nuevo.

VALOR DEVUELTO

       La  función  getpass  devuelve  un puntero a un buffer estático que contiene (los primeros
       PASS_MAX bytes de) la contraseña sin el carácter nueva  línea,  terminada  en  NUL.   Este
       buffer  puede  ser sobreescrito por una llamada posterior.  En caso de error, el estado de
       la terminal se restablece, se pone un valor adecuado en errno , y se devuelve NULL.

ERRORES

       La función puede fallar si

       ENXIO  El proceso no tiene una terminal de control.

OBSERVACIONES

       Para libc4 y libc5, el prompt no se escribe  en  /dev/tty  sino  en  stderr.   Además,  si
       /dev/tty  no  puede abrirse, la contraseña es leída de stdin.  El buffer estático tiene de
       longitud 128 por lo que solamente se devuelven los primeros 127 bytes  de  la  contraseña.
       Mientras  se  lee  la  contraseña,  la  generación  de  señales (SIGINT, SIGQUIT, SIGSTOP,
       SIGTSTOP)  es  desactivada  y  los  carácteres  correspondientes  (normalmente  control-C,
       control-\,  control-Z y control-Y) son transmitidos como parte de la contraseña.  A partir
       de la versión 5.4.19 de libc también se ha deshabilitado la edición de la linea,  así  que
       también el espacio será visto como parte de la contraseña.

       Para  glibc2, si /dev/tty no puede abrirse, el prompt se escribe en stderr y la contraseña
       es leida de stdin.  No hay límite en la longitud de la contraseña.  La edición de la línea
       no está deshabilitada.

       Según el estándar SUSv2, el valor de PASS_MAX debe estar definido en <limits.h> en caso de
       que sea menor que 8, y puede ser obtenido en cualquier caso usando  sysconf(_SC_PASS_MAX).
       Sin  embargo,  retira  las  constantes  PASS_MAX  y _SC_PASS_MAX, y la función getpass ().
       Libc4 y libc5 no han soportado nunca PASS_MAX ni _SC_PASS_MAX.  Glibc2 acepta _SC_PASS_MAX
       y devuelve BUFSIZ (p.e., 8192).

FICHEROS

       /dev/tty

VÉASE TAMBIÉN

       crypt(3)

HISTORIA

       Una función getpass apareció en AT&T UNIX Versión 7.

FALLOS

       El  proceso  que  llama  a  esta  función  debería poner a cero todos los caracteres de la
       contraseña tan pronto como le fuera posible para evitar dejar  la  contraseña  sin  cifrar
       visible en el espacio de direcciones del proceso.