/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: 2018-08-19 01:35:11 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 368.
  • Revision ID: teddy@recompile.se-20180819013511-cku25q9yeub3dnr0
Adapt to changes in cryptsetup; use "cryptroot-unlock" program

* Makefile (install-client-nokey): Also install new script files
  "mandos-to-cryptroot-unlock" and "initramfs-tools-script-stop".
* debian/mandos-client.dirs: Add
  "usr/share/initramfs-tools/scripts/local-premount".
* initramfs-tools-hook: Also copy "mandos-to-cryptroot-unlock".
* initramfs-tools-script: Only modify keyscript setting in cryptroot
  file if the file exists, otherwise start
  "mandos-to-cryptroot-unlock" in background.
* initramfs-tools-script-stop: New script to make sure plugin-runner
  has stopped before continuing.
* mandos-to-cryptroot-unlock: New script to run plugin-runner and feed
  any password it gets into the "cryptroot-unlock" program.

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()