Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       getpass - wczytanie hasla

SK/LADNIA

       #include <unistd.h>

       char *getpass( const char * prompt );

OPIS

       Funkcja ta jest przestarzala. Nie naley jej uywa.

       Funkcja   getpass()   otwiera  /dev/tty  (terminal  sterujcy  procesu),
       wyprowadza napis prompt, wylcza echo, odczytuje  jedn  lini  ("haslo"),
       odtwarza stan terminala i zamyka /dev/tty.

WARTO ZWRACANA

       Funkcja getpass zwraca wskanik do statycznego bufora zawierajcego haslo
       (pierwsze PASS_MAX bajtow) bez koczcego znaku  nowej  linii,  zakoczone
       znakiem  NUL.   Bufor ten moe zosta nadpisany przez poniejsze wywolania
       funkcji.  W przypadku bldu, odtwarzany jest stan terminala, odpowiednio
       ustawiane errno, i zwracane NULL.

B/LDY

       Funkcja moe zakoczy si niepomylnie, gdy

       ENXIO  Proces nie posiada terminala sterujcego.

UWAGI

       Dla  libc4  i  libc5  tekst  zachty  ("prompt")  nie jest wypisywany na
       /dev/tty, ale na stderr.  Ponadto, jeli nie mona otworzy  /dev/tty,  to
       haslo  jest  odczytywane  z  stdin.   Bufor statyczny ma dlugo 128, wic
       zwracanych jest tylko pierwszych 127 bajtow hasla. Podczas odczytywania
       hasla  wylczone  jest  generowanie  sygnalow (SIGINT, SIGQUIT, SIGSTOP,
       SIGTSTOP),  a  odpowiadajce  im  znaki  (zwykle  control-C,  control-\,
       control-Z  i  control-Y)  s przesylane jako cz hasla.  Poczwszy od libc
       5.4.19, wylczona jest edycja linii, tak wic rownie cofanie  (backspace)
       i jemu podobne bd widziane jako cz hasla.

       Dla  glibc2,  jeli  nie  mona  otworzy  /dev/tty,  to tekst zachty jest
       wypisywany na stderr,  a  haslo  jest  odczytywane  z  stdin.   Nie  ma
       natomiast ograniczenia na dlugo hasla. Wylczona jest edycja linii.

       Zgodnie  z  SUSv2,  jeli  warto PASS_MAX jest mniejsza ni 8, to musi by
       zdefiniowana w <limits.h>, a w kadym przypadku mona j otrzyma za  pomoc
       sysconf(_SC_PASS_MAX).  Jednake, POSIX.2 odchodzi od stalych PASS_MAX i
       _SC_PASS_MAX oraz od funkcji getpass  ().   Libc4  i  libc5  nigdy  nie
       wspieraly  PASS_MAX  ani _SC_PASS_MAX.  Glibc2 akceptuje _SC_PASS_MAX i
       zwraca BUFSIZ (np. 8192).

PLIKI

       /dev/tty

ZOBACZ TAKE

       crypt(3)

HISTORIA

       Funkcja getpass pojawila si w Wersji 7 AT&T UNIX.

USTERKI

       Proces wywolujcy funkcj powinien wyzerowa haslo natychmiast, gdy  tylko
       bdzie  to  moliwe,  aby  unikn  pozostawania  jawnego hasla widocznym w
       przestrzeni adresowej procesu.

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.