summaryrefslogtreecommitdiff
path: root/net-misc/sslh
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/sslh')
-rw-r--r--net-misc/sslh/Manifest2
-rw-r--r--net-misc/sslh/files/sslh-1.21c-libconfig-1.7.3.patch92
-rw-r--r--net-misc/sslh/sslh-1.21c-r3.ebuild77
3 files changed, 171 insertions, 0 deletions
diff --git a/net-misc/sslh/Manifest b/net-misc/sslh/Manifest
index e0deaa2c3ba7..33220b12a172 100644
--- a/net-misc/sslh/Manifest
+++ b/net-misc/sslh/Manifest
@@ -1,3 +1,4 @@
+AUX sslh-1.21c-libconfig-1.7.3.patch 2213 BLAKE2B 98160d65fd52b24a9640ea5207359ef8caf051707913e1195f5015f6c31a4e72f1e1145391a7f6c38880e450081ef71131ede094b5c4fc91b6af8fa1e3fc3f03 SHA512 5124efa125a45b761e8af3deed9ef01453619ee99243789961b01e9d0eee810b29c144e35f9533212a971d351faea77610f1fd6663e14ea4c5cf06843f02f00e
AUX sslh.conf.d-2 621 BLAKE2B 095522c582be245f1e49018848be738a33eb722cd9be4bd8a0830bbfaa1c2e4018ff480b625349372cc35ec47a1b10069cb5fd6a3c22d7e957e782c888c70b55 SHA512 31d482af0b3626f4b2f669f74a08fa6b6dfc310a40ab332cc3907306bd2fa5321f92e0e76af72c2ea185142f0d485578817e738737917b9c1764079070297e67
AUX sslh.init.d-3 270 BLAKE2B 98cc6c6ccc37a6e8af6d0e84356779e0f304e3d6f45f9fff53c3d1c870ff6b03ac780c04c29e4dce7d6aa3e4cdce365fb54228600e7ce70d9d32691202a5ffb5 SHA512 b919ae318c789ba3e5dd0f5df665a7421be791e89074b07ee00c47b3fe12475562eb5675bbb168c86388902bf50069e0d6f3e804a14666563de07a0a71075ee0
DIST sslh-1.21.tar.gz 111298 BLAKE2B 46003021292436023c7f2e0d9cbfb283f4ca7497f5da1562cb893a6f20df4ccaa1e6618fa2cdcc28f311518001396d861a5b50e36707327087192b0454f04287 SHA512 e758efc548b68ea4c50a56b6a6169f5c5bcfeb40163ff9968489ef6a3cdf2a69fa46869d1f53e24c6e31de4d44233005608dcf240968de6245653ccb068f692c
@@ -8,5 +9,6 @@ EBUILD sslh-1.20-r2.ebuild 1929 BLAKE2B 1cc0b4554e89aee8e7cde80da933824674a4ebf9
EBUILD sslh-1.21-r2.ebuild 1927 BLAKE2B 06fa388b50cf3be10daa60552a92fca375b10ff0a63acef5725e945423e365e9c8827173398cd1eb766ec3c145f967852b1e162a5e7906a7e4b75a60c4f3fbb2 SHA512 fd51f1353e53206b28336f9faee1d97de876dc72259ca866b466175d42841ff59ed52bd654a964c05f078bbb0de0d11ab7e1bd3a0626c235084273fd7e136dcf
EBUILD sslh-1.21b-r2.ebuild 1927 BLAKE2B 06fa388b50cf3be10daa60552a92fca375b10ff0a63acef5725e945423e365e9c8827173398cd1eb766ec3c145f967852b1e162a5e7906a7e4b75a60c4f3fbb2 SHA512 fd51f1353e53206b28336f9faee1d97de876dc72259ca866b466175d42841ff59ed52bd654a964c05f078bbb0de0d11ab7e1bd3a0626c235084273fd7e136dcf
EBUILD sslh-1.21c-r2.ebuild 1927 BLAKE2B 06fa388b50cf3be10daa60552a92fca375b10ff0a63acef5725e945423e365e9c8827173398cd1eb766ec3c145f967852b1e162a5e7906a7e4b75a60c4f3fbb2 SHA512 fd51f1353e53206b28336f9faee1d97de876dc72259ca866b466175d42841ff59ed52bd654a964c05f078bbb0de0d11ab7e1bd3a0626c235084273fd7e136dcf
+EBUILD sslh-1.21c-r3.ebuild 1980 BLAKE2B 0155382b36231974ce9d59554b94c5761df0d1bddd87e34c79487ee0d5c5db60f5a64ac5bce9fcb46a930d39bf624c2613556280540322e3fa2a1b12ae043090 SHA512 397c90cd785a4a055a4ea1a0ed6d33d04cefa7a6db219de82af667b42e1195031281804c77f46b0d1bf0910893435e7bc625c13d8597afa2cd021177d455cbdf
EBUILD sslh-9999.ebuild 1907 BLAKE2B b162585a30d535683f62186a3347496908b8593afc64e97ccf2503cfa2f3683c6dbe7567e31285fd5696e70d72c1395d3ee949afbc199f8577b6df1a9ea6ea39 SHA512 822016551a1f66789e1d76e2f5b71f2fed705d03711251564568577791d24617a7fc852eb27d38ea674d38ff30d7bcdd5caa543a251d7d52029f509c85bab514
MISC metadata.xml 409 BLAKE2B fefa58b2c38adf947e859893979931726dba91e4b30c6f7ae4e5343fb7e7a513a3b86c88ff6854df60ba92ef169beb4e22c7ad3a01ba69aea582765f13f82509 SHA512 373b7ca5bce7d2b680a7ccfdc4af15514365cf26824487baf2232608a6f29a5d1d338146c7f70841e7b03255527ec16967afc7a3fad3ef6d26fb2ab86fe8a3da
diff --git a/net-misc/sslh/files/sslh-1.21c-libconfig-1.7.3.patch b/net-misc/sslh/files/sslh-1.21c-libconfig-1.7.3.patch
new file mode 100644
index 000000000000..ea2a625a1850
--- /dev/null
+++ b/net-misc/sslh/files/sslh-1.21c-libconfig-1.7.3.patch
@@ -0,0 +1,92 @@
+From 24e7f46a431b59043bf534eb7cdab76c4ffd595a Mon Sep 17 00:00:00 2001
+From: yrutschle <git1@rutschle.net>
+Date: Wed, 23 Jun 2021 11:48:59 +0200
+Subject: [PATCH] fix for libconfig 1.7.3 (#292)
+
+---
+ sslh-conf.c | 50 +++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 88 insertions(+), 16 deletions(-)
+
+diff --git a/sslh-conf.c b/sslh-conf.c
+index 5f55656..530ef6b 100644
+--- a/sslh-conf.c
++++ b/sslh-conf.c
+@@ -126,6 +126,14 @@ typedef int config_t;
+ return 0; \
+ }
+
++enum {
++ CONFIG_TYPE_INT,
++ CONFIG_TYPE_BOOL,
++ CONFIG_TYPE_INT64,
++ CONFIG_TYPE_FLOAT,
++ CONFIG_TYPE_STRING
++};
++
+ make_config_setting_lookup(bool);
+ make_config_setting_lookup(int);
+ make_config_setting_lookup(int64);
+@@ -134,10 +142,14 @@ make_config_setting_lookup(string);
+
+ make_config_setting_get(bool, int);
+ make_config_setting_get(int, int);
+-make_config_setting_get(int64, int);
++make_config_setting_get(int64, long long int);
+ make_config_setting_get(float, double);
+ make_config_setting_get(string, char*);
+
++config_setting_t* config_root_setting(config_t* c) {
++ return NULL;
++}
++
+ config_setting_t* config_lookup(config_t* c, const char* b) {
+ return NULL;
+ }
+@@ -146,10 +158,38 @@ void config_init(config_t* c) {
+ return;
+ }
+
++char* config_setting_name(config_setting_t* c) {
++ return NULL;
++}
++
++int config_setting_is_list(config_setting_t* c) {
++ return 0;
++}
++
++int config_setting_is_array(config_setting_t* c) {
++ return 0;
++}
++
++int config_setting_is_scalar(config_setting_t* c) {
++ return 0;
++}
++
++int config_setting_index(const config_setting_t *setting) {
++ return 0;
++}
++
+ config_setting_t* config_setting_lookup(config_setting_t* a, char* b) {
+ return NULL;
+ }
+
++int config_setting_remove(config_setting_t* cfg, char* name) {
++ return 0;
++}
++
++int config_setting_type(config_setting_t* s) {
++ return -1;
++}
++
+ int config_setting_length(config_setting_t* a) {
+ return 0;
+ }
+@@ -1792,7 +1832,7 @@ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
+ }
+ }
+
+- s = config_lookup(&c, "/");
++ s = config_root_setting(&c);
+
+ res = read_block(s, cfg, table_sslhcfg, &errmsg);
+ if (!res) {
diff --git a/net-misc/sslh/sslh-1.21c-r3.ebuild b/net-misc/sslh/sslh-1.21c-r3.ebuild
new file mode 100644
index 000000000000..e062ddf36cad
--- /dev/null
+++ b/net-misc/sslh/sslh-1.21c-r3.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="Port multiplexer - accept both HTTPS and SSH connections on the same port"
+HOMEPAGE="https://www.rutschle.net/tech/sslh/README.html"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/yrutschle/sslh.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm ~m68k ~mips ~s390 ~x86"
+ SRC_URI="https://github.com/yrutschle/sslh/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ S=${WORKDIR}/${P}
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="caps pcre systemd tcpd"
+
+RDEPEND="caps? ( sys-libs/libcap )
+ pcre? ( dev-libs/libpcre:= )
+ systemd? ( sys-apps/systemd:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ >=dev-libs/libconfig-1.5:="
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+PATCHES=(
+ "${FILESDIR}/${P}-libconfig-1.7.3.patch"
+)
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i \
+ -e '/MAN/s:| gzip -9 - >:>:' \
+ -e '/MAN=sslh.8.gz/s:.gz::' \
+ Makefile || die
+}
+
+src_compile() {
+ # On older versions of GCC, the default gnu89 variant
+ # will reject within-for-loop initializers, bug #595426
+ # Furthermore, we need to use the gnu variant (gnu99) instead
+ # of the ISO (c99) variant, as we want the __USE_XOPEN2K macro
+ # to be defined.
+ append-cflags -std=gnu99
+
+ emake \
+ CC="$(tc-getCC)" \
+ USELIBPCRE=$(usev pcre) \
+ USELIBCAP=$(usev caps) \
+ USELIBWRAP=$(usev tcpd) \
+ USESYSTEMD=$(usev systemd)
+}
+
+src_install() {
+ dosbin sslh-{fork,select}
+ dosym sslh-fork /usr/sbin/sslh
+
+ doman ${PN}.8
+
+ dodoc ChangeLog README.md
+
+ newinitd "${FILESDIR}"/sslh.init.d-3 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
+}