/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-clients.conf.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:
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY CONFNAME "mandos-clients.conf">
5
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
6
 
<!ENTITY TIMESTAMP "2019-02-10">
 
6
<!ENTITY TIMESTAMP "2016-03-05">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
41
41
      <year>2014</year>
42
42
      <year>2015</year>
43
43
      <year>2016</year>
44
 
      <year>2017</year>
45
 
      <year>2018</year>
46
 
      <year>2019</year>
47
44
      <holder>Teddy Hogeborn</holder>
48
45
      <holder>Björn Påhlsson</holder>
49
46
    </copyright>
187
184
            >--</option> %%(host)s</literal></quote>.  Note that
188
185
            <command>mandos-keygen</command>, when generating output
189
186
            to be inserted into this file, normally looks for an SSH
190
 
            server on the Mandos client, and, if it finds one, outputs
 
187
            server on the Mandos client, and, if it find one, outputs
191
188
            a <option>checker</option> option to check for the
192
 
            client’s SSH key fingerprint – this is more secure against
 
189
            client’s key fingerprint – this is more secure against
193
190
            spoofing.
194
191
          </para>
195
192
          <para>
228
225
        ><replaceable>HEXSTRING</replaceable></option></term>
229
226
        <listitem>
230
227
          <para>
231
 
            This option is <emphasis>required</emphasis> if the
232
 
            <option>key_id</option> is not set, and
233
 
            <emphasis>optional</emphasis> otherwise.
234
 
          </para>
235
 
          <para>
236
 
            This option sets the OpenPGP fingerprint that (before
237
 
            GnuTLS 3.6.0) identified the public key that clients
238
 
            authenticate themselves with through TLS.  The string
239
 
            needs to be in hexadecimal form, but spaces or upper/lower
240
 
            case are not significant.
241
 
          </para>
242
 
        </listitem>
243
 
      </varlistentry>
244
 
      
245
 
      <varlistentry>
246
 
        <term><option>key_id<literal> = </literal
247
 
        ><replaceable>HEXSTRING</replaceable></option></term>
248
 
        <listitem>
249
 
          <para>
250
 
            This option is <emphasis>required</emphasis> if the
251
 
            <option>fingerprint</option> is not set, and
252
 
            <emphasis>optional</emphasis> otherwise.
253
 
          </para>
254
 
          <para>
255
 
            This option sets the certificate key ID that (with GnuTLS
256
 
            3.6.6 or later) identifies the public key that clients
257
 
            authenticate themselves with through TLS.  The string
258
 
            needs to be in hexadecimal form, but spaces or upper/lower
259
 
            case are not significant.
 
228
            This option is <emphasis>required</emphasis>.
 
229
          </para>
 
230
          <para>
 
231
            This option sets the OpenPGP fingerprint that identifies
 
232
            the public key that clients authenticate themselves with
 
233
            through TLS.  The string needs to be in hexidecimal form,
 
234
            but spaces or upper/lower case are not significant.
260
235
          </para>
261
236
        </listitem>
262
237
      </varlistentry>
337
312
          <para>
338
313
            If present, this option must be set to a string of
339
314
            base64-encoded binary data.  It will be decoded and sent
340
 
            to the client matching the above <option>key_id</option>
341
 
            or <option>fingerprint</option>.  This should, of course,
342
 
            be OpenPGP encrypted data, decryptable only by the client.
 
315
            to the client matching the above
 
316
            <option>fingerprint</option>.  This should, of course, be
 
317
            OpenPGP encrypted data, decryptable only by the client.
343
318
            The program <citerefentry><refentrytitle><command
344
319
            >mandos-keygen</command></refentrytitle><manvolnum
345
320
            >8</manvolnum></citerefentry> can, using its
440
415
        <quote><literal>created</literal></quote>,
441
416
        <quote><literal>enabled</literal></quote>,
442
417
        <quote><literal>expires</literal></quote>,
443
 
        <quote><literal>key_id</literal></quote>,
444
418
        <quote><literal>fingerprint</literal></quote>,
445
419
        <quote><literal>host</literal></quote>,
446
420
        <quote><literal>interval</literal></quote>,
503
477
 
504
478
# Client "foo"
505
479
[foo]
506
 
key_id = 788cd77115cd0bb7b2d5e0ae8496f6b48149d5e712c652076b1fd2d957ef7c1f
507
480
fingerprint =  7788 2722 5BA7 DE53 9C5A  7CFA 59CF F7CD BD9A 5920
508
481
secret =
509
482
        hQIOA6QdEjBs2L/HEAf/TCyrDe5Xnm9esa+Pb/vWF9CUqfn4srzVgSu234
526
499
 
527
500
# Client "bar"
528
501
[bar]
529
 
key_id = F90C7A81D72D1EA69A51031A91FF8885F36C8B46D155C8C58709A4C99AE9E361
530
502
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
531
503
secfile = /etc/mandos/bar-secret
532
504
timeout = PT15M