/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: 2011-08-08 21:12:37 UTC
  • Revision ID: teddy@fukt.bsnet.se-20110808211237-jejsz5brjytrjot8
* Makefile (DOCS): Added "intro.8mandos".
  (intro.8mandos, intro.8mandos.xhtml): New.
* README: Replaced text with link, reference and short summary.
* intro.xml: New.
* mandos-clients.conf.xml (SEE ALSO): Added "intro(8mandos)".
* mandos-ctl.xml (SEE ALSO): - '' -
* mandos-keygen.xml (SEE ALSO): - '' -
* mandos-monitor.xml (SEE ALSO): - '' -
* mandos.conf.xml (SEE ALSO): - '' -
* mandos.xml (SEE ALSO): - '' -
* plugin-runner.xml (SEE ALSO): - '' -
* plugins.d/askpass-fifo.xml (SEE ALSO): - '' -
* plugins.d/mandos-client.xml (SEE ALSO): - '' -
* plugins.d/password-prompt.xml (SEE ALSO): - '' -
* plugins.d/plymouth.xml (SEE ALSO): - '' -
* plugins.d/splashy.xml (SEE ALSO): - '' -
* plugins.d/usplash.xml (SEE ALSO): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
# You should have received a copy of the GNU General Public License
20
20
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
21
22
 
# Contact the authors at <mandos@recompile.se>.
 
22
# Contact the authors at <mandos@fukt.bsnet.se>.
23
23
24
24
 
25
25
from __future__ import (division, absolute_import, print_function,
49
49
logging.getLogger('dbus.proxies').setLevel(logging.CRITICAL)
50
50
 
51
51
# Some useful constants
52
 
domain = 'se.recompile'
 
52
domain = 'se.bsnet.fukt'
53
53
server_interface = domain + '.Mandos'
54
54
client_interface = domain + '.Mandos.Client'
55
 
version = "1.4.1"
 
55
version = "1.3.1"
56
56
 
57
57
# Always run in monochrome mode
58
58
urwid.curses_display.curses.has_colors = lambda : False
200
200
        else:
201
201
            self._update_timer_callback_lock -= 1
202
202
        if old == 0 and self._update_timer_callback_lock:
203
 
            # Will update the shown timer value every second
204
203
            self._update_timer_callback_tag = (gobject.timeout_add
205
204
                                               (1000,
206
205
                                                self.update_timer))
315
314
                message = "Denial in %s. (a)pprove?"
316
315
            message = message % unicode(timer).rsplit(".", 1)[0]
317
316
        elif self.last_checker_failed:
318
 
            # When checker has failed, print a timer until client expires
319
 
            expires = self.properties["Expires"]
320
 
            if expires == "":
321
 
                timer = datetime.timedelta(0)
322
 
            else:
323
 
                expires = datetime.datetime.strptime(expires,
324
 
                                                     '%Y-%m-%dT%H:%M:%S.%f')
325
 
                timer = expires - datetime.datetime.utcnow()
 
317
            timeout = datetime.timedelta(milliseconds
 
318
                                         = self.properties
 
319
                                         ["Timeout"])
 
320
            last_ok = isoformat_to_datetime(
 
321
                max((self.properties["LastCheckedOK"]
 
322
                     or self.properties["Created"]),
 
323
                    self.properties["LastEnabled"]))
 
324
            timer = timeout - (datetime.datetime.utcnow() - last_ok)
326
325
            message = ('A checker has failed! Time until client'
327
326
                       ' gets disabled: %s'
328
327
                           % unicode(timer).rsplit(".", 1)[0])
347
346
            self.update_hook()
348
347
    
349
348
    def update_timer(self):
350
 
        """called by gobject. Will indefinitely loop until
351
 
        gobject.source_remove() on tag is called"""
 
349
        "called by gobject"
352
350
        self.update()
353
351
        return True             # Keep calling this
354
352