/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: 2016-03-08 00:03:43 UTC
  • Revision ID: teddy@recompile.se-20160308000343-kjoyixwksmboql1s
Server bug fix: Work around bug when stopping server

* init.d-mandos (do_stop): Work around SIGTERM ignoring bug by doing
  "mandos-ctl >/dev/null 2>&1" after sending signal.
* mandos.service (ExecStop): New; set to "/bin/kill -TERM $MAINPID ;
  /usr/sbin/mandos-ctl >/dev/null 2>&1" to work around SIGTERM
  ignoring bug.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
 
41
41
from dbus.mainloop.glib import DBusGMainLoop
42
42
try:
43
 
    import gobject
 
43
    from gi.repository import GObject
44
44
except ImportError:
45
 
    from gi.repository import GObject as gobject
 
45
    import gobject as GObject
46
46
 
47
47
import dbus
48
48
 
60
60
domain = 'se.recompile'
61
61
server_interface = domain + '.Mandos'
62
62
client_interface = domain + '.Mandos.Client'
63
 
version = "1.7.1"
 
63
version = "1.7.4"
64
64
 
65
65
try:
66
66
    dbus.OBJECT_MANAGER_IFACE
172
172
        """
173
173
        if flag and self._update_timer_callback_tag is None:
174
174
            # Will update the shown timer value every second
175
 
            self._update_timer_callback_tag = (gobject.timeout_add
 
175
            self._update_timer_callback_tag = (GObject.timeout_add
176
176
                                               (1000,
177
177
                                                self.update_timer))
178
178
        elif not (flag or self._update_timer_callback_tag is None):
179
 
            gobject.source_remove(self._update_timer_callback_tag)
 
179
            GObject.source_remove(self._update_timer_callback_tag)
180
180
            self._update_timer_callback_tag = None
181
181
    
182
182
    def checker_completed(self, exitstatus, condition, command):
309
309
            self.update_hook()
310
310
    
311
311
    def update_timer(self):
312
 
        """called by gobject. Will indefinitely loop until
313
 
        gobject.source_remove() on tag is called"""
 
312
        """called by GObject. Will indefinitely loop until
 
313
        GObject.source_remove() on tag is called"""
314
314
        self.update()
315
315
        return True             # Keep calling this
316
316
    
317
317
    def delete(self, **kwargs):
318
318
        if self._update_timer_callback_tag is not None:
319
 
            gobject.source_remove(self._update_timer_callback_tag)
 
319
            GObject.source_remove(self._update_timer_callback_tag)
320
320
            self._update_timer_callback_tag = None
321
321
        for match in self.match_objects:
322
322
            match.remove()
465
465
                              "q: Quit  ?: Help"))
466
466
        
467
467
        self.busname = domain + '.Mandos'
468
 
        self.main_loop = gobject.MainLoop()
 
468
        self.main_loop = GObject.MainLoop()
469
469
    
470
470
    def client_not_found(self, fingerprint, address):
471
471
        self.log_message("Client with address {} and fingerprint {}"
640
640
                            path=path)
641
641
        
642
642
        self.refresh()
643
 
        self._input_callback_tag = (gobject.io_add_watch
 
643
        self._input_callback_tag = (GObject.io_add_watch
644
644
                                    (sys.stdin.fileno(),
645
 
                                     gobject.IO_IN,
 
645
                                     GObject.IO_IN,
646
646
                                     self.process_input))
647
647
        self.main_loop.run()
648
648
        # Main loop has finished, we should close everything now
649
 
        gobject.source_remove(self._input_callback_tag)
 
649
        GObject.source_remove(self._input_callback_tag)
650
650
        self.screen.stop()
651
651
    
652
652
    def stop(self):