Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
getpass - wczytanie hasła
SKŁADNIA
#include <unistd.h>
char *getpass( const char * prompt );
OPIS
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.