/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 DBUS-API

  • 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:
130
130
 
131
131
* Copyright
132
132
 
133
 
    Copyright © 2010-2017 Teddy Hogeborn
134
 
    Copyright © 2010-2017 Björn Påhlsson
 
133
    Copyright © 2010-2016 Teddy Hogeborn
 
134
    Copyright © 2010-2016 Björn Påhlsson
135
135
  
136
136
** License:
137
 
 
138
 
   This file is part of Mandos.
139
 
 
140
 
   Mandos is free software: you can redistribute it and/or modify it
141
 
   under the terms of the GNU General Public License as published by
142
 
   the Free Software Foundation, either version 3 of the License, or
143
 
   (at your option) any later version.
144
 
 
145
 
   Mandos is distributed in the hope that it will be useful, but
 
137
   
 
138
   This program is free software: you can redistribute it and/or
 
139
   modify it under the terms of the GNU General Public License as
 
140
   published by the Free Software Foundation, either version 3 of the
 
141
   License, or (at your option) any later version.
 
142
 
 
143
   This program is distributed in the hope that it will be useful, but
146
144
   WITHOUT ANY WARRANTY; without even the implied warranty of
147
145
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
148
146
   General Public License for more details.
149
147
 
150
148
   You should have received a copy of the GNU General Public License
151
 
   along with Mandos.  If not, see <http://www.gnu.org/licenses/>.
 
149
   along with this program.  If not, see
 
150
   <http://www.gnu.org/licenses/>.
152
151
 
153
152
 
154
153
#+STARTUP: showall