/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-monitor.xml

  • Committer: Teddy Hogeborn
  • Date: 2019-07-30 17:03:57 UTC
  • Revision ID: teddy@recompile.se-20190730170357-jte0piul5mq7j5pr
Server: Reap zombies created by multiprocessing.Process()

When creating checkers as multiprocessing.Process() objects, the
multiprocessing module also creates a parent process (for the
call_pipe() function) to call the actual checker process, but this
parent process is not reaped.  This is not a huge problem, since the
zombie is always reaped automatically the next time the multiprocess
starts a new process, but the zombies can be up to as many as there
have ever been simultaneous checker processes.  To fix this, the
process object must be join():ed when they report completion of the
child checker process.

* mandos (Client): Fix doc string to correctly state that
                   Client.checker is a multiprocess.Process() and not
                   a subprocess.Popen() object.
  (Client.checker_callback): After the returncode of the checker
                             process has been read, wait for the
                             self.checker Process object to finish by
                             calling join() on it.

Reported-by: Peter Palfrader <weasel@debian.org>

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 
4
<!ENTITY COMMANDNAME "mandos-monitor">
 
5
<!ENTITY TIMESTAMP "2019-02-10">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
 
8
]>
 
9
 
 
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
 
11
  <refentryinfo>
 
12
    <title>Mandos Manual</title>
 
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
 
14
    <productname>Mandos</productname>
 
15
    <productnumber>&version;</productnumber>
 
16
    <date>&TIMESTAMP;</date>
 
17
    <authorgroup>
 
18
      <author>
 
19
        <firstname>Björn</firstname>
 
20
        <surname>Påhlsson</surname>
 
21
        <address>
 
22
          <email>belorn@recompile.se</email>
 
23
        </address>
 
24
      </author>
 
25
      <author>
 
26
        <firstname>Teddy</firstname>
 
27
        <surname>Hogeborn</surname>
 
28
        <address>
 
29
          <email>teddy@recompile.se</email>
 
30
        </address>
 
31
      </author>
 
32
    </authorgroup>
 
33
    <copyright>
 
34
      <year>2010</year>
 
35
      <year>2011</year>
 
36
      <year>2012</year>
 
37
      <year>2013</year>
 
38
      <year>2014</year>
 
39
      <year>2015</year>
 
40
      <year>2016</year>
 
41
      <year>2017</year>
 
42
      <year>2018</year>
 
43
      <year>2019</year>
 
44
      <holder>Teddy Hogeborn</holder>
 
45
      <holder>Björn Påhlsson</holder>
 
46
    </copyright>
 
47
    <xi:include href="legalnotice.xml"/>
 
48
  </refentryinfo>
 
49
  
 
50
  <refmeta>
 
51
    <refentrytitle>&COMMANDNAME;</refentrytitle>
 
52
    <manvolnum>8</manvolnum>
 
53
  </refmeta>
 
54
  
 
55
  <refnamediv>
 
56
    <refname><command>&COMMANDNAME;</command></refname>
 
57
    <refpurpose>
 
58
      Text-based GUI to control the Mandos server.
 
59
    </refpurpose>
 
60
  </refnamediv>
 
61
  
 
62
  <refsynopsisdiv>
 
63
    <cmdsynopsis>
 
64
      <command>&COMMANDNAME;</command>
 
65
    </cmdsynopsis>
 
66
  </refsynopsisdiv>
 
67
  
 
68
  <refsect1 id="description">
 
69
    <title>DESCRIPTION</title>
 
70
    <para>
 
71
      <command>&COMMANDNAME;</command> is an interactive program to
 
72
      monitor and control the operations of the Mandos server (see
 
73
      <citerefentry><refentrytitle>mandos</refentrytitle><manvolnum
 
74
      >8</manvolnum></citerefentry>).
 
75
    </para>
 
76
  </refsect1>
 
77
  
 
78
  <refsect1 id="purpose">
 
79
    <title>PURPOSE</title>
 
80
    <para>
 
81
      The purpose of this is to enable <emphasis>remote and unattended
 
82
      rebooting</emphasis> of client host computer with an
 
83
      <emphasis>encrypted root file system</emphasis>.  See <xref
 
84
      linkend="overview"/> for details.
 
85
    </para>
 
86
  </refsect1>
 
87
  
 
88
  <refsect1 id="overview">
 
89
    <title>OVERVIEW</title>
 
90
    <xi:include href="overview.xml"/>
 
91
    <para>
 
92
      This program is used to monitor and control the Mandos server.
 
93
      In particular, it can be used to approve Mandos clients which
 
94
      have been configured to require approval.  It also shows all
 
95
      significant events reported by the Mandos server.
 
96
    </para>
 
97
  </refsect1>
 
98
  
 
99
  <refsect1 id="keys">
 
100
    <title>KEYS</title>
 
101
    <para>
 
102
      This program is used to monitor and control the Mandos server.
 
103
      In particular, it can be used to approve Mandos clients which
 
104
      have been configured to require approval.  It also shows all
 
105
      significant events reported by the Mandos server.
 
106
    </para>
 
107
    <table>
 
108
      <title>Global Keys</title><tgroup cols="2"><thead>
 
