/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 debian/mandos.templates

  • 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
 
Template: mandos/key_id
2
 
Type: note
3
 
_Description: New client option "key_id" is REQUIRED on server
4
 
 A new "key_id" client option is REQUIRED in the clients.conf file,
5
 
 otherwise the client most likely will not reboot unattended.  This option:
6
 
 .
7
 
  key_id = <HEXSTRING>
8
 
 .
9
 
 must be added in the file /etc/mandos/clients.conf, right before the
10
 
 "fingerprint" option, for each Mandos client.  You must edit that file and
11
 
 add this option for all clients.  To see the correct key ID for each
12
 
 client, run this command (on each client):
13
 
 .
14
 
  mandos-keygen -F/dev/null|grep ^key_id
15
 
 .
16
 
 Note: the clients must all also be using GnuTLS 3.6.6 or later; the server
17
 
 cannot serve passwords for both old and new clients!
18
 
 .
19
 
 Rationale: With GnuTLS 3.6.6, Mandos has been forced to stop using OpenPGP
20
 
 keys as TLS session keys.  A new TLS key pair will be generated on each
21
 
 client and will be used as identification, but the key ID of the public
22
 
 key needs to be added to this server, since this will now be used to
23
 
 identify the client to the server.
24
 
 
25
 
Template: mandos/removed_bad_key_ids
26
 
Type: note
27
 
_Description: Bad key IDs have been removed from clients.conf
28
 
 Bad key IDs, which were created by a bug in Mandos client 1.8.0, have been
29
 
 removed from /etc/mandos/clients.conf