Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>lilik-openwrt-22.03
@ -0,0 +1,51 @@ | |||||
# | |||||
# Copyright (C) 2009-2012 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=sslh | |||||
PKG_VERSION:=1.16 | |||||
PKG_RELEASE:=1 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=http://rutschle.net/tech/ | |||||
PKG_MD5SUM:=1e85b84eb82a96b81de9b1e637a3e795 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/sslh | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
SUBMENU:=Routing and Redirection | |||||
TITLE:=SSL/SSH multiplexer | |||||
URL:=http://rutschle.net/tech/sslh.shtml | |||||
MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com> | |||||
endef | |||||
define Package/sslh/conffiles | |||||
/etc/config/sslh | |||||
endef | |||||
define Build/Compile | |||||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||||
CC="$(TARGET_CC)" \ | |||||
CFLAGS="$(TARGET_CFLAGS)" \ | |||||
USELIBCONFIG= \ | |||||
USELIBWRAP= \ | |||||
all | |||||
endef | |||||
define Package/sslh/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/sslh-fork $(1)/usr/sbin/sslh | |||||
$(INSTALL_DIR) $(1)/etc/init.d/ | |||||
$(INSTALL_BIN) files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME) | |||||
$(INSTALL_DIR) $(1)/etc/config | |||||
$(INSTALL_CONF) files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME) | |||||
endef | |||||
$(eval $(call BuildPackage,sslh)) |
@ -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' |
@ -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 | |||||
} |
@ -0,0 +1,29 @@ | |||||
--- a/Makefile | |||||
+++ b/Makefile | |||||
@@ -37,16 +37,12 @@ all: sslh $(MAN) echosrv | |||||
$(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -c $< | |||||
-sslh: $(OBJS) sslh-fork sslh-select | |||||
+sslh: $(OBJS) sslh-fork | |||||
sslh-fork: $(OBJS) sslh-fork.o Makefile common.h | |||||
$(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-fork sslh-fork.o $(OBJS) $(LIBS) | |||||
#strip sslh-fork | |||||
-sslh-select: $(OBJS) sslh-select.o Makefile common.h | |||||
- $(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-select sslh-select.o $(OBJS) $(LIBS) | |||||
- #strip sslh-select | |||||
- | |||||
echosrv: $(OBJS) echosrv.o | |||||
$(CC) $(CFLAGS) -o echosrv echosrv.o probe.o common.o $(LIBS) | |||||
@@ -77,7 +73,7 @@ uninstall: | |||||
update-rc.d sslh remove | |||||
clean: | |||||
- rm -f sslh-fork sslh-select echosrv $(MAN) *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info | |||||
+ rm -f sslh-fork echosrv $(MAN) *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info | |||||
tags: | |||||
ctags --globals -T *.[ch] |