/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 plugins.d/password-prompt.xml

  • Committer: Teddy Hogeborn
  • Date: 2015-08-10 09:00:23 UTC
  • Revision ID: teddy@recompile.se-20150810090023-fz6vjqr7zf33e2tf
Support the standard org.freedesktop.DBus.ObjectManager interface.

Now that the D-Bus standard has an interface to keep track of new and
removed objects, use that instead of our own methods.  This deprecates
our D-Bus methods "GetAllClients" and "GetAllClientsWithProperties"
and the signals "ClientAdded" and "ClientRemoved", all on the server
interface "se.recompile.Mandos".

* DBUS-API: Removed references to deprecated methods and signals;
  insert reference to the org.freedesktop.DBus.ObjectManager
  interface.
* mandos (DBusObjectWithProperties._get_all_interface_names): New.
  (dbus.OBJECT_MANAGER_IFACE): If not present, monkey patch.
  (DBusObjectWithObjectManager): New.
  (main/MandosDBusService): Inherit from DBusObjectWithObjectManager.
  (main/MandosDBusService.ClientRemoved): Annotate as deprecated.
  (main/MandosDBusService.GetAllClients): - '' -
  (main/MandosDBusService.GetAllClientsWithProperties): Annotate as
                                                        deprecated.
                                                        Also only
                                                        return
                                                        properties on
                                                        client
                                                        interface.
  (main/MandosDBusService.RemoveClient): Call client_removed_signal
                                         instead of ClientRemoved.
  (main/MandosDBusService.GetManagedObjects): New.
  (main/MandosDBusService.client_added_signal): New.
  (main/MandosDBusService.client_removed_signal): - '' -
  (main/cleanup): Call "client_removed_signal" instead of sending
                  "ClientRemoved" signal directly.
  (main): Call "client_added_signal" instead of sending "ClientAdded"
          signal directly.
* mandos-ctl: Use GetManagedObjects instead of
              GetAllClientsWithProperties.  Also, show better error
              message in case of failure to connect to the D-Bus

* mandos-monitor (MandosClientPropertyCache.properties_changed):
  Bug fix; only update properties on client interface.
  (UserInterface.find_and_remove_client): Change to accept arguments
                                          from InterfacesRemoved
                                          signal.  Also, bug fix:
                                          working error message when
                                          removing unknown client.
  (UserInterface.add_new_client): Change to accept arguments from
                                  InterfacesRemoved signal.  Pass
                                  properties to MandosClientWidget
                                  constructor.
  (UserInterface.run): Connect find_and_remove_client method to
                       InterfacesRemoved signal and the add_new_client
                       method to the InterfacesAdded signal.

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 "password-prompt">
6
 
<!ENTITY TIMESTAMP "2008-08-29">
 
5
<!ENTITY TIMESTAMP "2015-07-20">
 
6
<!ENTITY % common SYSTEM "../common.ent">
 
7
%common;
7
8
]>
8
9
 
9
 
<refentry>
 
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
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>
18
19
        <firstname>Björn</firstname>
19
20
        <surname>Påhlsson</surname>
20
21
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
22
23
        </address>
23
24
      </author>
24
25
      <author>
25
26
        <firstname>Teddy</firstname>
26
27
        <surname>Hogeborn</surname>
27
28
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
29
30
        </address>
30
31
      </author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
 
36
      <year>2010</year>
 
37
      <year>2011</year>
 
38
      <year>2012</year>
 
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
34
42
      <holder>Teddy Hogeborn</holder>
35
43
      <holder>Björn Påhlsson</holder>
36
44
    </copyright>
37
 
    <legalnotice>
38
 
      <para>
39
 
        This manual page is free software: you can redistribute it
40
 
        and/or modify it under the terms of the GNU General Public
41
 
        License as published by the Free Software Foundation,
42
 
        either version 3 of the License, or (at your option) any
43
 
        later version.
44
 
      </para>
45
 
      
46
 
      <para>
47
 
        This manual page is distributed in the hope that it will
48
 
        be useful, but WITHOUT ANY WARRANTY; without even the
49
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
50
 
        PARTICULAR PURPOSE.  See the GNU General Public License
51
 
        for more details.
52
 
      </para>
53
 
      
54
 
      <para>
55
 
        You should have received a copy of the GNU General Public
56
 
        License along with this program; If not, see
57
 
        <ulink url="http://www.gnu.org/licenses/"/>.
58
 
      </para>
59
 
    </legalnotice>
 
45
    <xi:include href="../legalnotice.xml"/>
60
46
  </refentryinfo>
61
47
  
62
48
  <refmeta>
73
59
    <cmdsynopsis>
74
60
      <command>&COMMANDNAME;</command>
75
61
      <group choice="opt">
76
 
        <arg choice="plain"><option>-p <replaceable
 
62
        <arg choice="plain"><option>--prefix <replaceable
77
63
        >PREFIX</replaceable></option></arg>
78
 
        <arg choice="plain"><option>--prefix </option><replaceable
 
64
        <arg choice="plain"><option>-p </option><replaceable
79
65
        >PREFIX</replaceable></arg>
80
66
      </group>
 
67
      <sbr/>
81
68
      <arg choice="opt"><option>--debug</option></arg>
82
69
    </cmdsynopsis>
83
70
    <cmdsynopsis>
84
71
      <command>&COMMANDNAME;</command>
85
72
      <group choice="req">
 
73
        <arg choice="plain"><option>--help</option></arg>
86
74
        <arg choice="plain"><option>-?</option></arg>
87
 
        <arg choice="plain"><option>--help</option></arg>
88
75
      </group>
