=== modified file 'TODO' --- TODO 2011-12-25 00:43:51 +0000 +++ TODO 2011-12-26 15:23:45 +0000 @@ -87,8 +87,7 @@ ** Urwid client data displayer Better view of client data in the listing *** Properties popup -** Nicer crashes. Stack traces Messes up shell. -*** Print a nice "We are sorry" message, save stack trace to log. +** Print a nice "We are sorry" message, save stack trace to log. ** Show timeout countdown for approval * mandos-keygen === modified file 'mandos-monitor' --- mandos-monitor 2011-10-15 16:48:03 +0000 +++ mandos-monitor 2011-12-26 15:23:45 +0000 @@ -242,6 +242,8 @@ self.update() def checker_started(self, command): + """Server signals that a checker started. This could be useful + to log in the future. """ #self.logger('Client %s started checker "%s"' # % (self.properties["Name"], unicode(command))) pass @@ -497,48 +499,6 @@ self.busname = domain + '.Mandos' self.main_loop = gobject.MainLoop() - self.bus = dbus.SystemBus() - mandos_dbus_objc = self.bus.get_object( - self.busname, "/", follow_name_owner_changes=True) - self.mandos_serv = dbus.Interface(mandos_dbus_objc, - dbus_interface - = server_interface) - try: - mandos_clients = (self.mandos_serv - .GetAllClientsWithProperties()) - except dbus.exceptions.DBusException: - mandos_clients = dbus.Dictionary() - - (self.mandos_serv - .connect_to_signal("ClientRemoved", - self.find_and_remove_client, - dbus_interface=server_interface, - byte_arrays=True)) - (self.mandos_serv - .connect_to_signal("ClientAdded", - self.add_new_client, - dbus_interface=server_interface, - byte_arrays=True)) - (self.mandos_serv - .connect_to_signal("ClientNotFound", - self.client_not_found, - dbus_interface=server_interface, - byte_arrays=True)) - for path, client in mandos_clients.iteritems(): - client_proxy_object = self.bus.get_object(self.busname, - path) - self.add_client(MandosClientWidget(server_proxy_object - =self.mandos_serv, - proxy_object - =client_proxy_object, - properties=client, - update_hook - =self.refresh, - delete_hook - =self.remove_client, - logger - =self.log_message), - path=path) def client_not_found(self, fingerprint, address): self.log_message(("Client with address %s and fingerprint %s" @@ -559,7 +519,6 @@ self.divider))) if self.log_visible: self.uilist.append(self.logbox) - pass self.topwidget = urwid.Pile(self.uilist) def log_message(self, message): @@ -649,6 +608,49 @@ def run(self): """Start the main loop and exit when it's done.""" + self.bus = dbus.SystemBus() + mandos_dbus_objc = self.bus.get_object( + self.busname, "/", follow_name_owner_changes=True) + self.mandos_serv = dbus.Interface(mandos_dbus_objc, + dbus_interface + = server_interface) + try: + mandos_clients = (self.mandos_serv + .GetAllClientsWithProperties()) + except dbus.exceptions.DBusException: + mandos_clients = dbus.Dictionary() + + (self.mandos_serv + .connect_to_signal("ClientRemoved", + self.find_and_remove_client, + dbus_interface=server_interface, + byte_arrays=True)) + (self.mandos_serv + .connect_to_signal("ClientAdded", + self.add_new_client, + dbus_interface=server_interface, + byte_arrays=True)) + (self.mandos_serv + .connect_to_signal("ClientNotFound", + self.client_not_found, + dbus_interface=server_interface, + byte_arrays=True)) + for path, client in mandos_clients.iteritems(): + client_proxy_object = self.bus.get_object(self.busname, + path) + self.add_client(MandosClientWidget(server_proxy_object + =self.mandos_serv, + proxy_object + =client_proxy_object, + properties=client, + update_hook + =self.refresh, + delete_hook + =self.remove_client, + logger + =self.log_message), + path=path) + self.refresh() self._input_callback_tag = (gobject.io_add_watch (sys.stdin.fileno(),