File: 10_utmp_5_updates.dpatch

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 (184 lines) | stat: -rw-r--r-- 6,534 bytes parent folder | download
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#! /bin/sh /usr/share/dpatch/dpatch-run
## 10_utmp_5_updates.dpatch by Daniel Kobras <kobras@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Typo fixes. Update usage example to glibc 2.2.5.

@DPATCH@
--- manpages-de-0.4.orig/man5/utmp.5
+++ manpages-de-0.4/man5/utmp.5
@@ -24,8 +24,11 @@
 .\" Modified Thu Feb 26 16:08:49 MET 1995 by Michael Haardt
 .\" Modified Sat Jul 20 14:39:03 MET DST 1996 by Michael Haardt
 .\" Modified Sat Aug 10 15:26:25 MET DST 1996 by Michael Haardt
+.\" 2002-09-24	Daniel Kobras <kobras@linux.de>
+.\"	* Typo fixes.
+.\"	* Update example struct to glibc 2.2.5.
 .\"
-.TH UTMP 5 "10. August 1996" "Linux" "Dateiformate"
+.TH UTMP 5 "24. September 2002" "Linux" "Dateiformate"
 .SH BEZEICHNUNG
 utmp, wtmp \- login Eintrge
 .SH BERSICHT
@@ -46,8 +49,12 @@
 fr jeden schreibbar lassen, riskieren Sie falsche Eintrge in
 Systemlogdateien und Modifikationen von Systemdateien.
 
-Die Datei besteht aus einer Sequenz von Eintrgen der folgenden Struktur,
-die in der Include-Datei deklariert ist:
+Die Datei besteht aus einer Sequenz von Eintrgen der Struktur
+.IR utmp ,
+die ber die Include-Datei deklariert wird.  Das Format von
+.I utmp
+ist nicht strikt festgelegt, sondern hngt ab von der Version der
+verwendeten libc.  Das folgende Beispiel ist glibc 2.2.5 entnommen:
 .RS
 .nf
 .sp
@@ -61,20 +68,35 @@
 #define LOGIN_PROCESS	6
 #define USER_PROCESS	7
 #define DEAD_PROCESS	8
+#define ACCOUNTING	9
 
-#define UT_LINESIZE	12
-#define UT_NAMESIZE	8
-#define UT_HOSTSIZE	16
+#define UT_LINESIZE	32
+#define UT_NAMESIZE	32
+#define UT_HOSTSIZE	256
+
+struct exit_status {
+  short int e_termination;    /* Abbruchstatus des Prozesses.  */
+  short int e_exit;           /* Rckgabestatus des Prozesses.  */
+};
+	    
 
 struct utmp {
-  short ut_type;	/* Typ des Eintrags */
-  pid_t ut_pid;		/* Prozenummer */
+  short int ut_type;	/* Typ des Eintrags */
+  pid_t ut_pid;		/* Kennung des Anmeldeprozesses */
   char ut_line[UT_LINESIZE];	/* Gertename \- "/dev/" */
-  char ut_id[2];	/* init id or abgek. Leitungsname */
-  time_t ut_time;	/* Zeit */
+  char ut_id[4];	/* init id or abgek. Leitungsname */
   char ut_user[UT_NAMESIZE];	/* Benutzer login-Name */
   char ut_host[UT_HOSTSIZE];	/* Rechner-Name bei remote login */
-  long ut_addr;	/* IP Adresse des remote Rechners */
+  struct exit_status ut_exit;	/* Rckgabestatus eines Prozesses, der
+  				   als DEAD_PROCESS markiert ist. */
+  long int ut_session;		/* Sessionkennung, benutzt, um mehrere
+  				   Fenster zu unterscheiden. */
+  struct timeval ut_tv;		/* Zeit, zu der der Eintrag erstellt
+  				   wurde. */
+  int32_t ut_addr_v6[4];	/* Internetadresse des Ursprungsrechners
+  				   der Login-Verbindung. */
+  char __unused[20];		/* Unbenutzt, reserviert fr sptere
+  				   Verwendung. */
 };
 .sp
 .fi
@@ -94,8 +116,8 @@
 .I utmp
 auf, indem bei jedem Eintrag dessen
 .BR ut_type " nicht"
-.BR DEAD_PROCESS " oder " BRUN_LVL 
-ist und fr den kein Proze mit der PID
+.BR DEAD_PROCESS " oder " RUN_LVL 
+ist und fr den kein Prozess mit der PID
 .BR ut_pid " existiert,"
 .BR ut_type " auf " DEAD_PROCESS
 gesetzt wird und
@@ -127,8 +149,8 @@
 
 Wenn
 .BR init (8)
