/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: 2014-06-14 22:55:11 UTC
  • Revision ID: teddy@recompile.se-20140614225511-0ge6tce2esulf65t
In plugin-runner, do scandirat() or scandir() instead of readdir().

* plugin-runner.c (set_cloexec_flag): Only define if O_CLOEXEC is not
                                      defined, it is not called
                                      otherwise.
  (main): Remove variables "dir" and "dirst"; new variable "dir_fd".
          Use scandirat() if available, scandir() otherwise, both
          using new filter function "good_name".  Removed checking of
          plugin file name patterns; this is now done by "good_name".
          Do not set FD_CLOEXEC flag on plugin_fd, since fexecve()
          will not work with it.  Use pipe2() to set O_CLOEXEC on pipe
          FD's (if possible).
  (main/good_name): New filter function for scandirat() or scandir().

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
 
Requisite=avahi-daemon.service
12
3
 
13
4
[Service]
14
 
## If the server's D-Bus interface is disabled, the "BusName" setting
15
 
## should be removed or commented out.
 
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
16
9
BusName=se.recompile.Mandos
 
10
# If you add --no-dbus, also comment out BusName above, and vice versa
17
11
ExecStart=/usr/sbin/mandos --foreground
18
12
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.
 
13
KillMode=process
 
14
## Using socket activation won't work either, because systemd always
 
15
## does bind() on the socket, and also won't announce the ZeroConf
 
16
## service.
22
17
#ExecStart=/usr/sbin/mandos --foreground --socket=0
23
18
#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
33
19
 
34
20
[Install]
35
21
WantedBy=multi-user.target