File: getpass.3

package info (click to toggle)
manpages-de 0.4-8
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,808 kB
  • ctags: 4
  • sloc: sh: 7,666; makefile: 60
file content (140 lines) | stat: -rw-r--r-- 5,338 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
.\" Copyright (c) 1989, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)getpass.3	6.5 (Berkeley) 5/21/91
.\"
.\" Converted for Linux, Mon Nov 29 14:41:51 1993, faith@cs.unc.edu
.\" Translated into german (16.11.1996) by Andreas D. Preissig <andreas@sanix.ruhr.de>
.\" Fri Jan 12 19:31:54 2001: Modified by Martin Schulze <joey@infodrom.north.de>
.\"
.TH PRINTF 3  "29 November 1993" "BSD MANPAGE" "Bibliotheksfunktionen"
.SH BEZEICHNUNG
getpass \- Pawort erfragen
.SH "BERSICHT"
.B #include <pwd.h>
.br
..B #include <unistd.h>
.sp
.B "char *getpass( const char *" prompt );
.SH BESCHREIBUNG
Diese Funktion ist veraltet.  Benutzen Sie sie nicht.

Die Funktion ffnet
.I /dev/tty
(das kontrollierende Terminal des Prozesses), zeigt die Zeichenkette
.I prompt
an, schaltet die Ausgabe ab, liest die Zeile (das "Pawort"),
restauriert den Status des Terminals und schliet
.I /dev/tty
wieder.
 
Das Pawort darf bis zu
.B _PASSWORD_LEN
(zur Zeit 128) Zeichen lang sein.
Alle berzhligen Zeichen und das abschlieende Newline-Zeichen werden
verworfen. (Dies kann unter Linux anders sein)

.SH "RCKGABEWERT"
Die Funktion
.B getpass
gibt einen Zeiger auf einen statischen Puffer zurck, der das
(bzw. die ersten PASS_MAX Bytes des) Pawort ohne abschlieendes
Newline-Zeichen, jedoch mit einem terminierenden NULL-Zeichen,
enthlt.  Dieser Puffer wird von einem nachfolgenden Aufruf
berschrieben.  Im Fehlerfall wird der Status des Terminals
wiederhergestellt,
.I errno
entsprechend gesetzt und NULL zurckgegeben.

.SH FEHLER
Die Funktion kann fehlschlagen, falls
.TP
.B ENXIO
Der Proze hat kein kontrollierendes Terminal.

.SH ANMERKUNGEN
Bei libc4 und libc5 wird der Prompt nicht auf
.I /dev/tty
geschrieben, sondern auf
.IR stderr .
Wenn
.I /dev/tty
nicht geffnet werden kann, wird das Pawort von
.I stdin
gelesen.  Der statische Puffer hat eine Lnge von 128 Bytes, so da
nur die ersten 127 Bytes des Paworts zurckgegeben werden.  Whrend
das Pawort gelesen wird, ist die Erzeugung von Signalen (SIGINT,
SIGQUIT, SIGSTOP, SIGTSTOP) abgeschaltet und die entsprechenden
Zeichen (normalerweise Strg-C, Strg-\e, strg-Z und Strg-V) werden als
Teil des Paworts bertragen.  Ab libc 5.4.19 ist ebenfalls kein
Editieren der Zeile mehr mglich, so da Backspace und hnliche
Zeichen ebenfalls als Teile des Paworts angesehen werden.

Bei  glibc2 wird der Prompt auf
.I stderr
geschrieben, falls
.I /dev/tty
nicht geffnet werden kann und das Pawort wird von
.I stdin
gelesen.
Es gibt keine Begrenzung der Lnge des Pawortes.  Editierung der
Zeile ist nicht deaktiviert.

Wie in SUSv2 beschrieben ist, mu der Wert von PASS_MAX in
.I <limits.h>
definiert sein, falls es kleiner als 8 ist, und auf jeden Fall mit
.I sysconf(_SC_PASS_MAX)
in Erfahrung gebracht werden kann.  Allerdings verwirft POSIX.2 die
Konstanten PASS_MAX und _SC_PASS_MAX sowie die Funktion
.BR getpass ().
Libc4 and libc5 haben niemals PASS_MAX oder _SC_PASS_MAX untersttzt.
Glibc2 akzeptiert _SC_PASS_MAX und gibt BUFSIZ zurck (z.B., 8192).

.SH DATEIEN
.I /dev/tty
.SH GESCHICHTE
Eine
.B getpass
Funktion erschien in Version 7 AT&T UNIX.
.SH BUGS
Die Funktion 
.B getpass
speichert ihr Resultat in einem internen statischen Objekt und gibt nur den
Zeiger auf dieses Objekt zurck. Weitere Aufrufe von 
.B getpass
werden dieses gleiche Objekt verndern.
.PP
Der aufrufende Prozess sollte das Pawort so schnell wie mglich auf Null
setzen, um zu vermeiden, das das Pawort weiter sichtbar in dem Addressraum
dieses Prozesses ist.

.SH "SIEHE AUCH"
.BR crypt (3).