Provided by: manpages-es_1.55-4_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.
        La función getpass devuelve un puntero a un buffer  estático  que  con‐
        tiene  (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,  SIGT‐
        STOP)  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
        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 car‐
        acteres  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.