/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-07-25 22:44:20 UTC
  • mto: This revision was merged to the branch mainline in revision 724.
  • Revision ID: teddy@recompile.se-20140725224420-4a5ct2ptt0hsc92z
Require Python 2.7.

This is in preparation for the eventual move to Python 3, which will
happen as soon as all Python modules required by Mandos are available.
The mandos-ctl and mandos-monitor programs are already portable
between Python 2.6 and Python 3 without changes; this change will
bring the requirement up to Python 2.7.

* INSTALL (Prerequisites/Libraries/Mandos Server): Document
                                                   requirement of
                                                   Python 2.7; remove
                                                   Python-argparse
                                                   which is in the
                                                   Python 2.7 standard
                                                   library.
* debian/control (Source: mandos/Build-Depends-Indep): Depend on
                                                       exactly the
                                                       python2.7
                                                       package and all
                                                       the Python 2.7
                                                       versions of the
                                                       python modules.
  (Package: mandos/Depends): - '' - but still depend on python (<=2.7)
                            and the generic versions of the Python
                            modules; this is for mandos-ctl and
                            mandos-monitor, both of which are
                            compatible with Python 3, and use
                            #!/usr/bin/python.
* mandos: Use #!/usr/bin/python2.7 instead of #!/usr/bin/python.

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
17
 
EnvironmentFile=/etc/default/mandos
18
 
ExecStart=/usr/sbin/mandos --foreground $DAEMON_ARGS
 
10
# If you add --no-dbus, also comment out BusName above, and vice versa
 
11
ExecStart=/usr/sbin/mandos --foreground
19
12
Restart=always
20
 
KillMode=mixed
21
 
## Using socket activation won't work, because systemd always does
22
 
## 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.
23
17
#ExecStart=/usr/sbin/mandos --foreground --socket=0
24
18
#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
34
19
 
35
20
[Install]
36
21
WantedBy=multi-user.target