Commit | Line | Data |
---|---|---|
f48ae55b MW |
1 | ;;; -*-conf-windows-*- |
2 | ;;; | |
3 | ;;; systemd service configuration for the main tripe server. | |
4 | ||
5 | [Unit] | |
6 | Description=Tripe virtual private network server | |
7 | Documentation=man:tripe(8) | |
8 | ||
9 | ConditionPathExists=@sbindir@/tripe | |
10 | ConditionPathExists=@bindir@/tripectl | |
11 | ||
12 | After=syslog.target network.target | |
13 | ||
14 | [Install] | |
15 | WantedBy=multi-user.target | |
16 | ||
17 | [Service] | |
18 | Type=forking | |
19 | PIDFile=/var/run/tripectl.pid | |
20 | ||
21 | ExecStart=/bin/sh -e -c ' \ | |
22 | . @initconfig@ && \ | |
23 | logopt= && \ | |
24 | case $${syslogp-nil} in nil) ;; *) logopt="$$logopt -l" ;; esac && \ | |
25 | case $${logfile+t},$${syslogp-nil} in \ | |
26 | t,*) logopt="$$logopt -f$$logfile" ;; \ | |
27 | ,nil) logopt="$$logopt -f@logfile@" ;; \ | |
28 | esac && \ | |
29 | exec @bindir@/tripectl -D -s -p@sbindir@/tripe \ | |
30 | -P/var/run/tripectl.pid \ | |
31 | $$logopt \ | |
32 | $${keytag+-S-t$$keytag} \ | |
33 | $${addr+-S-b$$addr} $${port+-S-p$$port} \ | |
34 | $${user+-U$$user} $${group+-G$$group} \ | |
35 | $${sockmode+-S-m$$sockmode} \ | |
36 | $${trace+-S-t$$trace} \ | |
37 | $${tunnel+-S-n$$tunnel} \ | |
38 | $$miscopts' | |
39 | ||
40 | ExecReload=@bindir@/tripectl RELOAD | |
41 | ExecStop=@bindir@/tripectl QUIT | |
42 | ||
43 | ExecStartPre=/bin/sh -e -c ' \ | |
44 | if { test -f /proc/misc && grep -q tun /proc/misc; } || \ | |
45 | modprobe -q tun; \ | |
46 | then \ | |
47 | : good; \ | |
48 | else \ | |
49 | echo >&2 "tripe needs the TUN/TAP driver"; exit 1; \ | |
50 | fi; \ | |
51 | if test -c /dev/net/tun; then \ | |
52 | : good; \ | |
53 | else \ | |
54 | echo >&2 "tripe needs /dev/net/tun, which is missing"; \ | |
55 | exit 1; \ | |
56 | fi' | |
57 | ||
58 | ExecStartPost=/bin/sh -e -c ' \ | |
59 | for i in 1 2 3 4 give-up; do \ | |
60 | @bindir@/tripectl HELP >/dev/null 2>&1 && break; \ | |
61 | sleep 1; \ | |
62 | done; \ | |
63 | case $$i in \ | |
64 | give-up) echo >&2 "tripe daemon failed to start"; exit 1 ;; \ | |
65 | esac' |