/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to clients.conf

First version of a somewhat complete D-Bus server interface.  Also
change user/group name to "_mandos".

* debian/mandos.postinst: Rename old "mandos" user and group to
                          "_mandos"; create "_mandos" user and group
                          if none exist.
* debian/mandos-client.postinst: - '' -

* initramfs-tools-hook: Try "_mandos" before "mandos" as user and
                        group name.

* mandos (_datetime_to_dbus_struct): New; was previously local.
  (Client.started): Renamed to "last_started".  All users changed.
  (Client.started): New; boolean.
  (Client.dbus_object_path): New.
  (Client.check_command): Renamed to "checker_command".  All users
                          changed.
  (Client.__init__): Set and use "self.dbus_object_path".  Set
                     "self.started".
  (Client.start): Update "self.started".  Emit "self.PropertyChanged"
                  signals for both "started" and "last_started".
  (Client.stop): Update "self.started".  Emit "self.PropertyChanged"
                 signal for "started".
  (Client.checker_callback): Take additional "command" argument.  All
                             callers changed. Emit
                             "self.PropertyChanged" signal.
  (Client.bump_timeout): Emit "self.PropertyChanged" signal for
                         "last_checked_ok".
  (Client.start_checker): Emit "self.PropertyChanged" signal for
                          "checker_running".
  (Client.stop_checker): Emit "self.PropertyChanged" signal for
                         "checker_running".
  (Client.still_valid): Bug fix: use "getattr(self, started, False)"
                        instead of "self.started" in case this client
                        object is so new that the "started" attribute
                        has not been created yet.
  (Client.IntervalChanged, Client.CheckerIsRunning, Client.GetChecker,
  Client.GetCreated, Client.GetFingerprint, Client.GetHost,
  Client.GetInterval, Client.GetName, Client.GetStarted,
  Client.GetTimeout, Client.StateChanged, Client.TimeoutChanged):
  Removed; all callers changed.
  (Client.CheckerCompleted): Add "condition" and "command" arguments.
                             All callers changed.
  (Client.GetAllProperties, Client.PropertyChanged): New.
  (Client.StillValid): Renamed to "IsStillValid".
  (Client.StartChecker): Changed to its own function to avoid the
                         return value from "Client.start_checker()".
  (Client.Stop): Changed to its own function to avoid the return value
                 from "Client.stop()".
  (main): Try "_mandos" before "mandos" as user and group name.
          Removed inner function "remove_from_clients".  New inner
          class "MandosServer".

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# values, so uncomment and change them if you want different ones.
3
3
[DEFAULT]
4
4
 
5
 
# How long until a client is disabled and not be allowed to get the
6
 
# data this server holds.
7
 
# (RFC 3339 duration syntax)
8
 
;timeout = PT5M
 
5
# How long until a client is considered invalid - that is, ineligible
 
6
# to get the data this server holds.
 
7
;timeout = 1h
9
8
 
10
9
# How often to run the checker to confirm that a client is still up.
11
10
# Note: a new checker will not be started if an old one is still
12
11
# running.  The server will wait for a checker to complete until the
13
 
# above "timeout" occurs, at which time the client will be disabled,
14
 
# and any running checker killed.
15
 
# (RFC 3339 duration syntax)
16
 
;interval = PT2M
17
 
 
18
 
# Extended timeout is an added timeout that is given once after a
19
 
# password has been sent sucessfully to a client.  This allows for
20
 
# additional delays caused by file system checks and quota checks.
21
 
# (RFC 3339 duration syntax)
22
 
;extended_timeout = PT15M
 
12
# above "timeout" occurs, at which time the client will be marked
 
13
# invalid, and any running checker killed.
 
14
;interval = 5m
23
15
 
24
16
# What command to run as "the checker".
25
 
;checker = fping -q -- %%(host)s
26
 
 
27
 
# Whether to approve a client by default after the approval delay.
28
 
;approved_by_default = True
29
 
 
30
 
# How long to wait for approval.
31
 
# (RFC 3339 duration syntax)
32
 
;approval_delay = PT0S
33
 
 
34
 
# How long one approval will last.
35
 
# (RFC 3339 duration syntax)
36
 
;approval_duration = PT1S
37
 
 
38
 
# Whether this client is enabled by default
39
 
;enabled = True
 
17
;checker = fping -q -- %(host)s
40
18
 
41
19
 
42
20
;####
43
21
;# Example client
44
22
;[foo]
45
23
;
46
 
;# TLS public key ID
47
 
;key_id = f33fcbed11ed5e03073f6a55b86ffe92af0e24c045fb6e3b40547b3dc0c030ed
48
 
;
49
24
;# OpenPGP key fingerprint
50
25
;fingerprint =  7788 2722 5BA7 DE53 9C5A  7CFA 59CF F7CD BD9A 5920
51
26
;
52
27
;# This is base64-encoded binary data.  It will be decoded and sent to
53
 
;# the client matching the above key_id (for GnuTLS 3.6.6 or later) or
54
 
;# the above fingerprint (for GnuTLS before 3.6.0).  This should, of
55
 
;# course, be OpenPGP encrypted data, decryptable only by the client.
 
28
;# the client matching the above fingerprint.  This should, of course,
 
29
;# be OpenPGP encrypted data, decryptable only by the client.
56
30
;secret =
57
31
;        hQIOA6QdEjBs2L/HEAf/TCyrDe5Xnm9esa+Pb/vWF9CUqfn4srzVgSu234
58
32
;        REJMVv7lBSrPE2132Lmd2gqF1HeLKDJRSVxJpt6xoWOChGHg+TMyXDxK+N
77
51
;####
78
52
;# Another example client, named "bar".
79
53
;[bar]
80
 
;# The key ID is not space or case sensitive
81
 
;key_id = F33FCBED11ED5E03073F6A55B86FFE92 AF0E24C045FB6E3B40547B3DC0C030ED
82
 
;
83
54
;# The fingerprint is not space or case sensitive
84
55
;fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
85
56
;
86
57
;# If "secret" is not specified, a file can be read for the data.
87
 
;secfile = /etc/keys/mandos/bar-secret.bin
 
58
;secfile = /etc/mandos/bar-secret.bin
88
59
;
89
60
;# An IP address for host is also fine, if the checker accepts it.
90
61
;host = 192.0.2.3
91
62
;
92
63
;# Parameters from the [DEFAULT] section can be overridden per client.
93
 
;interval = PT1M
94
 
;
95
 
;# This client requires manual approval before it receives its secret.
96
 
;approved_by_default = False
97
 
;# Require approval within 30 seconds.
98
 
;approval_delay = PT30S
 
64
;interval = 5m
99
65
;####