/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-monitor

  • Committer: Teddy Hogeborn
  • Date: 2018-08-15 09:26:02 UTC
  • Revision ID: teddy@recompile.se-20180815092602-xoyb5s6gf8376i7u
mandos-client: Set system clock if necessary

* plugins.d/mandos-client.c (init_gpgme/import_key): If the system
  clock is not set, or set to january 1970, set the system clock to
  the more plausible value that is the mtime of the key file.  This is
  required by GnuPG to be able to import the keys.  (We can't pass the
  --ignore-time-conflict or the --ignore-valid-from options though
  GPGME.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python3 -bb
 
1
#!/usr/bin/python
2
2
# -*- mode: python; coding: utf-8 -*-
3
3
#
4
4
# Mandos Monitor - Control and monitor the Mandos server
5
5
#
6
 
# Copyright © 2009-2019 Teddy Hogeborn
7
 
# Copyright © 2009-2019 Björn Påhlsson
 
6
# Copyright © 2009-2018 Teddy Hogeborn
 
7
# Copyright © 2009-2018 Björn Påhlsson
8
8
#
9
9
# This file is part of Mandos.
10
10
#
33
33
 
34
34
import sys
35
35
import os
36
 
import warnings
 
36
 
37
37
import datetime
38
38
 
39
39
import urwid.curses_display
59
59
domain = 'se.recompile'
60
60
server_interface = domain + '.Mandos'
61
61
client_interface = domain + '.Mandos.Client'
62
 
version = "1.8.9"
 
62
version = "1.7.19"
63
63
 
64
64
try:
65
65
    dbus.OBJECT_MANAGER_IFACE
444
444
        self.clients_dict = {}
445
445
 
446
446
        # We will add Text widgets to this list
447
 
        self.log = urwid.SimpleListWalker([])
 
447
        self.log = []
448
448
        self.max_log_length = max_log_length
449
449
 
450
450
        self.log_level = log_level
467
467
        self.busname = domain + '.Mandos'
468
468
        self.main_loop = GLib.MainLoop()
469
469
 
470
 
    def client_not_found(self, key_id, address):
471
 
        self.log_message("Client with address {} and key ID {} could"
472
 
                         " not be found".format(address, key_id))
 
470
    def client_not_found(self, fingerprint, address):
 
471
        self.log_message("Client with address {} and fingerprint {}"
 
472
                         " could not be found"
 
473
                         .format(address, fingerprint))
473
474
 
474
475
    def rebuild(self):
475
476
        """This rebuilds the User Interface.
502
503
        if self.max_log_length:
503
504
            if len(self.log) > self.max_log_length:
504
505
                del self.log[0:len(self.log)-self.max_log_length-1]
505
 
        self.logbox.set_focus(len(self.logbox.body.contents)-1,
 
506
        self.logbox.set_focus(len(self.logbox.body.contents),
506
507
                              coming_from="above")
507
508
        self.refresh()
508
509
 
627
628
                            path=path)
628
629
 
629
630
        self.refresh()
630
 
        self._input_callback_tag = (
631
 
            GLib.io_add_watch(
632
 
                GLib.IOChannel.unix_new(sys.stdin.fileno()),
633
 
                GLib.PRIORITY_DEFAULT, GLib.IO_IN,
634
 
                self.process_input))
 
631
        self._input_callback_tag = (GLib.io_add_watch
 
632
                                    (sys.stdin.fileno(),
 
633
                                     GLib.IO_IN,
 
634
                                     self.process_input))
635
635
        self.main_loop.run()
636
636
        # Main loop has finished, we should close everything now
637
637
        GLib.source_remove(self._input_callback_tag)
638
 
        with warnings.catch_warnings():
639
 
            warnings.simplefilter("ignore", BytesWarning)
640
 
            self.screen.stop()
 
638
        self.screen.stop()
641
639
 
642
640
    def stop(self):
643
641
        self.main_loop.quit()