/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 mandos.service

  • Committer: Teddy Hogeborn
  • Date: 2023-02-07 23:03:33 UTC
  • mto: This revision was merged to the branch mainline in revision 408.
  • Revision ID: teddy@recompile.se-20230207230333-5halrp7943pgb3w1
Server: Bug fix: Stagger checker runs when creating clients

* mandos (Client.enable()): Do not set self.expires here; move it to
  "init_checker".
  (Client.init_checker()): Take new "randomize_start" argument.  If
  True, randomize delay before starting checker.  Also, do not start
  checker right now, but instead extend expire time so that the
  scheduled checker always has time to run.
  (Checker.start_checker): Take new "start_was_randomized" argument.
  If True, reset scheduled checker runs to be 'interval' apart,
  instead of using the initial delay.  (Bug fix)
  (main): On startup, pass argument randomize_start=True to
  client.init_checker() when initizlizing checkers for all enabled
  clients.

Reported-by: Louis Charreau <Louis.Charreau@vadesecure.com>
Suggested-by: Louis Charreau <Louis.Charreau@vadesecure.com>
Fixes: 1200 ("Server: Stagger checker runs when creating clients")

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
## If the server is configured to not use ZeroConf, these two lines
9
9
## become unnecessary and should be removed or commented out.
10
10
After=avahi-daemon.service
11
 
RequisiteOverridable=avahi-daemon.service
 
11
Requisite=avahi-daemon.service
12
12
 
13
13
[Service]
14
14
## If the server's D-Bus interface is disabled, the "BusName" setting
15
15
## should be removed or commented out.
16
16
BusName=se.recompile.Mandos
17
 
ExecStart=/usr/sbin/mandos --foreground
 
17
EnvironmentFile=/etc/default/mandos
 
18
ExecStart=/usr/sbin/mandos --foreground $DAEMON_ARGS
18
19
Restart=always
19
20
KillMode=mixed
20
21
## Using socket activation won't work, because systemd always does
21
22
## bind() on the socket, and also won't announce the ZeroConf service.
22
23
#ExecStart=/usr/sbin/mandos --foreground --socket=0
23
24
#StandardInput=socket
 
25
# Restrict what the Mandos daemon can do.  Note that this also affects
 
26
# "checker" programs!
 
27
PrivateTmp=yes
 
28
PrivateDevices=yes
 
29
ProtectSystem=full
 
30
ProtectHome=yes
 
31
CapabilityBoundingSet=CAP_KILL CAP_SETGID CAP_SETUID CAP_DAC_OVERRIDE CAP_NET_RAW
 
32
ProtectKernelTunables=yes
 
33
ProtectControlGroups=yes
24
34
 
25
35
[Install]
26
36
WantedBy=multi-user.target