Import (and adopt) sslh package to new packagefeed

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
This commit is contained in:
Jonathan McCrohan
2014-06-16 01:16:30 +01:00
parent e128013289
commit b239328a0b
4 changed files with 172 additions and 0 deletions
+30
View File
@@ -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'
+62
View File
@@ -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
}