/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-monitor

  • Committer: Teddy Hogeborn
  • Date: 2019-09-04 21:12:32 UTC
  • mfrom: (237.7.726 trunk)
  • Revision ID: teddy@recompile.se-20190904211232-qwuiramck8i8wmhe
Merge from trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
 
1
#!/usr/bin/python3 -bb
2
2
# -*- mode: python; coding: utf-8 -*-
3
3
#
4
4
# Mandos Monitor - Control and monitor the Mandos server
5
5
#
6
 
# Copyright © 2009-2017 Teddy Hogeborn
7
 
# Copyright © 2009-2017 Björn Påhlsson
 
6
# Copyright © 2009-2019 Teddy Hogeborn
 
7
# Copyright © 2009-2019 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
 
 
 
36
import warnings
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.7.16"
 
62
version = "1.8.9"
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 = []
 
447
        self.log = urwid.SimpleListWalker([])
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, fingerprint, address):
471
 
        self.log_message("Client with address {} and fingerprint {}"
472
 
                         " could not be found"
473
 
                         .format(address, fingerprint))
 
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))
474
473
 
475
474
    def rebuild(self):
476
475
        """This rebuilds the User Interface.
503
502
        if self.max_log_length:
504
503
            if len(self.log) > self.max_log_length:
505
504
                del self.log[0:len(self.log)-self.max_log_length-1]
506
 
        self.logbox.set_focus(len(self.logbox.body.contents),
 
505
        self.logbox.set_focus(len(self.logbox.body.contents)-1,
507
506
                              coming_from="above")
508
507
        self.refresh()
509
508
 
628
627
                            path=path)
629
628
 
630
629
        self.refresh()
631
 
        self._input_callback_tag = (GLib.io_add_watch
632
 
                                    (sys.stdin.fileno(),
633
 
                                     GLib.IO_IN,
634
 
                                     self.process_input))
 
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))
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
 
        self.screen.stop()
 
638
        with warnings.catch_warnings():
 
639
            warnings.simplefilter("ignore", BytesWarning)
 
640
            self.screen.stop()
639
641
 
640
642
    def stop(self):
641
643
        self.main_loop.quit()