1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2009-2012 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 # XXX: allow more that one instance to run simultaneously
46 SERVICE_MATCH_NAME
=1 SERVICE_NAME
="sslh-dummy-$$" \
47 service_start
/usr
/sbin
/sslh
${args}
52 config_foreach start_instance
'sslh'
56 service_stop
/usr
/sbin
/sslh