/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 "2012-01-01">
 
4
<!ENTITY TIMESTAMP "2016-03-05">
5
5
<!ENTITY % common SYSTEM "common.ent">
6
6
%common;
7
7
]>
32
32
    <copyright>
33
33
      <year>2011</year>
34
34
      <year>2012</year>
 
35
      <year>2013</year>
 
36
      <year>2014</year>
 
37
      <year>2015</year>
 
38
      <year>2016</year>
35
39
      <holder>Teddy Hogeborn</holder>
36
40
      <holder>Björn Påhlsson</holder>
37
41
    </copyright>
197
201
      </para>
198
202
    </refsect2>
199
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
    
200
214
    <refsect2 id="physgrab">
201
215
      <title>Physically grabbing the Mandos server computer?</title>
202
216
      <para>
215
229
      </para>
216
230
    </refsect2>
217
231
    
218
 
    <refsect2 id="fakeping">
219
 
      <title>Faking ping replies?</title>
 
232
    <refsect2 id="fakecheck">
 
233
      <title>Faking checker results?</title>
220
234
      <para>
221
 
        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
222
237
        <quote><literal>fping</literal></quote>, the replies to which
223
238
        could be faked to eliminate the timeout.  But this could
224
239
        easily be changed to any shell command, with any security
225
 
        measures you like.  It could, for instance, be changed to an
226
 
        SSH command with strict keychecking, which could not be faked.
227
 
        Or IPsec could be used for the ping packets, making them
228
 
        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.
229
248
      </para>
230
249
    </refsect2>
231
250
  </refsect1>
360
379
    </para>
361
380
  </refsect1>
362
381
  
 
382
  <refsect1 id="bugs">
 
383
    <title>BUGS</title>
 
384
    <xi:include href="bugs.xml"/>
 
385
  </refsect1>
 
386
  
363
387
  <refsect1 id="see_also">
364
388
    <title>SEE ALSO</title>
365
389
    <para>