/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 at bsnet
  • Date: 2011-12-25 00:40:09 UTC
  • Revision ID: teddy@fukt.bsnet.se-20111225004009-n5uimmac6h8djtv8
* plugin-runner.c (add_to_char_array): Added "nonnull" attribute.
  (add_argument): Added "nonnull" attribute on the "arg" argument.
  (add_environment): Added "nonnull" attribute on the "def" argument.
  (print_out_password, free_plugin): Added "nonnull" attribute.
  (main/parse_opt): Added "nonnull" attribute on the "state" argument.
* plugins.d/mandos-client.c (perror_plus): Bug fix; restore errno
                                           after fprintf().
* plugins.d/password-prompt.c (fprintf_plus): New.
 (conflict_detection/is_plymouth, main/parse_opt): Added "nonnull"
                                                   attribute.
 (conflict_detection/is_plymouth, conflict_detection, main): Bug fix;
                                                             Call
                                                             error_plus()
                                                             instead
                                                             of
                                                             error().
  (main/parse_opt): Added "nonnull" attribute on the "state" argument.
* plugins.d/plymouth.c (exec_and_wait): Added "nonnull" attribute on
                                        the "path" and "argv"
                                        arguments.
  (is_plymouth): Added "nonnull" attribute.

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@fukt.bsnet.se>.
 
22
# Contact the authors at <mandos@recompile.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.bsnet.fukt'
 
52
domain = 'se.recompile'
53
53
server_interface = domain + '.Mandos'
54
54
client_interface = domain + '.Mandos.Client'
55
 
version = "1.3.0"
 
55
version = "1.4.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
203
204
            self._update_timer_callback_tag = (gobject.timeout_add
204
205
                                               (1000,
205
206
                                                self.update_timer))
314
315
                message = "Denial in %s. (a)pprove?"
315
316
            message = message % unicode(timer).rsplit(".", 1)[0]
316
317
        elif self.last_checker_failed:
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)
 
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()
325
326
            message = ('A checker has failed! Time until client'
326
327
                       ' gets disabled: %s'
327
328
                           % unicode(timer).rsplit(".", 1)[0])
346
347
            self.update_hook()
347
348
    
348
349
    def update_timer(self):
349
 
        "called by gobject"
 
350
        """called by gobject. Will indefinitely loop until
 
351
        gobject.source_remove() on tag is called"""
350
352
        self.update()
351
353
        return True             # Keep calling this
352
354