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

  • Committer: Teddy Hogeborn
  • Date: 2019-07-14 23:39:53 UTC
  • Revision ID: teddy@recompile.se-20190714233953-1zmsd3o062xloazt
Server bug fix: Allow restarts when using port= option

If the Mandos server is configured to use a specific TCP port to
listen to (by using the port= option in mandos.conf or the command
line --port option), that port becomes unusable for a time when the
Mandos server is restarted, making restarts fail.  Avoid this by, if a
port number is specified, using SO_REUSEADDR when binding the
listening TCP socket to a port number.

* mandos (IPv6_TCPServer.server_bind): Set self.allow_reuse_address if
                                       a port number is specified.

Reported-by: Juan Miguel Alcarria Herrera <juanmi@arco2000.es>

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
[Unit]
2
2
Description=Server of encrypted passwords to Mandos clients
3
3
Documentation=man:intro(8mandos) man:mandos(8)
 
4
## If the server is configured to listen to a specific IP or network
 
5
## interface, it may be necessary to change "network.target" to
 
6
## "network-online.target".
 
7
After=network.target
 
8
## If the server is configured to not use ZeroConf, these two lines
 
9
## become unnecessary and should be removed or commented out.
 
10
After=avahi-daemon.service
 
11
Requisite=avahi-daemon.service
4
12
 
5
13
[Service]
 
14
## If the server's D-Bus interface is disabled, the "BusName" setting
 
15
## should be removed or commented out.
6
16
BusName=se.recompile.Mandos
7
17
ExecStart=/usr/sbin/mandos --foreground
8
18
Restart=always
11
21
## bind() on the socket, and also won't announce the ZeroConf service.
12
22
#ExecStart=/usr/sbin/mandos --foreground --socket=0
13
23
#StandardInput=socket
 
24
# Restrict what the Mandos daemon can do.  Note that this also affects
 
25
# "checker" programs!
 
26
PrivateTmp=yes
 
27
PrivateDevices=yes
 
28
ProtectSystem=full
 
29
ProtectHome=yes
 
30
CapabilityBoundingSet=CAP_KILL CAP_SETGID CAP_SETUID CAP_DAC_OVERRIDE CAP_NET_RAW
 
31
ProtectKernelTunables=yes
 
32
ProtectControlGroups=yes
14
33
 
15
34
[Install]
16
35
WantedBy=multi-user.target