-feststellt, da ein Proze beendet wurde, lokalisiert es den
-entsprechenden utmp Eintrag mittels
+feststellt, da ein Prozess beendet wurde, lokalisiert es den
+entsprechenden utmp-Eintrag mittels
 .BR ut_pid ", setzt"
 .BR ut_type " auf " DEAD_PROCESS " und fllt "
 .BR ut_user ,
@@ -136,7 +158,7 @@
 
 .BR xterm (1)
 und andere Terminal-Emulatoren erstellen direkt einen
-.B USER_PROCESS
+.BR USER_PROCESS \-
 Eintrag und erzeugen die
 .BR ut_id " entweder durch die letzten beiden Zeichen von"
 .BI /dev/ttyp %c
@@ -145,7 +167,7 @@
 bei
 .BI /dev/pts/ %d.
 Falls sie einen
-.B DEAD_PROCESS
+.BR DEAD_PROCESS \-
 Eintrag fr diese ID finden, wird er wieder benutzt, ansonsten wird ein
 neuer Eintrag erstellt.  Falls mglich, markieren sie vor Beendigung den
 Eintrag als
@@ -153,22 +175,22 @@
 .BR ut_line ", " ut_time ", " ut_user " und " ut_host " mit Nullen fllen."
 
 .BR xdm (8)
-sollte keinen utmp Eintrag erstellen, weil es kein
+sollte keinen utmp-Eintrag erstellen, weil es kein
 zugeordnetes Terminal gibt.  Falls es trotzdem gemacht wird, werden
-Fehlermledungen wie finger: can not stat /dev/machine.dom die Folge
-sein.  Es sollte jedoch ein wtmp Eintrag erzeugt werden, genau wie es
+Fehlermeldungen wie finger: can not stat /dev/machine.dom die Folge
+sein.  Es sollte jedoch ein wtmp-Eintrag erzeugt werden, genau wie es
 auch bei
 .BR ftpd (8)
 geschieht.
 
 .BR telnetd (8)
 erzeugt einen
-.BR LOGIN_PROCESS " Eintrag und lt"
+.BR LOGIN_PROCESS "\-Eintrag und lsst"
 .BR login (8)
 den Rest erledigen.  Nachdem die telnet-Sitzung beendet ist, markiert
 .BR telnetd (8)
 den
-.I utmp
+.IR utmp \-
 Eintrag in der oben
 beschriebenen Art und Weise.
 
@@ -208,12 +230,12 @@
 Feld eines Eintrags nach dem initialen Setzen nie wieder gendert,
 wodurch diese Eintragnummer ohne jede Konfigurationsdatei reserviert wird.
 .B ut_id
-zu lschen fhrt zu race conditions und resultiert in beschdigten utmp
-Eintrgen und potentiellen Sicherheitslchern.  Die SYSV Semantik verlangt
+zu lschen fhrt zu Race-Conditions und resultiert in beschdigten utmp
+Eintrgen und potentiellen Sicherheitslchern.  Die SYSV-Semantik verlangt
 nicht, die oben angegebenen Felder mit Null-Bytes zu lschen, aber es
-erlaubt viele Programme zu benutzen, die die BSD Semantik benutzen und
-utmp nicht verndern.  Wie beschrieben, benutzt Linux die BSD Konventionen
-fuer Leitungsnamen.  SYSV benutzt nut das Typ-Feld um solche Eintrge zu
+erlaubt viele Programme zu benutzen, die die BSD-Semantik benutzen und
+utmp nicht verndern.  Wie beschrieben, benutzt Linux die BSD-Konventionen
+fr Leitungsnamen.  SYSV benutzt nur das Typ-Feld um solche Eintrge zu
 markieren und zeichnet Meldungen wie \fB"new time"\fP im Leitungs-Feld
 auf.  SYSV hat ein Feld mehr, um den Exit-Status von beendeten Prozessen
 aufzuzeichnen.
@@ -231,6 +253,9 @@
 .SH EINSCHRNKUNGEN
 Das Dateiformat ist maschinengebunden.  Es wird daher empfohlen, da
 es nur auf der Architektur verarbeitet wird, auf der es erstellt wurde.
+.SH FEHLER
+Ein Groteil der obigen Beschreibung basiert auf der libc5.  Aktuelle
+Versionen knnten inzwischen ein anderes Verfahren verwenden.
 .SH "SIEHE AUCH"
 .BR ac (1),
 .BR date (1),
@@ -238,5 +263,6 @@
 .BR login (1),
 .BR who (1),
 .BR getutent (3),
+.BR updwtmp (3),
 .BR init (8).