ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/sslh/files/sslh.init b/external/subpack/net/sslh/files/sslh.init
new file mode 100644
index 0000000..8d7d1f1
--- /dev/null
+++ b/external/subpack/net/sslh/files/sslh.init
@@ -0,0 +1,71 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2009-2017 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) tls parameter
+	config_get val "${section}" tls
+	[ -n "${val}" ] && append args "--tls ${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"
+	 # I) sslh config file (cmd line args override file settings)
+	config_get val "${section}" configfile
+	[ -n "${val}" ] && append args "-F${val}"
+	# J) http parameter
+    config_get val "${section}" http
+    [ -n "${val}" ] && append args "--http ${val}"
+	# K) transparent parameter
+	config_get_bool val "${section}" transparent 0
+	[ "${val}" -ne 0 ] && append args "--transparent"
+
+	# 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
+}