/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 intro.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 TIMESTAMP "2011-08-08">
 
4
<!ENTITY TIMESTAMP "2016-03-05">
5
5
<!ENTITY % common SYSTEM "common.ent">
6
6
%common;
7
7
]>
18
18
        <firstname>Björn</firstname>
19
19
        <surname>Påhlsson</surname>
20
20
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
 
21
          <email>belorn@recompile.se</email>
22
22
        </address>
23
23
      </author>
24
24
      <author>
25
25
        <firstname>Teddy</firstname>
26
26
        <surname>Hogeborn</surname>
27
27
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
 
28
          <email>teddy@recompile.se</email>
29
29
        </address>
30
30
      </author>
31
31
    </authorgroup>
32
32
    <copyright>
33
33
      <year>2011</year>
 
34
      <year>2012</year>
 
35
      <year>2013</year>
 
36
      <year>2014</year>
 
37
      <year>2015</year>
 
38
      <year>2016</year>
34
39
      <holder>Teddy Hogeborn</holder>
35
40
      <holder>Björn Påhlsson</holder>
36
41
    </copyright>
196
201
      </para>
197
202
    </refsect2>
198
203
    
 
204
    <refsect2 id="sniff">
 
205
      <title>How about sniffing the network traffic and decrypting it
 
206
      later by physically grabbing the Mandos client and using its
 
207
      key?</title>
 
208
      <para>
 
209
        We only use <acronym>PFS</acronym> (Perfect Forward Security)
 
210
        key exchange algorithms in TLS, which protects against this.
 
211
      </para>
 
212
    </refsect2>
 
213
    
199
214
    <refsect2 id="physgrab">
200
215
      <title>Physically grabbing the Mandos server computer?</title>
201
216
      <para>
214
229
      </para>
215
230
    </refsect2>
216
231
    
217
 
    <refsect2 id="fakeping">
218
 
      <title>Faking ping replies?</title>
 
232
    <refsect2 id="fakecheck">
 
233
      <title>Faking checker results?</title>
219
234
      <para>
220
 
        The default for the server is to use
 
235
        If the Mandos client does not have an SSH server, the default
 
236
        is for the Mandos server to use
221
237
        <quote><literal>fping</literal></quote>, the replies to which
222
238
        could be faked to eliminate the timeout.  But this could
223
239
        easily be changed to any shell command, with any security
224
 
        measures you like.  It could, for instance, be changed to an
225
 
        SSH command with strict keychecking, which could not be faked.
226
 
        Or IPsec could be used for the ping packets, making them
227
 
        secure.
 
240
        measures you like.  If the Mandos client
 
241
        <emphasis>has</emphasis> an SSH server, the default
 
242
        configuration (as generated by
 
243
        <command>mandos-keygen</command> with the
 
244
        <option>--password</option> option) is for the Mandos server
 
245
        to use an <command>ssh-keyscan</command> command with strict
 
246
        keychecking, which can not be faked.  Alternatively, IPsec
 
247
        could be used for the ping packets, making them secure.
228
248
      </para>
229
249
    </refsect2>
230
250
  </refsect1>
359
379
    </para>
360
380
  </refsect1>
361
381
  
 
382
  <refsect1 id="bugs">
 
383
    <title>BUGS</title>
 
384
    <xi:include href="bugs.xml"/>
 
385
  </refsect1>
 
386
  
362
387
  <refsect1 id="see_also">
363
388
    <title>SEE ALSO</title>
364
389
    <para>
392
417
    <variablelist>
393
418
      <varlistentry>
394
419
        <term>
395
 
          <ulink url="http://www.fukt.bsnet.se/mandos">Mandos</ulink>
 
420
          <ulink url="http://www.recompile.se/mandos">Mandos</ulink>
396
421
        </term>
397
422
        <listitem>
398
423
          <para>