sslh: new package

Signed-off-by: David Bachelart <david.bachelart@bbright.com>
[Thomas:
 - fix download location
 - remove <pkg>_SOURCE variable, it was the default value
 - remove trailing space
 - keep only sha256 hash.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
David Bachelart 2017-01-26 10:40:36 +01:00 committed by Thomas Petazzoni
parent f1b2fc9bb3
commit ddbc51b247
6 changed files with 134 additions and 0 deletions

View File

@ -1636,6 +1636,7 @@ endif
source "package/spice-protocol/Config.in"
source "package/squid/Config.in"
source "package/sshpass/Config.in"
source "package/sslh/Config.in"
source "package/strongswan/Config.in"
source "package/stunnel/Config.in"
source "package/tcpdump/Config.in"

View File

@ -0,0 +1,43 @@
From 0c39699da9a3d6534b6d26e7c9686ee76d81b64a Mon Sep 17 00:00:00 2001
From: David Bachelart <david.bachelart@bbright.com>
Date: Thu, 26 Jan 2017 10:07:47 +0100
Subject: [PATCH] fix version extraction when building in a larger git tree
sslh uses host git to extract its own version number. In buildroot, this
is an issue since extracted information is conflicting with buildroot git
status if we use git as VCS for buildroot.
Since these git calls are legitimate only if git is used for the sslh
subtree only, this patch adds a check : a .git directory has to exist at
the root of the project to enable git-extracted version string.
Signed-off-by: David Bachelart <david.bachelart@bbright.com>
---
genver.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/genver.sh b/genver.sh
index 79fd0a0..051e57b 100755
--- a/genver.sh
+++ b/genver.sh
@@ -7,7 +7,7 @@ else
QUIET=0
fi
-if ! `(git status | grep -q "On branch") 2> /dev/null`; then
+if [ ! -d .git ] || ! `(git status | grep -q "On branch") 2> /dev/null`; then
# If we don't have git, we can't work out what
# version this is. It must have been downloaded as a
# zip file.
@@ -25,7 +25,7 @@ if ! `(git status | grep -q "On branch") 2> /dev/null`; then
fi
fi
-if head=`git rev-parse --verify HEAD 2>/dev/null`; then
+if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
# generate the version info based on the tag
release=`(git describe --tags || git --describe || git describe --all --long) \
2>/dev/null | tr -d '\n'`
--
2.1.4

14
package/sslh/Config.in Normal file
View File

@ -0,0 +1,14 @@
config BR2_PACKAGE_SSLH
bool "sslh"
depends on BR2_INSTALL_LIBSTDCPP
# uses fork()
depends on BR2_USE_MMU
select BR2_PACKAGE_LIBCONFIG
help
Applicative protocol multiplexer
http://www.rutschle.net/tech/sslh.shtml
comment "sslh needs a toolchain w/ C++"
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP

48
package/sslh/S35sslh Normal file
View File

@ -0,0 +1,48 @@
#!/bin/sh
#
# Starts the SSLH server
#
# default setup : listen on port 8090 forward ssh traffic to
# localhost:22 and http traffic to localhost:80
SSLH_ARGS="--listen 0.0.0.0:8090 --ssh 127.0.0.1:22 --http 127.0.0.1:80"
# Allow a few customizations from a config file (overrides
# default setup)
test -r /etc/default/sslh && . /etc/default/sslh
start() {
SSLH_ARGS="$SSLH_ARGS --user root"
echo -n "Starting sslh: "
start-stop-daemon -S -q -p /var/run/sslh.pid \
--exec /usr/sbin/sslh -- $SSLH_ARGS
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping sslh: "
start-stop-daemon -K -q -p /var/run/sslh.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

2
package/sslh/sslh.hash Normal file
View File

@ -0,0 +1,2 @@
# Locally calculated
sha256 1601a5b377dcafc6b47d2fbb8d4d25cceb83053a4adcc5874d501a2d5a7745ad sslh-v1.18.tar.gz

26
package/sslh/sslh.mk Normal file
View File

@ -0,0 +1,26 @@
################################################################################
#
# sslh
#
################################################################################
SSLH_VERSION = v1.18
SSLH_SITE = http://www.rutschle.net/tech/sslh
SSLH_LICENSE = GPLv2+
SSLH_LICENSE_FILES = COPYING
SSLH_DEPENDENCIES = libconfig
define SSLH_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
endef
define SSLH_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
endef
define SSLH_INSTALL_INIT_SYSV
$(INSTALL) -m 755 -D package/sslh/S35sslh $(TARGET_DIR)/etc/init.d/S35sslh
endef
$(eval $(generic-package))