1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2009-2017 OpenWrt.org
6 # XXX: pid-files are useless because sslh forks after creating them
12 # check if section is enabled (default)
14 config_get_bool
enable "${section}" 'enable' '0'
15 [ ${enable} -gt 0 ] ||
return 1
20 config_get vals
"${section}" listen
21 [ -n "${vals}" ] && for val
in $vals; do append args
"-p${val}"; done
23 config_get val
"${section}" ssh
24 [ -n "${val}" ] && append args
"--ssh ${val}"
26 config_get val
"${section}" ssl
27 [ -n "${val}" ] && append args
"--ssl ${val}"
28 # D) openvpn parameter
29 config_get val
"${section}" openvpn
30 [ -n "${val}" ] && append args
"--openvpn ${val}"
32 config_get val
"${section}" tinc
33 [ -n "${val}" ] && append args
"--tinc ${val}"
35 config_get val
"${section}" xmpp
36 [ -n "${val}" ] && append args
"--xmpp ${val}"
37 # G) timeout (before a connection is considered to be SSH)
38 config_get val
"${section}" timeout
39 [ -n "${val}" ] && append args
"-t ${val}"
40 # H) verbose parameter
42 config_get_bool verbosed
"${section}" verbose
0
43 [ "${verbosed}" -ne 0 ] && append args
"-v"
45 # Defaults were removed for --user and --pidfile options
46 # in sslh 1.11; Define them here instead.
47 append args
"--user nobody"
48 append args
"--pidfile /var/run/sslh.pid"
50 # XXX: allow more that one instance to run simultaneously
51 SERVICE_MATCH_NAME
=1 SERVICE_NAME
="sslh-dummy-$$" \
52 service_start
/usr
/sbin
/sslh
${args}
57 config_foreach start_instance
'sslh'
61 service_stop
/usr
/sbin
/sslh