Provided by: manpages-pl-dev_0.5-1_all
NAZWA
getpass - wczytanie hasła
SKŁADNIA
#include <unistd.h> char *getpass( const char * prompt );
OPIS
Uwaga! To tłumaczenie może być nieaktualne! Funkcja ta jest przestarzała. Nie należy jej używać. Funkcja getpass() otwiera /dev/tty (terminal sterujący procesu), wyprowadza napis prompt, wyłącza echo, odczytuje jedną linię ("hasło"), odtwarza stan terminala i zamyka /dev/tty.
WARTOŚĆ ZWRACANA
Funkcja getpass zwraca wskaźnik do statycznego bufora zawierającego hasło (pierwsze PASS_MAX bajtów) bez kończącego znaku nowej linii, zakończone znakiem NUL. Bufor ten może zostać nadpisany przez późniejsze wywołania funkcji. W przypadku błędu, odtwarzany jest stan terminala, odpowiednio ustawiane errno, i zwracane NULL.
BŁĘDY
Funkcja może zakończyć się niepomyślnie, gdy ENXIO Proces nie posiada terminala sterującego.
UWAGI
Dla libc4 i libc5 tekst zachęty ("prompt") nie jest wypisywany na /dev/tty, ale na stderr. Ponadto, jeśli nie można otworzyć /dev/tty, to hasło jest odczytywane z stdin. Bufor statyczny ma długość 128, więc zwracanych jest tylko pierwszych 127 bajtów hasła. Podczas odczytywania hasła wyłączone jest generowanie sygnałów (SIGINT, SIGQUIT, SIGSTOP, SIGTSTOP), a odpowiadające im znaki (zwykle control-C, control-\, control-Z i control-Y) są przesyłane jako część hasła. Począwszy od libc 5.4.19, wyłączona jest edycja linii, tak więc również cofanie (backspace) i jemu podobne będą widziane jako część hasła. Dla glibc2, jeśli nie można otworzyć /dev/tty, to tekst zachęty jest wypisywany na stderr, a hasło jest odczytywane z stdin. Nie ma natomiast ograniczenia na długość hasła. Wyłączona jest edycja linii. Zgodnie z SUSv2, jeśli wartość PASS_MAX jest mniejsza niż 8, to musi być zdefiniowana w <limits.h>, a w każdym przypadku można ją otrzymać za pomocą sysconf(_SC_PASS_MAX). Jednakże, POSIX.2 odchodzi od stałych PASS_MAX i _SC_PASS_MAX oraz od funkcji getpass (). Libc4 i libc5 nigdy nie wspierały PASS_MAX ani _SC_PASS_MAX. Glibc2 akceptuje _SC_PASS_MAX i zwraca BUFSIZ (np. 8192).
PLIKI
/dev/tty
ZOBACZ TAKŻE
crypt(3)
HISTORIA
Funkcja getpass pojawiła się w Wersji 7 AT&T UNIX.
USTERKI
Proces wywołujący funkcję powinien wyzerować hasło natychmiast, gdy tylko będzie to możliwe, aby uniknąć pozostawania jawnego hasła widocznym w przestrzeni adresowej procesu.
INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia: man --locale=C 3 getpass Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.