/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: 2015-06-28 16:35:27 UTC
  • mto: This revision was merged to the branch mainline in revision 759.
  • Revision ID: teddy@recompile.se-20150628163527-cky0ec59zew7teua
Add a plugin helper directory, available to all plugins.

* Makefile (PLUGIN_HELPERS): New; list of plugin helpers.
  (CPROGS): Appended "$(PLUGIN_HELPERS)".
* initramfs-tools-hook: Create new plugin helper directory, and copy
                        plugin helpers provided by the system and/or
                        by the local administrator.
  (PLUGINHELPERDIR): New.
* plugin-runner.c: Take new --plugin-helper-dir option and provide
                   environment variable to all plugins.
  (PHDIR): New; set to "/lib/mandos/plugin-helpers".
  (main/pluginhelperdir): New.
  (main/options): New option "--plugin-helper-dir".
  (main/parse_opt, main/parse_opt_config_file): Accept new option.
  (main): Use new option to set MANDOSPLUGINHELPERDIR environment
          variable as if using --global-env MANDOSPLUGINHELPERDIR=...
* plugin-runner.xml: Document new --plugin-helper-dir option.
  (SYNOPSIS, OPTIONS): Add "--plugin-helper-dir" option.
  (PLUGINS/WRITING PLUGINS): Document new environment variable
                             available to plugins.
  (ENVIRONMENT): Document new environment variable
                 "MANDOSPLUGINHELPERDIR" affected by the new
                 --plugin-helper-dir option.

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
 
RequisiteOverridable=avahi-daemon.service
12
4
 
13
5
[Service]
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
 
6
Type=simple
 
7
## Type=dbus is not appropriate, because Mandos also needs to announce
 
8
## its ZeroConf service and be reachable on the network.
 
9
#Type=dbus
 
10
#BusName=se.recompile.Mandos
 
11
# If you add --no-dbus, also comment out BusName above, and vice versa
17
12
ExecStart=/usr/sbin/mandos --foreground
18
13
Restart=always
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.
 
14
KillMode=process
 
15
## Using socket activation won't work either, because systemd always
 
16
## does bind() on the socket, and also won't announce the ZeroConf
 
17
## service.
22
18
#ExecStart=/usr/sbin/mandos --foreground --socket=0
23
19
#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
 
# Bug workaround; the daemon does not stop on SIGTERM until poked via
32
 
# D-Bus; cause is unknown at this time
33
 
ExecStop=/bin/kill -TERM $MAINPID ; /usr/sbin/mandos-ctl >/dev/null 2>&1
34
20
 
35
21
[Install]
36
22
WantedBy=multi-user.target