4
4
# Mandos Monitor - Control and monitor the Mandos server
 
6
 
# Copyright © 2009-2012 Teddy Hogeborn
 
7
 
# Copyright © 2009-2012 Björn Påhlsson
 
 
6
# Copyright © 2009-2011 Teddy Hogeborn
 
 
7
# Copyright © 2009-2011 Björn Påhlsson
 
9
9
# This program is free software: you can redistribute it and/or modify
 
10
10
# it under the terms of the GNU General Public License as published by
 
 
244
244
    def checker_started(self, command):
 
245
 
        """Server signals that a checker started. This could be useful
 
246
 
           to log in the future. """
 
247
245
        #self.logger('Client %s started checker "%s"'
 
248
246
        #            % (self.properties["Name"], unicode(command)))
 
 
500
498
        self.busname = domain + '.Mandos'
 
501
499
        self.main_loop = gobject.MainLoop()
 
 
500
        self.bus = dbus.SystemBus()
 
 
501
        mandos_dbus_objc = self.bus.get_object(
 
 
502
            self.busname, "/", follow_name_owner_changes=True)
 
 
503
        self.mandos_serv = dbus.Interface(mandos_dbus_objc,
 
 
507
            mandos_clients = (self.mandos_serv
 
 
508
                              .GetAllClientsWithProperties())
 
 
509
        except dbus.exceptions.DBusException:
 
 
510
            mandos_clients = dbus.Dictionary()
 
 
513
         .connect_to_signal("ClientRemoved",
 
 
514
                            self.find_and_remove_client,
 
 
515
                            dbus_interface=server_interface,
 
 
518
         .connect_to_signal("ClientAdded",
 
 
520
                            dbus_interface=server_interface,
 
 
523
         .connect_to_signal("ClientNotFound",
 
 
524
                            self.client_not_found,
 
 
525
                            dbus_interface=server_interface,
 
 
527
        for path, client in mandos_clients.iteritems():
 
 
528
            client_proxy_object = self.bus.get_object(self.busname,
 
 
530
            self.add_client(MandosClientWidget(server_proxy_object
 
 
533
                                               =client_proxy_object,
 
503
543
    def client_not_found(self, fingerprint, address):
 
504
544
        self.log_message(("Client with address %s and fingerprint %s"
 
 
610
651
        """Start the main loop and exit when it's done."""
 
611
 
        self.bus = dbus.SystemBus()
 
612
 
        mandos_dbus_objc = self.bus.get_object(
 
613
 
            self.busname, "/", follow_name_owner_changes=True)
 
614
 
        self.mandos_serv = dbus.Interface(mandos_dbus_objc,
 
618
 
            mandos_clients = (self.mandos_serv
 
619
 
                              .GetAllClientsWithProperties())
 
620
 
        except dbus.exceptions.DBusException:
 
621
 
            mandos_clients = dbus.Dictionary()
 
624
 
         .connect_to_signal("ClientRemoved",
 
625
 
                            self.find_and_remove_client,
 
626
 
                            dbus_interface=server_interface,
 
629
 
         .connect_to_signal("ClientAdded",
 
631
 
                            dbus_interface=server_interface,
 
634
 
         .connect_to_signal("ClientNotFound",
 
635
 
                            self.client_not_found,
 
636
 
                            dbus_interface=server_interface,
 
638
 
        for path, client in mandos_clients.iteritems():
 
639
 
            client_proxy_object = self.bus.get_object(self.busname,
 
641
 
            self.add_client(MandosClientWidget(server_proxy_object
 
644
 
                                               =client_proxy_object,
 
655
653
        self._input_callback_tag = (gobject.io_add_watch
 
656
654
                                    (sys.stdin.fileno(),