.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl) .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, write to the Free .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, .\" USA. .\" .TH GETPASS 3 2000-12-05 "Linux" "Podręcznik programisty Linuksa" .SH NAZWA getpass \- wczytanie hasła .SH SKŁADNIA .B #include .sp .B "char *getpass( const char *" prompt ); .SH OPIS \fI Uwaga! To tłumaczenie może być nieaktualne!\fP .PP Funkcja ta jest przestarzała. Nie należy jej używać. .PP Funkcja .BR getpass () otwiera .I /dev/tty (terminal sterujący procesu), wyprowadza napis .IR prompt , wyłącza echo, odczytuje jedną linię ("hasło"), odtwarza stan terminala i zamyka .IR /dev/tty . .SH "WARTOŚĆ ZWRACANA" Funkcja .B 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 .IR errno , i zwracane NULL. .SH BŁĘDY Funkcja może zakończyć się niepomyślnie, gdy .TP .B ENXIO Proces nie posiada terminala sterującego. .SH UWAGI Dla libc4 i libc5 tekst zachęty ("prompt") nie jest wypisywany na .IR /dev/tty , ale na .IR stderr . Ponadto, jeśli nie można otworzyć .IR /dev/tty , to hasło jest odczytywane z .IR 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-\e, 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. .PP Dla glibc2, jeśli nie można otworzyć .IR /dev/tty , to tekst zachęty jest wypisywany na .IR stderr , a hasło jest odczytywane z .IR stdin . Nie ma natomiast ograniczenia na długość hasła. Wyłączona jest edycja linii. .PP Zgodnie z SUSv2, jeśli wartość PASS_MAX jest mniejsza niż 8, to musi być zdefiniowana w .IR , a w każdym przypadku można ją otrzymać za pomocą .IR sysconf(_SC_PASS_MAX) . Jednakże, POSIX.2 odchodzi od stałych PASS_MAX i _SC_PASS_MAX oraz od funkcji .B getpass (). Libc4 i libc5 nigdy nie wspierały PASS_MAX ani _SC_PASS_MAX. Glibc2 akceptuje _SC_PASS_MAX i zwraca BUFSIZ (np. 8192). .SH PLIKI .I /dev/tty .SH "ZOBACZ TAKŻE" .BR crypt (3) .SH HISTORIA Funkcja .B getpass pojawiła się w Wersji 7 AT&T UNIX. .SH 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. .SH "INFORMACJE O TŁUMACZENIU" Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i \fImoże nie być aktualne\fR. 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: .IP man \-\-locale=C 3 getpass .PP Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages\-pl/.