/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: 2016-03-13 00:37:02 UTC
  • Revision ID: teddy@recompile.se-20160313003702-dulwtwt8ilpojra9
Server: Fix bug where it did not exit timely on signals

Use GLib.unix_signal_add() instead of signal.signal() to catch
signals; this will allow GLib to do its internal magic with signal
file descriptors.  (GLib does not handle signals properly otherwise.)
The function unix_signal_add() requires GLib 2.30 or later, which was
not required by PyGobject until version 3.7.1, so depend on this.

* INSTALL (Mandos Server): Document dependency on PyGObject 3.7.1
* mandos (main): Use GLib.unix_signal_add instead of signal.signal.
* init.d-mandos (do_stop): Remove workaround.
* mandos.service ([Service]): - '' -

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
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
RequisiteOverridable=avahi-daemon.service
3
12
 
4
13
[Service]
5
 
Type=simple
6
 
## Type=dbus is not appropriate, because Mandos also needs to announce
7
 
## its ZeroConf service and be reachable on the network.
8
 
#Type=dbus
9
 
#BusName=se.recompile.Mandos
 
14
## If the server's D-Bus interface is disabled, the "BusName" setting
 
15
## should be removed or commented out.
 
16
BusName=se.recompile.Mandos
10
17
ExecStart=/usr/sbin/mandos --foreground
11
18
Restart=always
12
 
KillMode=process
13
 
## Using socket activation won't work either, because systemd always
14
 
## does bind() on the socket, and also won't announce the ZeroConf
15
 
## service.
 
19
KillMode=mixed
 
20
## Using socket activation won't work, because systemd always does
 
21
## bind() on the socket, and also won't announce the ZeroConf service.
16
22
#ExecStart=/usr/sbin/mandos --foreground --socket=0
17
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
18
31
 
19
32
[Install]
20
33
WantedBy=multi-user.target