89
76
    </cmdsynopsis>
90
77
    <cmdsynopsis>
94
81
    <cmdsynopsis>
95
82
      <command>&COMMANDNAME;</command>
96
83
      <group choice="req">
 
84
        <arg choice="plain"><option>--version</option></arg>
97
85
        <arg choice="plain"><option>-V</option></arg>
98
 
        <arg choice="plain"><option>--version</option></arg>
99
86
      </group>
100
 
    </cmdsynopsis>    
 
87
    </cmdsynopsis>
101
88
  </refsynopsisdiv>
102
89
  
103
90
  <refsect1 id="description">
104
91
    <title>DESCRIPTION</title>
105
92
    <para>
106
93
      All <command>&COMMANDNAME;</command> does is prompt for a
107
 
      password and output any given password to standard output.  This
108
 
      is not very useful on its own.  This program is really meant to
109
 
      run as a plugin in the <application>Mandos</application>
110
 
      client-side system, where it is used as a fallback and
111
 
      alternative to retriving passwords from a <application
112
 
      >Mandos</application> server.
 
94
      password and output any given password to standard output.
 
95
    </para>
 
96
    <para>
 
97
      This program is not very useful on its own.  This program is
 
98
      really meant to run as a plugin in the <application
 
99
      >Mandos</application> client-side system, where it is used as a
 
100
      fallback and alternative to retrieving passwords from a
 
101
      <application >Mandos</application> server.
113
102
    </para>
114
103
    <para>
115
104
      This program is little more than a <citerefentry><refentrytitle
133
122
    
134
123
    <variablelist>
135
124
      <varlistentry>
136
 
        <term><option>-p</option> <replaceable>PREFIX</replaceable
137
 
        ></term>
138
 
        <term><option>--prefix=</option><replaceable
139
 
        >PREFIX</replaceable></term>
 
125
        <term><option>--prefix=<replaceable
 
126
        >PREFIX</replaceable></option></term>
 
127
        <term><option>-p
 
128
        <replaceable>PREFIX</replaceable></option></term>
140
129
        <listitem>
141
130
          <para>
142
131
            Prefix string shown before the password prompt.
156
145
      </varlistentry>
157
146
      
158
147
      <varlistentry>
 
148
        <term><option>--help</option></term>
159
149
        <term><option>-?</option></term>
160
 
        <term><option>--help</option></term>
161
150
        <listitem>
162
151
          <para>
163
152
            Gives a help message about options and their meanings.
175
164
      </varlistentry>
176
165
      
177
166
      <varlistentry>
 
167
        <term><option>--version</option></term>
178
168
        <term><option>-V</option></term>
179
 
        <term><option>--version</option></term>
180
169
        <listitem>
181
170
          <para>
182
171
            Prints the program version.
183
172
          </para>
184
173
        </listitem>
185
 
      </varlistentry>            
 
174
      </varlistentry>
186
175
    </variablelist>
187
176
  </refsect1>
188
177
  
200
189
    <title>ENVIRONMENT</title>
201
190
    <variablelist>
202
191
      <varlistentry>
203
 
        <term><envar>cryptsource</envar></term>
204
 
        <term><envar>crypttarget</envar></term>
 
192
        <term><envar>CRYPTTAB_SOURCE</envar></term>
 
193
        <term><envar>CRYPTTAB_NAME</envar></term>
205
194
        <listitem>
206
195
          <para>
207
196
            If set, these environment variables will be assumed to
215
204
          <manvolnum>8mandos</manvolnum></citerefentry>, which will
216
205
          normally have inherited them from
217
206
          <filename>/scripts/local-top/cryptroot</filename> in the
218
 
          initial RAM disk environment, which will have set them from
219
 
          parsing kernel arguments and
 
207
          initial <acronym>RAM</acronym> disk environment, which will
 
208
          have set them from parsing kernel arguments and
220
209
          <filename>/conf/conf.d/cryptroot</filename> (also in the
221
210
          initial RAM disk environment), which in turn will have been
222
211
          created when the initial RAM disk image was created by
239
228
    <para>
240
229
      None are known at this time.
241
230
    </para>
242
 
  </refsect1>  
 
231
  </refsect1>
243
232
  
244
233
  <refsect1 id="example">
245
234
    <title>EXAMPLE</title>
261
250
      <para>
262
251
        Show a prefix before the prompt; in this case, a host name.
263
252
        It might be useful to be reminded of which host needs a
264
 
        password, in case of KVM switches, etc.
 
253
        password, in case of <acronym>KVM</acronym> switches, etc.
265
254
      </para>
266
255
      <para>
267
256
 
291
280
      >plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
292
281
      </citerefentry>, and will, when run standalone, outside, in a
293
282
      normal environment, immediately output on its standard output
294
 
      any presumably secret password it just recieved.  Therefore,
 
283
      any presumably secret password it just received.  Therefore,
295
284
      when running this program standalone (which should never
296
285
      normally be done), take care not to type in any real secret
297
286
      password by force of habit, since it would then immediately be
309
298
  <refsect1 id="see_also">
310
299
    <title>SEE ALSO</title>
311
300
    <para>
 
301
      <citerefentry><refentrytitle>intro</refentrytitle>
 
302
      <manvolnum>8mandos</manvolnum></citerefentry>
312
303
      <citerefentry><refentrytitle>crypttab</refentrytitle>
313
304
      <manvolnum>5</manvolnum></citerefentry>
314
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
305
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
315
306
      <manvolnum>8mandos</manvolnum></citerefentry>
316
307
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
317
308
      <manvolnum>8mandos</manvolnum></citerefentry>,