=== modified file 'mandos' --- mandos 2011-11-10 11:08:50 +0000 +++ mandos 2011-12-03 01:04:54 +0000 @@ -1012,21 +1012,21 @@ datetime_to_dbus, "LastApprovalRequest") approved_by_default = notifychangeproperty(dbus.Boolean, "ApprovedByDefault") - approval_delay = notifychangeproperty(dbus.UInt16, + approval_delay = notifychangeproperty(dbus.UInt64, "ApprovalDelay", type_func = _timedelta_to_milliseconds) approval_duration = notifychangeproperty( - dbus.UInt16, "ApprovalDuration", + dbus.UInt64, "ApprovalDuration", type_func = _timedelta_to_milliseconds) host = notifychangeproperty(dbus.String, "Host") - timeout = notifychangeproperty(dbus.UInt16, "Timeout", + timeout = notifychangeproperty(dbus.UInt64, "Timeout", type_func = _timedelta_to_milliseconds) extended_timeout = notifychangeproperty( - dbus.UInt16, "ExtendedTimeout", + dbus.UInt64, "ExtendedTimeout", type_func = _timedelta_to_milliseconds) - interval = notifychangeproperty(dbus.UInt16, + interval = notifychangeproperty(dbus.UInt64, "Interval", type_func = _timedelta_to_milliseconds) === modified file 'mandos-ctl' --- mandos-ctl 2011-10-15 16:48:03 +0000 +++ mandos-ctl 2011-12-03 01:04:54 +0000 @@ -93,29 +93,23 @@ >>> string_to_delta("5m 30s") datetime.timedelta(0, 330) """ - timevalue = datetime.timedelta(0) - regexp = re.compile("\d+[dsmhw]") + value = datetime.timedelta(0) + regexp = re.compile("(\d+)([dsmhw]?)") - for s in regexp.findall(interval): - try: - suffix = unicode(s[-1]) - value = int(s[:-1]) - if suffix == "d": - delta = datetime.timedelta(value) - elif suffix == "s": - delta = datetime.timedelta(0, value) - elif suffix == "m": - delta = datetime.timedelta(0, 0, 0, 0, value) - elif suffix == "h": - delta = datetime.timedelta(0, 0, 0, 0, 0, value) - elif suffix == "w": - delta = datetime.timedelta(0, 0, 0, 0, 0, 0, value) - else: - raise ValueError - except (ValueError, IndexError): - raise ValueError - timevalue += delta - return timevalue + for num, suffix in regexp.findall(interval): + if suffix == "d": + value += datetime.timedelta(int(num)) + elif suffix == "s": + value += datetime.timedelta(0, int(num)) + elif suffix == "m": + value += datetime.timedelta(0, 0, 0, 0, int(num)) + elif suffix == "h": + value += datetime.timedelta(0, 0, 0, 0, 0, int(num)) + elif suffix == "w": + value += datetime.timedelta(0, 0, 0, 0, 0, 0, int(num)) + elif suffix == "": + value += datetime.timedelta(0, 0, 0, int(num)) + return value def print_clients(clients, keywords): def valuetostring(value, keyword):