/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 clients.conf

  • Committer: Teddy Hogeborn
  • Date: 2019-07-30 17:03:57 UTC
  • Revision ID: teddy@recompile.se-20190730170357-jte0piul5mq7j5pr
Server: Reap zombies created by multiprocessing.Process()

When creating checkers as multiprocessing.Process() objects, the
multiprocessing module also creates a parent process (for the
call_pipe() function) to call the actual checker process, but this
parent process is not reaped.  This is not a huge problem, since the
zombie is always reaped automatically the next time the multiprocess
starts a new process, but the zombies can be up to as many as there
have ever been simultaneous checker processes.  To fix this, the
process object must be join():ed when they report completion of the
child checker process.

* mandos (Client): Fix doc string to correctly state that
                   Client.checker is a multiprocess.Process() and not
                   a subprocess.Popen() object.
  (Client.checker_callback): After the returncode of the checker
                             process has been read, wait for the
                             self.checker Process object to finish by
                             calling join() on it.

Reported-by: Peter Palfrader <weasel@debian.org>

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
# How long until a client is disabled and not be allowed to get the
6
6
# data this server holds.
7
 
;timeout = 1h
 
7
;timeout = PT5M
8
8
 
9
9
# How often to run the checker to confirm that a client is still up.
10
10
# Note: a new checker will not be started if an old one is still
11
11
# running.  The server will wait for a checker to complete until the
12
12
# above "timeout" occurs, at which time the client will be disabled,
13
13
# and any running checker killed.
14
 
;interval = 5m
 
14
;interval = PT2M
 
15
 
 
16
# Extended timeout is an added timeout that is given once after a
 
17
# password has been sent sucessfully to a client.  This allows for
 
18
# additional delays caused by file system checks and quota checks.
 
19
;extended_timeout = PT15M
15
20
 
16
21
# What command to run as "the checker".
17
22
;checker = fping -q -- %%(host)s
20
25
;approved_by_default = True
21
26
 
22
27
# How long to wait for approval.
23
 
;approval_delay = 0s
 
28
;approval_delay = PT0S
24
29
 
25
30
# How long one approval will last.
26
 
;approval_duration = 1s
 
31
;approval_duration = PT1S
 
32
 
 
33
# Whether this client is enabled by default
 
34
;enabled = True
27
35
 
28
36
 
29
37
;####
30
38
;# Example client
31
39
;[foo]
32
40
;
 
41
;# TLS public key ID
 
42
;key_id = f33fcbed11ed5e03073f6a55b86ffe92af0e24c045fb6e3b40547b3dc0c030ed
 
43
;
33
44
;# OpenPGP key fingerprint
34
45
;fingerprint =  7788 2722 5BA7 DE53 9C5A  7CFA 59CF F7CD BD9A 5920
35
46
;
60
71
;####
61
72
;# Another example client, named "bar".
62
73
;[bar]
 
74
;# The key ID is not space or case sensitive
 
75
;key_id = F33FCBED11ED5E03073F6A55B86FFE92 AF0E24C045FB6E3B40547B3DC0C030ED
 
76
;
63
77
;# The fingerprint is not space or case sensitive
64
78
;fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
65
79
;
66
80
;# If "secret" is not specified, a file can be read for the data.
67
 
;secfile = /etc/mandos/bar-secret.bin
 
81
;secfile = /etc/keys/mandos/bar-secret.bin
68
82
;
69
83
;# An IP address for host is also fine, if the checker accepts it.
70
84
;host = 192.0.2.3
71
85
;
72
86
;# Parameters from the [DEFAULT] section can be overridden per client.
73
 
;interval = 5m
 
87
;interval = PT1M
74
88
;
75
89
;# This client requires manual approval before it receives its secret.
76
90
;approved_by_default = False
77
91
;# Require approval within 30 seconds.
78
 
;approval_delay = 30s
 
92
;approval_delay = PT30S
79
93
;####