diff options
author | Jonathan McCrohan <jmccrohan@gmail.com> | 2014-06-16 01:16:30 +0100 |
---|---|---|
committer | Jonathan McCrohan <jmccrohan@gmail.com> | 2014-06-16 01:19:20 +0100 |
commit | b239328a0ba64574d549e9a8c21e4c8855584a8e (patch) | |
tree | 82e4aaa68bf2596b7335fd359c3ca0e310766a7a /net/sslh/files | |
parent | e128013289dc5b57249187b4efc7e14a5a27d5c1 (diff) |
Import (and adopt) sslh package to new packagefeed
Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Diffstat (limited to 'net/sslh/files')
-rw-r--r-- | net/sslh/files/sslh.config | 30 | ||||
-rw-r--r-- | net/sslh/files/sslh.init | 62 |
2 files changed, 92 insertions, 0 deletions
diff --git a/net/sslh/files/sslh.config b/net/sslh/files/sslh.config new file mode 100644 index 000000000..07ed02b47 --- /dev/null +++ b/net/sslh/files/sslh.config @@ -0,0 +1,30 @@ +package 'sslh' + +config 'sslh' 'default' + # disable or enable + option 'enable' '1' + # listen defaults to '0.0.0.0:443' (all interfaces) + # multiple -p arguments may be supplied using a uci list + # -p <listenaddr>:<listenport> + option 'listen' '' + # ssh defaults to 'localhost:22' + # --ssh <sshhost>:<sshport> + option 'ssh' '' + # ssl defaults to 'localhost:443' + # --ssl <sslhost>:<sslport> + option 'ssl' '' + # openvpn defaults to 'localhost:1194' + # --openvpn <openvpnhost>:<openvpnport> + option 'openvpn' '' + # tinc defaults to 'localhost:655' + # --tinc <tinchost>:<tincport> + option 'tinc' '' + # xmpp defaults to 'localhost:5222' + # --xmpp <xmpphost>:<xmppport> + option 'xmpp' '' + # timeout (for ssh, then ssl is assumed) defaults to 2 + # -t + option 'timeout' '' + # verbose defaults to off + # -v + option 'verbose' '0' diff --git a/net/sslh/files/sslh.init b/net/sslh/files/sslh.init new file mode 100644 index 000000000..cc146864d --- /dev/null +++ b/net/sslh/files/sslh.init @@ -0,0 +1,62 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2009-2012 OpenWrt.org + +START=95 + +# XXX: pid-files are useless because sslh forks after creating them +SERVICE_USE_PID= + +start_instance() { + local section="$1" + + # check if section is enabled (default) + local enable + config_get_bool enable "${section}" 'enable' '0' + [ ${enable} -gt 0 ] || return 1 + + local args="" + local val + # A) listen parameter + config_get vals "${section}" listen + [ -n "${vals}" ] && for val in $vals; do append args "-p ${val}"; done + # B) ssh parameter + config_get val "${section}" ssh + [ -n "${val}" ] && append args "--ssh ${val}" + # C) ssl parameter + config_get val "${section}" ssl + [ -n "${val}" ] && append args "--ssl ${val}" + # D) openvpn parameter + config_get val "${section}" openvpn + [ -n "${val}" ] && append args "--openvpn ${val}" + # E) tinc parameter + config_get val "${section}" tinc + [ -n "${val}" ] && append args "--tinc ${val}" + # F) xmpp parameter + config_get val "${section}" xmpp + [ -n "${val}" ] && append args "--xmpp ${val}" + # G) timeout (before a connection is considered to be SSH) + config_get val "${section}" timeout + [ -n "${val}" ] && append args "-t ${val}" + # H) verbose parameter + local verbosed + config_get_bool verbosed "${section}" verbose 0 + [ "${verbosed}" -ne 0 ] && append args "-v" + + # Defaults were removed for --user and --pidfile options + # in sslh 1.11; Define them here instead. + append args "--user nobody" + append args "--pidfile /var/run/sslh.pid" + + # XXX: allow more that one instance to run simultaneously + SERVICE_MATCH_NAME=1 SERVICE_NAME="sslh-dummy-$$" \ + service_start /usr/sbin/sslh ${args} +} + +start() { + config_load 'sslh' + config_foreach start_instance 'sslh' +} + +stop() { + service_stop /usr/sbin/sslh +} |