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

NOMBRE

       getpass - obtiene una contrasena

SINOPSIS

       #include <unistd.h>

       char *getpass( const char * prompt );

DESCRIPCI'ON

       Esta funcion esta obsoleta. No la utilice.

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

VALOR DEVUELTO

       La funcion getpass  devuelve  un  puntero  a  un  buffer  estatico  que
       contiene (los primeros PASS_MAX bytes de) la contrasena sin el caracter
       nueva linea, 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 funcion 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.
       Ademas,  si /dev/tty no puede abrirse, la contrasena es leida de stdin.
       El buffer estatico tiene de  longitud  128  por  lo  que  solamente  se
       devuelven  los primeros 127 bytes de la contrasena.  Mientras se lee la
       contrasena,  la  generacion  de  senales  (SIGINT,  SIGQUIT,   SIGSTOP,
       SIGTSTOP) es desactivada y los caracteres correspondientes (normalmente
       control-C, control-\, control-Z  y  control-Y)  son  transmitidos  como
       parte  de la contrasena.  A partir de la version 5.4.19 de libc tambien
       se ha deshabilitado la edicion de la linea, asi que tambien el  espacio
       sera visto como parte de la contrasena.

       Para  glibc2,  si  /dev/tty  no  puede abrirse, el prompt se escribe en
       stderr y la contrasena es leida de stdin.  No hay limite en la longitud
       de la contrasena.  La edicion de la linea no esta deshabilitada.

       Segun  el  estandar  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 funcion 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'EASE TAMBI'EN

       crypt(3)

HISTORIA

       Una funcion getpass aparecio en AT&T UNIX Version 7.

FALLOS

       El proceso que llama a esta funcion deberia  poner  a  cero  todos  los
       caracteres  de  la  contrasena  tan  pronto  como le fuera posible para
       evitar dejar  la  contrasena  sin  cifrar  visible  en  el  espacio  de
       direcciones del proceso.

Pagina de manual de Linux      5 diciembre 2000                     GETPASS(3)