/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: 2016-03-09 21:23:21 UTC
  • Revision ID: teddy@recompile.se-20160309212321-2qlkzj9tecepc8xq
Server: Add Python 3 compatibility

Add Python 3 compatibility by not using the python-avahi module.  Also
fix miscellaneous things which differs in Python 3.  Especially hard
to fix is loading and saving clients data between Python 3 and 2,
since pickle formats have problems with strings.

* INSTALL: Remove python-avahi (and change python-gobject to
  python-gi, which is preferred now).
* debian/control (Source: mandos/Build-Depends-Indep): Remove
  "python-avahi".
* mandos: Wrap future_builtins import in try-except clause.  Do not
  import avahi module.  Use codecs.decode(..., "base64) instead of
  .decode("base64).  Use .keys(), .values(), and .items() instead of
  .iterkeys(), .itervalues(), and .iteritems().
  (alternate_dbus_interfaces/wrapper): Python 3 still requires the
  "black magic", but luckily it still works.  The Python 3 type()
  constructor requires first argument to be a string, not a byte
  string.
  (copy_function): New.  Use throughout.
  (Avahi, avahi): New class and global variable.
  (GnuTLS._need_version): Changed to be a byte string.
  (main): Decode byte strings loaded from pickle file.
  (main/cleanup): Dump using pickle prototoc 2 which Python 2 can
  read.

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 "2016-03-05">
 
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>
 
42
      <year>2016</year>
34
43
      <holder>Teddy Hogeborn</holder>
35
44
      <holder>Björn Påhlsson</holder>
36
45
    </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>
 
46
    <xi:include href="../legalnotice.xml"/>
60
47
  </refentryinfo>
61
48
  
62
49
  <refmeta>
73
60
    <cmdsynopsis>
74
61
      <command>&COMMANDNAME;</command>
75
62
      <group choice="opt">
76
 
        <arg choice="plain"><option>-p <replaceable
 
63
        <arg choice="plain"><option>--prefix <replaceable
77
64
        >PREFIX</replaceable></option></arg>
78
 
        <arg choice="plain"><option>--prefix </option><replaceable
 
65
        <arg choice="plain"><option>-p </option><replaceable
79
66
        >PREFIX</replaceable></arg>
80
67
      </group>
 
68
      <sbr/>
81
69
      <arg choice="opt"><option>--debug</option></arg>
82
70
    </cmdsynopsis>
83
71
    <cmdsynopsis>
84
72
      <command>&COMMANDNAME;</command>
85
73
      <group choice="req">
 
74
        <arg choice="plain"><option>--help</option></arg>
86
75
        <arg choice="plain"><option>-?</option></arg>
87
 
        <arg choice="plain"><option>--help</option></arg>
88
76
      </group>
89
77
    </cmdsynopsis>
90
78
    <cmdsynopsis>
94
82
    <cmdsynopsis>
95
83
      <command>&COMMANDNAME;</command>
96
84
      <group choice="req">
 
85
        <arg choice="plain"><option>--version</option></arg>
97
86
        <arg choice="plain"><option>-V</option></arg>
98
 
        <arg choice="plain"><option>--version</option></arg>
99
87
      </group>
100
 
    </cmdsynopsis>    
 
88
    </cmdsynopsis>
101
89
  </refsynopsisdiv>
102
90
  
103
91
  <refsect1 id="description">
104
92
    <title>DESCRIPTION</title>
105
93
    <para>
106
94
      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.
 
95
      password and output any given password to standard output.
 
96
    </para>
 
97
    <para>
 
98
      This program is not very useful on its own.  This program is
 
99
      really meant to run as a plugin in the <application
 
100
      >Mandos</application> client-side system, where it is used as a
 
101
      fallback and alternative to retrieving passwords from a
 
102
      <application >Mandos</application> server.
113
103
    </para>
114
104
    <para>
115
105
      This program is little more than a <citerefentry><refentrytitle
133
123
    
134
124
    <variablelist>
135
125
      <varlistentry>
136
 
        <term><option>-p</option> <replaceable>PREFIX</replaceable
137
 
        ></term>
138
 
        <term><option>--prefix=</option><replaceable
139
 
        >PREFIX</replaceable></term>
 
126
        <term><option>--prefix=<replaceable
 
127
        >PREFIX</replaceable></option></term>
 
128
        <term><option>-p
 
129
        <replaceable>PREFIX</replaceable></option></term>
140
130
        <listitem>
141
131
          <para>
142
132
            Prefix string shown before the password prompt.
156
146
      </varlistentry>
157
147
      
158
148
      <varlistentry>
 
149
        <term><option>--help</option></term>
159
150
        <term><option>-?</option></term>
160
 
        <term><option>--help</option></term>
161
151
        <listitem>
162
152
          <para>
163
153
            Gives a help message about options and their meanings.
175
165
      </varlistentry>
176
166
      
177
167
      <varlistentry>
 
168
        <term><option>--version</option></term>
178
169
        <term><option>-V</option></term>
179
 
        <term><option>--version</option></term>
180
170
        <listitem>
181
171
          <para>
182
172
            Prints the program version.
183
173
          </para>
184
174
        </listitem>
185
 
      </varlistentry>            
 
175
      </varlistentry>
186
176
    </variablelist>
187
177
  </refsect1>
188
178
  
200
190
    <title>ENVIRONMENT</title>
201
191
    <variablelist>
202
192
      <varlistentry>
203
 
        <term><envar>cryptsource</envar></term>
204
 
        <term><envar>crypttarget</envar></term>
 
193
        <term><envar>CRYPTTAB_SOURCE</envar></term>
 
194
        <term><envar>CRYPTTAB_NAME</envar></term>
205
195
        <listitem>
206
196
          <para>
207
197
            If set, these environment variables will be assumed to
215
205
          <manvolnum>8mandos</manvolnum></citerefentry>, which will
216
206
          normally have inherited them from
217
207
          <filename>/scripts/local-top/cryptroot</filename> in the
218
 
          initial RAM disk environment, which will have set them from
219
 
          parsing kernel arguments and
 
208
          initial <acronym>RAM</acronym> disk environment, which will
 
209
          have set them from parsing kernel arguments and
220
210
          <filename>/conf/conf.d/cryptroot</filename> (also in the
221
211
          initial RAM disk environment), which in turn will have been
222
212
          created when the initial RAM disk image was created by
236
226
  
237
227
  <refsect1 id="bugs">
238
228
    <title>BUGS</title>
239
 
    <para>
240
 
      None are known at this time.
241
 
    </para>
242
 
  </refsect1>  
 
229
    <xi:include href="../bugs.xml"/>
 
230
  </refsect1>
243
231
  
244
232
  <refsect1 id="example">
245
233
    <title>EXAMPLE</title>
261
249
      <para>
262
250
        Show a prefix before the prompt; in this case, a host name.
263
251
        It might be useful to be reminded of which host needs a
264
 
        password, in case of KVM switches, etc.
 
252
        password, in case of <acronym>KVM</acronym> switches, etc.
265
253
      </para>
266
254
      <para>
267
255
 
291
279
      >plugin-runner</refentrytitle><manvolnum>8mandos</manvolnum>
292
280
      </citerefentry>, and will, when run standalone, outside, in a
293
281
      normal environment, immediately output on its standard output
294
 
      any presumably secret password it just recieved.  Therefore,
 
282
      any presumably secret password it just received.  Therefore,
295
283
      when running this program standalone (which should never
296
284
      normally be done), take care not to type in any real secret
297
285
      password by force of habit, since it would then immediately be
309
297
  <refsect1 id="see_also">
310
298
    <title>SEE ALSO</title>
311
299
    <para>
 
300
      <citerefentry><refentrytitle>intro</refentrytitle>
 
301
      <manvolnum>8mandos</manvolnum></citerefentry>
312
302
      <citerefentry><refentrytitle>crypttab</refentrytitle>
313
303
      <manvolnum>5</manvolnum></citerefentry>
314
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
304
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
315
305
      <manvolnum>8mandos</manvolnum></citerefentry>
316
306
      <citerefentry><refentrytitle>plugin-runner</refentrytitle>
317
307
      <manvolnum>8mandos</manvolnum></citerefentry>,