4
4
# Mandos Monitor - Control and monitor the Mandos server
6
# Copyright © 2008-2011 Teddy Hogeborn
7
# Copyright © 2008-2011 Björn Påhlsson
6
# Copyright © 2008-2010 Teddy Hogeborn
7
# Copyright © 2008-2010 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
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/>.
22
# Contact the authors at <mandos@recompile.se>.
22
# Contact the authors at <mandos@fukt.bsnet.se>.
25
25
from __future__ import (division, absolute_import, print_function,
52
52
"ApprovalDelay": "Approval Delay",
53
53
"ApprovalDuration": "Approval Duration",
54
54
"Checker": "Checker",
55
"ExtendedTimeout" : "Extended Timeout"
57
56
defaultkeywords = ("Name", "Enabled", "Timeout", "LastCheckedOK")
58
domain = "se.recompile"
57
domain = "se.bsnet.fukt"
59
58
busname = domain + ".Mandos"
61
60
server_interface = domain + ".Mandos"
62
61
client_interface = domain + ".Mandos.Client"
65
64
def timedelta_to_milliseconds(td):
66
65
"""Convert a datetime.timedelta object to milliseconds"""
151
150
options.checker is not None,
152
151
options.timeout is not None,
153
options.extended_timeout is not None,
154
152
options.interval is not None,
155
153
options.approved_by_default is not None,
156
154
options.approval_delay is not None,
187
185
help="Set checker command for client")
188
186
parser.add_argument("-t", "--timeout",
189
187
help="Set timeout for client")
190
parser.add_argument("--extended-timeout",
191
help="Set extended timeout for client")
192
188
parser.add_argument("-i", "--interval",
193
189
help="Set checker interval for client")
194
190
parser.add_argument("--approve-by-default", action="store_true",
274
270
"LastEnabled", "ApprovalPending",
275
271
"ApprovedByDefault",
276
272
"LastApprovalRequest", "ApprovalDelay",
277
"ApprovalDuration", "Checker",
273
"ApprovalDuration", "Checker")
280
275
keywords = defaultkeywords
302
297
dbus.PROPERTIES_IFACE)
304
if options.checker is not None:
305
300
client.Set(client_interface, "Checker",
307
302
dbus_interface=dbus.PROPERTIES_IFACE)
308
if options.host is not None:
309
304
client.Set(client_interface, "Host", options.host,
310
305
dbus_interface=dbus.PROPERTIES_IFACE)
311
if options.interval is not None:
312
307
client.Set(client_interface, "Interval",
313
308
timedelta_to_milliseconds
314
309
(string_to_delta(options.interval)),
315
310
dbus_interface=dbus.PROPERTIES_IFACE)
316
if options.approval_delay is not None:
311
if options.approval_delay:
317
312
client.Set(client_interface, "ApprovalDelay",
318
313
timedelta_to_milliseconds
319
314
(string_to_delta(options.
320
315
approval_delay)),
321
316
dbus_interface=dbus.PROPERTIES_IFACE)
322
if options.approval_duration is not None:
317
if options.approval_duration:
323
318
client.Set(client_interface, "ApprovalDuration",
324
319
timedelta_to_milliseconds
325
320
(string_to_delta(options.
326
321
approval_duration)),
327
322
dbus_interface=dbus.PROPERTIES_IFACE)
328
if options.timeout is not None:
329
324
client.Set(client_interface, "Timeout",
330
325
timedelta_to_milliseconds
331
326
(string_to_delta(options.timeout)),
332
327
dbus_interface=dbus.PROPERTIES_IFACE)
333
if options.extended_timeout is not None:
334
client.Set(client_interface, "ExtendedTimeout",
335
timedelta_to_milliseconds
336
(string_to_delta(options.extended_timeout)),
337
dbus_interface=dbus.PROPERTIES_IFACE)
338
if options.secret is not None:
339
329
client.Set(client_interface, "Secret",
340
330
dbus.ByteArray(open(options.secret,