his patch bumps the sslh package to v1.9.
This update brings about some useful changes, including:
* Multiple bind address support
* IPv6 support
* OpenVPN support
* tinc VPN support
Tested and working on ar71xx.
Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
SVN-Revision: 28331
include $(TOPDIR)/rules.mk
PKG_NAME:=sslh
-PKG_VERSION:=1.7a
-PKG_RELEASE:=2
+PKG_VERSION:=1.9
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://rutschle.net/tech/
-PKG_MD5SUM:=ee124654412198a5e11fe28acf10634d
+PKG_MD5SUM:=1c0193853ef35f80e3e4b1a744832cd1
include $(INCLUDE_DIR)/package.mk
define Package/sslh/install
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/sslh $(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
# 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'
- # -s <sshhost>:<sshport>
+ # --ssh <sshhost>:<sshport>
option 'ssh' ''
# ssl defaults to 'localhost:443'
- # -l <sslhost>:<sslport>
+ # --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' ''
# timeout (for ssh, then ssl is assumed) defaults to 2
# -t
option 'timeout' ''
#!/bin/sh /etc/rc.common
-# Copyright (C) 2009-2010 OpenWrt.org
+# Copyright (C) 2009-2011 OpenWrt.org
NAME=sslh
PROG=/usr/sbin/sslh
local args="-P /var/run/${NAME}.${PIDCOUNT}.pid"
local val
# A) listen parameter
- config_get val "${section}" listen
- [ -n "${val}" ] && append args "-p ${val}"
+ 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 "-s ${val}"
+ [ -n "${val}" ] && append args "--ssh ${val}"
# C) ssl parameter
config_get val "${section}" ssl
- [ -n "${val}" ] && append args "-l ${val}"
- # D) timeout (for ssh, then ssl is assumed)
+ [ -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) timeout (before a connection is considered to be SSH)
config_get val "${section}" timeout
[ -n "${val}" ] && append args "-t ${val}"
- # E) verbose parameter
+ # G) verbose parameter
local verbosed
config_get_bool verbosed "${section}" verbose 0
[ "${verbosed}" -ne 0 ] && append args "-v"
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -27,16 +27,12 @@
+ $(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
+-
+
+ $(MAN): sslh.pod Makefile
+ pod2man --section=8 --release=$(VERSION) --center=" " sslh.pod | gzip -9 - > $(MAN)
+@@ -58,7 +54,7 @@
+ update-rc.d sslh remove
+
+ clean:
+- rm -f sslh-fork sslh-select $(MAN) *.o
++ rm -f sslh-fork $(MAN) *.o
+
+ tags:
+ ctags -T *.[ch]
---- a/Makefile
-+++ b/Makefile
-@@ -24,7 +24,6 @@ all: sslh $(MAN)
-
- sslh: sslh.c Makefile
- $(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh sslh.c $(LIBS)
-- strip sslh
-
- $(MAN): sslh.pod Makefile
- pod2man --section=8 --release=$(VERSION) --center=" " sslh.pod | gzip -9 - > $(MAN)
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -31,7 +31,6 @@
+
+ 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)