/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 plugins.d/askpass-fifo.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
<?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 "askpass-fifo">
 
5
<!ENTITY TIMESTAMP "2008-10-04">
 
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@fukt.bsnet.se</email>
 
23
        </address>
 
24
      </author>
 
25
      <author>
 
26
        <firstname>Teddy</firstname>
 
27
        <surname>Hogeborn</surname>
 
28
        <address>
 
29
          <email>teddy@fukt.bsnet.se</email>
 
30
        </address>
 
31
      </author>
 
32
    </authorgroup>
 
33
    <copyright>
 
34
      <year>2008</year>
 
35
      <holder>Teddy Hogeborn</holder>
 
36
      <holder>Björn Påhlsson</holder>
 
37
    </copyright>
 
38
    <xi:include href="../legalnotice.xml"/>
 
39
  </refentryinfo>
 
40
  
 
41
  <refmeta>
 
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
 
43
    <manvolnum>8mandos</manvolnum>
 
44
  </refmeta>
 
45
  
 
46
  <refnamediv>
 
47
    <refname><command>&COMMANDNAME;</command></refname>
 
48
    <refpurpose>Mandos plugin to get a password from a
 
49
    FIFO.</refpurpose>
 
50
  </refnamediv>
 
51
  
 
52
  <refsynopsisdiv>
 
53
    <cmdsynopsis>
 
54
      <command>&COMMANDNAME;</command>
 
55
    </cmdsynopsis>
 
56
  </refsynopsisdiv>
 
57
  
 
58
  <refsect1 id="description">
 
59
    <title>DESCRIPTION</title>
 
60
    <para>
 
61
      This program reads a password from a <acronym>FIFO</acronym> and
 
62
      outputs it to standard output.
 
63
    </para>
 
64
    <para>
 
65
      This program is not very useful on its own.  This program is
 
66
      really meant to run as a plugin in the <application
 
67
      >Mandos</application> client-side system, where it is used as a
 
68
      fallback and alternative to retrieving passwords from a
 
69
      <application >Mandos</application> server.
 
70
    </para>
 
71
    <para>
 
72
      This program is meant to be imitate a feature of the
 
73
      <command>askpass</command> program, so that programs written to
 
74
      interface with it can keep working under the
 
75
      <application>Mandos</application> system.
 
76
    </para>
 
77
  </refsect1>
 
78
  
 
79
  <refsect1 id="options">
 
80
    <title>OPTIONS</title>
 
81
    <para>
 
82
      This program takes no options.
 
83
    </para>
 
84
  </refsect1>
 
85
  
 
86
  <refsect1 id="exit_status">
 
87
    <title>EXIT STATUS</title>
 
88
    <para>
 
89
      If exit status is 0, the output from the program is the password
 
90
      as it was read.  Otherwise, if exit status is other than 0, the
 
91
      program was interrupted or encountered an error, and any output
 
92
      so far could be corrupt and/or truncated, and should therefore
 
93
      be ignored.
 
94
    </para>
 
95
  </refsect1>
 
96
  
 
97
  <refsect1 id="files">
 
98
    <title>FILES</title>
 
99
    <variablelist>
 
100
      <varlistentry>
 
101
        <term><filename>/lib/cryptsetup/passfifo</filename></term>
 
102
        <listitem>
 
103
          <para>
 
104
            This is the <acronym>FIFO</acronym> where this program
 
105
            will read the password.  If it does not exist, it will be
 
106
            created.
 
107
          </para>
 
108
        </listitem>
 
109
      </varlistentry>
 
110
    </variablelist>
 
111
  </refsect1>
 
112
  
 
113
  <refsect1 id="example">
 
114
    <title>EXAMPLE</title>
 
115
    <para>
 
116
      Note that normally, this program will not be invoked directly,
 
117
      but instead started by the Mandos <citerefentry><refentrytitle
 
118
      >plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
 
119
      </citerefentry>.
 
120
    </para>
 
121
    <informalexample>
 
122
      <para>
 
123
        This program takes no options.
 
124
      </para>
 
125
      <para>
 
126
        <userinput>&COMMANDNAME;</userinput>
 
127
      </para>
 
128
    </informalexample>
 
129
  </refsect1>
 
130
  
 
131
  <refsect1 id="security">
 
132
    <title>SECURITY</title>
 
133
    <para>
 
134
      The only thing that could be considered worthy of note is
 
135
      this:  This program is meant to be run by <citerefentry>
 
136
      <refentrytitle>plugin-runner</refentrytitle><manvolnum
 
137
      >8mandos</manvolnum></citerefentry>, and will, when run
 
138
      standalone, outside, in a normal environment, immediately output
 
139
      on its standard output any presumably secret password it just
 
140
      received.  Therefore, when running this program standalone
 
141
      (which should never normally be done), take care not to type in
 
142
      any real secret password by force of habit, since it would then
 
143
      immediately be shown as output.
 
144
    </para>
 
145
  </refsect1>
 
146
  
 
147
  <refsect1 id="see_also">
 
148
    <title>SEE ALSO</title>
 
149
    <para>
 
150
      <citerefentry><refentrytitle>fifo</refentrytitle>
 
151
      <manvolnum>7</manvolnum></citerefentry>,
 
152
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
 
153
      <manvolnum>8mandos</manvolnum></citerefentry>
 
154
    </para>
 
155
  </refsect1>
 
156
</refentry>
 
157
<!-- Local Variables: -->
 
158
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
 
159
<!-- time-stamp-end: "[\"']>" -->
 
160
<!-- time-stamp-format: "%:y-%02m-%02d" -->
 
161
<!-- End: -->