109
      <row>
 
110
        <entry>Keys</entry>
 
111
        <entry>Function</entry>
 
112
      </row>
 
113
      </thead><tbody>
 
114
      <row>
 
115
        <entry>q, Q</entry>
 
116
        <entry>Quit</entry>
 
117
      </row>
 
118
      <row>
 
119
        <entry>Ctrl-L</entry>
 
120
        <entry>Redraw screen</entry>
 
121
      </row>
 
122
      <row>
 
123
        <entry>?, F1</entry>
 
124
        <entry>Show help</entry>
 
125
      </row>
 
126
      <row>
 
127
        <entry>l, D</entry>
 
128
        <entry>Toggle log window</entry>
 
129
      </row>
 
130
      <row>
 
131
        <entry>TAB</entry>
 
132
        <entry>Switch window</entry>
 
133
      </row>
 
134
      <row>
 
135
        <entry>w, i</entry>
 
136
        <entry>Toggle log window line wrap</entry>
 
137
      </row>
 
138
      <row>
 
139
        <entry>v</entry>
 
140
        <entry>Toggle verbose logging</entry>
 
141
      </row>
 
142
      <row>
 
143
        <entry>Up, Ctrl-P, k</entry>
 
144
        <entry>Move up a line</entry>
 
145
      </row>
 
146
      <row>
 
147
        <entry>Down, Ctrl-N, j</entry>
 
148
        <entry>Move down a line</entry>
 
149
      </row>
 
150
      <row>
 
151
        <entry>PageUp, Meta-V, b</entry>
 
152
        <entry>Move up a page</entry>
 
153
      </row>
 
154
      <row>
 
155
        <entry>PageDown, Ctrl-V, SPACE, f</entry>
 
156
        <entry>Move down a page</entry>
 
157
      </row>
 
158
    </tbody></tgroup></table>
 
159
    <table>
 
160
      <title>Client List Keys</title><tgroup cols="2"><thead>
 
161
      <row>
 
162
        <entry>Keys</entry>
 
163
        <entry>Function</entry>
 
164
      </row>
 
165
      </thead><tbody>
 
166
      <row>
 
167
        <entry>+</entry>
 
168
        <entry>Enable client</entry>
 
169
      </row>
 
170
      <row>
 
171
        <entry>-</entry>
 
172
        <entry>Disable client</entry>
 
173
      </row>
 
174
      <row>
 
175
        <entry>a</entry>
 
176
        <entry>Approve client</entry>
 
177
      </row>
 
178
      <row>
 
179
        <entry>d</entry>
 
180
        <entry>Deny client</entry>
 
181
      </row>
 
182
      <row>
 
183
        <entry>R, _, Ctrl-K</entry>
 
184
        <entry>Remove client</entry>
 
185
      </row>
 
186
      <row>
 
187
        <entry>s</entry>
 
188
        <entry>Start checker for client</entry>
 
189
      </row>
 
190
      <row>
 
191
        <entry>S</entry>
 
192
        <entry>Stop checker for client</entry>
 
193
      </row>
 
194
      <row>
 
195
        <entry>C</entry>
 
196
        <entry>Force a successful check for this client.</entry>
 
197
      </row>
 
198
    </tbody></tgroup></table>
 
199
  </refsect1>
 
200
  
 
201
  <refsect1 id="bugs">
 
202
    <title>BUGS</title>
 
203
    <para>
 
204
      This program can currently only be used to monitor and control a
 
205
      Mandos server with the default D-Bus bus name of
 
206
      <quote>se.recompile.Mandos</quote>.
 
207
    </para>
 
208
    <xi:include href="bugs.xml"/>
 
209
  </refsect1>
 
210
  
 
211
  <refsect1 id="example">
 
212
    <title>EXAMPLE</title>
 
213
    <informalexample>
 
214
      <para>
 
215
        This program takes no options:
 
216
      </para>
 
217
      <para>
 
218
        <userinput>&COMMANDNAME;</userinput>
 
219
      </para>
 
220
    </informalexample>
 
221
  </refsect1>
 
222
  
 
223
  <refsect1 id="security">
 
224
    <title>SECURITY</title>
 
225
    <para>
 
226
      This program must be permitted to access the Mandos server via
 
227
      the D-Bus interface.  This normally requires the root user, but
 
228
      could be configured otherwise by reconfiguring the D-Bus server.
 
229
    </para>
 
230
  </refsect1>
 
231
  
 
232
  <refsect1 id="see_also">
 
233
    <title>SEE ALSO</title>
 
234
    <para>
 
235
      <citerefentry><refentrytitle>intro</refentrytitle>
 
236
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
237
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
238
      <manvolnum>8</manvolnum></citerefentry>,
 
239
      <citerefentry><refentrytitle>mandos-ctl</refentrytitle>
 
240
      <manvolnum>8</manvolnum></citerefentry>
 
241
    </para>
 
242
  </refsect1>
 
243
  
 
244
</refentry>
 
245
<!-- Local Variables: -->
 
246
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
 
247
<!-- time-stamp-end: "[\"']>" -->
 
248
<!-- time-stamp-format: "%:y-%02m-%02d" -->
 
249
<!-- End: -->