/mandos/release

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

« back to all changes in this revision

Viewing changes to mandos.xml

First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
4
<!ENTITY COMMANDNAME "mandos">
6
 
<!ENTITY TIMESTAMP "2008-09-05">
 
5
<!ENTITY TIMESTAMP "2008-10-03">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
 
  <refentryinfo>
 
11
   <refentryinfo>
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
36
37
    </copyright>
37
38
    <xi:include href="legalnotice.xml"/>
38
39
  </refentryinfo>
39
 
 
 
40
  
40
41
  <refmeta>
41
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
43
    <manvolnum>8</manvolnum>
48
49
      Gives encrypted passwords to authenticated Mandos clients
49
50
    </refpurpose>
50
51
  </refnamediv>
51
 
 
 
52
  
52
53
  <refsynopsisdiv>
53
54
    <cmdsynopsis>
54
55
      <command>&COMMANDNAME;</command>
100
101
      <arg choice="plain"><option>--check</option></arg>
101
102
    </cmdsynopsis>
102
103
  </refsynopsisdiv>
103
 
 
 
104
  
104
105
  <refsect1 id="description">
105
106
    <title>DESCRIPTION</title>
106
107
    <para>
186
187
          <xi:include href="mandos-options.xml" xpointer="debug"/>
187
188
        </listitem>
188
189
      </varlistentry>
189
 
 
 
190
      
190
191
      <varlistentry>
191
192
        <term><option>--priority <replaceable>
192
193
        PRIORITY</replaceable></option></term>
194
195
          <xi:include href="mandos-options.xml" xpointer="priority"/>
195
196
        </listitem>
196
197
      </varlistentry>
197
 
 
 
198
      
198
199
      <varlistentry>
199
200
        <term><option>--servicename
200
201
        <replaceable>NAME</replaceable></option></term>
203
204
                      xpointer="servicename"/>
204
205
        </listitem>
205
206
      </varlistentry>
206
 
 
 
207
      
207
208
      <varlistentry>
208
209
        <term><option>--configdir
209
210
        <replaceable>DIRECTORY</replaceable></option></term>
218
219
          </para>
219
220
        </listitem>
220
221
      </varlistentry>
221
 
 
 
222
      
222
223
      <varlistentry>
223
224
        <term><option>--version</option></term>
224
225
        <listitem>
229
230
      </varlistentry>
230
231
    </variablelist>
231
232
  </refsect1>
232
 
 
 
233
  
233
234
  <refsect1 id="overview">
234
235
    <title>OVERVIEW</title>
235
236
    <xi:include href="overview.xml"/>
239
240
      <acronym>RAM</acronym> disk environment.
240
241
    </para>
241
242
  </refsect1>
242
 
 
 
243
  
243
244
  <refsect1 id="protocol">
244
245
    <title>NETWORK PROTOCOL</title>
245
246
    <para>
297
298
      </row>
298
299
    </tbody></tgroup></table>
299
300
  </refsect1>
300
 
 
 
301
  
301
302
  <refsect1 id="checking">
302
303
    <title>CHECKING</title>
303
304
    <para>
311
312
      <manvolnum>5</manvolnum></citerefentry>.
312
313
    </para>
313
314
  </refsect1>
314
 
 
 
315
  
315
316
  <refsect1 id="logging">
316
317
    <title>LOGGING</title>
317
318
    <para>
321
322
      and also show them on the console.
322
323
    </para>
323
324
  </refsect1>
324
 
 
 
325
  
325
326
  <refsect1 id="exit_status">
326
327
    <title>EXIT STATUS</title>
327
328
    <para>
329
330
      critical error is encountered.
330
331
    </para>
331
332
  </refsect1>
332
 
 
 
333
  
333
334
  <refsect1 id="environment">
334
335
    <title>ENVIRONMENT</title>
335
336
    <variablelist>
349
350
      </varlistentry>
350
351
    </variablelist>
351
352
  </refsect1>
352
 
 
353
 
  <refsect1 id="file">
 
353
  
 
354
  <refsect1 id="files">
354
355
    <title>FILES</title>
355
356
    <para>
356
357
      Use the <option>--configdir</option> option to change where
420
421
      Currently, if a client is declared <quote>invalid</quote> due to
421
422
      having timed out, the server does not record this fact onto
422
423
      permanent storage.  This has some security implications, see
423
 
      <xref linkend="CLIENTS"/>.
 
424
      <xref linkend="clients"/>.
424
425
    </para>
425
426
    <para>
426
427
      There is currently no way of querying the server of the current
479
480
      </para>
480
481
    </informalexample>
481
482
  </refsect1>
482
 
 
 
483
  
483
484
  <refsect1 id="security">
484
485
    <title>SECURITY</title>
485
 
    <refsect2 id="SERVER">
 
486
    <refsect2 id="server">
486
487
      <title>SERVER</title>
487
488
      <para>
488
489
        Running this <command>&COMMANDNAME;</command> server program
491
492
        soon after startup.
492
493
      </para>
493
494
    </refsect2>
494
 
    <refsect2 id="CLIENTS">
 
495
    <refsect2 id="clients">
495
496
      <title>CLIENTS</title>
496
497
      <para>
497
498
        The server only gives out its stored data to clients which
504
505
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
505
506
        <manvolnum>5</manvolnum></citerefentry>)
506
507
        <emphasis>must</emphasis> be made non-readable by anyone
507
 
        except the user running the server.
 
508
        except the user starting the server (usually root).
508
509
      </para>
509
510
      <para>
510
511
        As detailed in <xref linkend="checking"/>, the status of all
529
530
      </para>
530
531
      <para>
531
532
        For more details on client-side security, see
532
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
533
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
533
534
        <manvolnum>8mandos</manvolnum></citerefentry>.
534
535
      </para>
535
536
    </refsect2>
536
537
  </refsect1>
537
 
 
 
538
  
538
539
  <refsect1 id="see_also">
539
540
    <title>SEE ALSO</title>
540
541
    <para>
543
544
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
544
545
        <refentrytitle>mandos.conf</refentrytitle>
545
546
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
546
 
        <refentrytitle>password-request</refentrytitle>
 
547
        <refentrytitle>mandos-client</refentrytitle>
547
548
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
548
549
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
549
550
      </citerefentry>