summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/sslh/files/sslh-1.18-systemd-generator.patch26
-rw-r--r--net-misc/sslh/files/sslh-1.18-version-deps.patch13
-rw-r--r--net-misc/sslh/files/sslh.conf.d-24
-rw-r--r--net-misc/sslh/files/sslh.init.d-22
-rw-r--r--net-misc/sslh/sslh-1.18-r1.ebuild60
5 files changed, 102 insertions, 3 deletions
diff --git a/net-misc/sslh/files/sslh-1.18-systemd-generator.patch b/net-misc/sslh/files/sslh-1.18-systemd-generator.patch
new file mode 100644
index 000000000000..476de2a4c1e1
--- /dev/null
+++ b/net-misc/sslh/files/sslh-1.18-systemd-generator.patch
@@ -0,0 +1,26 @@
+https://patch-diff.githubusercontent.com/raw/yrutschle/sslh/pull/98
+--- a/Makefile
++++ b/Makefile
+@@ -27,6 +27,8 @@ CFLAGS ?=-Wall -g $(CFLAGS_COV)
+ LIBS=
+ OBJS=common.o sslh-main.o probe.o tls.o
+
++CONDITIONAL_TARGETS=
++
+ ifneq ($(strip $(USELIBWRAP)),)
+ LIBS:=$(LIBS) -lwrap
+ CPPFLAGS+=-DLIBWRAP
+@@ -54,10 +56,11 @@ endif
+ ifneq ($(strip $(USESYSTEMD)),)
+ LIBS:=$(LIBS) -lsystemd
+ CPPFLAGS+=-DSYSTEMD
++ CONDITIONAL_TARGETS+=systemd-sslh-generator
+ endif
+
+
+-all: sslh $(MAN) echosrv
++all: sslh $(MAN) echosrv $(CONDITIONAL_TARGETS)
+
+ .c.o: *.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
diff --git a/net-misc/sslh/files/sslh-1.18-version-deps.patch b/net-misc/sslh/files/sslh-1.18-version-deps.patch
new file mode 100644
index 000000000000..aa028715513d
--- /dev/null
+++ b/net-misc/sslh/files/sslh-1.18-version-deps.patch
@@ -0,0 +1,13 @@
+make sure the files using version.h depend on it being generated first
+
+--- a/Makefile
++++ b/Makefile
+@@ -78,7 +78,7 @@
+ systemd-sslh-generator: systemd-sslh-generator.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o systemd-sslh-generator systemd-sslh-generator.o -lconfig
+
+-echosrv: $(OBJS) echosrv.o
++echosrv: version.h $(OBJS) echosrv.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o echosrv echosrv.o probe.o common.o tls.o $(LIBS)
+
+ $(MAN): sslh.pod Makefile
diff --git a/net-misc/sslh/files/sslh.conf.d-2 b/net-misc/sslh/files/sslh.conf.d-2
index 719be7b8dd15..73d08d5f4484 100644
--- a/net-misc/sslh/files/sslh.conf.d-2
+++ b/net-misc/sslh/files/sslh.conf.d-2
@@ -1,8 +1,8 @@
# /etc/conf.d/sslh
# Options to sslh itself. See the sslh(1) man page.
-#OPTIONS=""
+#DAEMON_OPTS=""
# Multiplexing example
# Port 44 can be used for ssh, http, and https. Drop privileges after starting.
-#OPTIONS="-p localhost:44 --ssh 127.0.0.1:22 --http 127.0.0.1:80 --ssl 127.0.0.1:443 --user nobody"
+#DAEMON_OPTS="-p localhost:44 --ssh 127.0.0.1:22 --http 127.0.0.1:80 --ssl 127.0.0.1:443 --user nobody"
diff --git a/net-misc/sslh/files/sslh.init.d-2 b/net-misc/sslh/files/sslh.init.d-2
index 0351f7c68e53..b75e96f2a371 100644
--- a/net-misc/sslh/files/sslh.init.d-2
+++ b/net-misc/sslh/files/sslh.init.d-2
@@ -8,7 +8,7 @@ start() {
start-stop-daemon --start \
--pidfile /var/run/${SVCNAME}.pid \
--exec /usr/sbin/sslh -- \
- ${OPTIONS} \
+ ${DAEMON_OPTS} \
--pidfile /var/run/${SVCNAME}.pid
eend $?
}
diff --git a/net-misc/sslh/sslh-1.18-r1.ebuild b/net-misc/sslh/sslh-1.18-r1.ebuild
new file mode 100644
index 000000000000..1059a96c866f
--- /dev/null
+++ b/net-misc/sslh/sslh-1.18-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+MY_P="${PN}-v${PV}"
+inherit systemd toolchain-funcs
+
+DESCRIPTION="Port multiplexer - accept both HTTPS and SSH connections on the same port"
+HOMEPAGE="http://www.rutschle.net/tech/sslh.shtml"
+SRC_URI="http://www.rutschle.net/tech/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~m68k ~mips ~s390 ~sh ~x86"
+IUSE="caps systemd tcpd"
+
+RDEPEND="caps? ( sys-libs/libcap )
+ systemd? ( sys-apps/systemd:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ dev-libs/libconfig"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+RESTRICT="test"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.17-version-deps.patch"
+ "${FILESDIR}/${PN}-1.18-version-deps.patch"
+ "${FILESDIR}/${PN}-1.18-systemd-generator.patch"
+)
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ USELIBCAP=$(usev caps) \
+ USELIBWRAP=$(usev tcpd) \
+ USESYSTEMD=$(usev systemd)
+}
+
+src_install() {
+ dosbin sslh-{fork,select}
+ dosym sslh-fork /usr/sbin/sslh
+ doman sslh.8.gz
+ dodoc ChangeLog README.md
+
+ newinitd "${FILESDIR}"/sslh.init.d-2 sslh
+ newconfd "${FILESDIR}"/sslh.conf.d-2 sslh
+
+ if use systemd; then
+ # Gentoo puts the binaries in /usr/sbin, but upstream puts them in /usr/bin
+ sed -i -e 's~/usr/bin/~/usr/sbin/~g' scripts/systemd.sslh.service || die
+ systemd_newunit scripts/systemd.sslh.service sslh.service
+ exeinto /usr/lib/systemd/system-generators/
+ doexe systemd-sslh-generator
+ fi
+}