Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3
@ 2021-07-27  6:40 pfpulux
  2021-07-27 13:40 ` [PR PATCH] [Updated] " pf4sh
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: pfpulux @ 2021-07-27  6:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1623 bytes --]

There is a new pull request by pfpulux against master on the void-packages repository

https://github.com/pf4sh/void-packages sslh
https://github.com/void-linux/void-packages/pull/32213

sslh: remove configfile support, not working since libconfig 1.7.3
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/32213.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sslh-32213.patch --]
[-- Type: text/x-diff, Size: 1586 bytes --]

From 30a1bf7fec83ffc2f0f6ee1bedb1fe0ef9d7ab94 Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Tue, 27 Jul 2021 08:38:10 +0200
Subject: [PATCH] sslh: remove configfile support, not working since libconfig
 1.7.3

---
 srcpkgs/sslh/files/sslh/run | 2 +-
 srcpkgs/sslh/template       | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sslh/files/sslh/run b/srcpkgs/sslh/files/sslh/run
index 18710d4f96ad..c19e72b7892b 100644
--- a/srcpkgs/sslh/files/sslh/run
+++ b/srcpkgs/sslh/files/sslh/run
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec sslh -f -u nobody -F/etc/sslh.cfg
+exec sslh -f -u nobody -t 2 -C /var/empty -n -p 192.168.123.5:443 --ssh 127.0.0.1:22 --tls 127.0.0.1:443
diff --git a/srcpkgs/sslh/template b/srcpkgs/sslh/template
index 55b6b53cee66..cf24738cbf5b 100644
--- a/srcpkgs/sslh/template
+++ b/srcpkgs/sslh/template
@@ -1,9 +1,9 @@
 # Template file for 'sslh'
 pkgname=sslh
 version=1.21c
-revision=1
+revision=2
 hostmakedepends="perl"
-makedepends="pcre-devel libconfig-devel libcap-devel"
+makedepends="pcre-devel libcap-devel"
 short_desc="Applicative Protocol Multiplexer"
 maintainer="Markus Berger <pulux@pf4sh.de>"
 license="GPL-2.0-or-later"
@@ -15,7 +15,7 @@ do_build() {
 	sed -i 's|^MAN=sslh.8.gz|MAN=sslh.8|g' Makefile
 	sed -i 's|sbin|bin|g' Makefile
 	sed -i 's|sslh.pod \| gzip -9 - > $(MAN)|sslh.pod > $(MAN)|g' Makefile
-	make CC=$CC ENABLE_REGEX=1 USELIBPCRE=1 USELIBCONFIG=1 USELIBCAP=1
+	make CC=$CC ENABLE_REGEX=1 USELIBPCRE=1 USELIBCONFIG= USELIBCAP=1
 }
 do_install() {
 	make DESTDIR=${DESTDIR} PREFIX=/usr install

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
@ 2021-07-27 13:40 ` pf4sh
  2021-07-27 14:33 ` ericonr
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pf4sh @ 2021-07-27 13:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1626 bytes --]

There is an updated pull request by pf4sh against master on the void-packages repository

https://github.com/pf4sh/void-packages sslh
https://github.com/void-linux/void-packages/pull/32213

sslh: remove configfile support, not working since libconfig 1.7.3
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/32213.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sslh-32213.patch --]
[-- Type: text/x-diff, Size: 1538 bytes --]

From 3d5a21c0377f64c8708180985ada70f0193535d2 Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Tue, 27 Jul 2021 08:38:10 +0200
Subject: [PATCH] sslh: remove configfile support, not working since libconfig
 1.7.3

---
 srcpkgs/sslh/files/sslh/run | 3 ++-
 srcpkgs/sslh/template       | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sslh/files/sslh/run b/srcpkgs/sslh/files/sslh/run
index 18710d4f96ad..5ad7d50ab509 100644
--- a/srcpkgs/sslh/files/sslh/run
+++ b/srcpkgs/sslh/files/sslh/run
@@ -1,2 +1,3 @@
 #!/bin/sh
-exec sslh -f -u nobody -F/etc/sslh.cfg
+[ -r ./conf ] && . conf
+exec sslh -f -u nobody ${OPTS}
diff --git a/srcpkgs/sslh/template b/srcpkgs/sslh/template
index 55b6b53cee66..cf24738cbf5b 100644
--- a/srcpkgs/sslh/template
+++ b/srcpkgs/sslh/template
@@ -1,9 +1,9 @@
 # Template file for 'sslh'
 pkgname=sslh
 version=1.21c
-revision=1
+revision=2
 hostmakedepends="perl"
-makedepends="pcre-devel libconfig-devel libcap-devel"
+makedepends="pcre-devel libcap-devel"
 short_desc="Applicative Protocol Multiplexer"
 maintainer="Markus Berger <pulux@pf4sh.de>"
 license="GPL-2.0-or-later"
@@ -15,7 +15,7 @@ do_build() {
 	sed -i 's|^MAN=sslh.8.gz|MAN=sslh.8|g' Makefile
 	sed -i 's|sbin|bin|g' Makefile
 	sed -i 's|sslh.pod \| gzip -9 - > $(MAN)|sslh.pod > $(MAN)|g' Makefile
-	make CC=$CC ENABLE_REGEX=1 USELIBPCRE=1 USELIBCONFIG=1 USELIBCAP=1
+	make CC=$CC ENABLE_REGEX=1 USELIBPCRE=1 USELIBCONFIG= USELIBCAP=1
 }
 do_install() {
 	make DESTDIR=${DESTDIR} PREFIX=/usr install

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
  2021-07-27 13:40 ` [PR PATCH] [Updated] " pf4sh
@ 2021-07-27 14:33 ` ericonr
  2021-07-27 14:39 ` ericonr
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ericonr @ 2021-07-27 14:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 252 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32213#issuecomment-887564876

Comment:
Is there some upstream bug you can link explaining this? Did the library break in some way `sslh` can't handle?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
  2021-07-27 13:40 ` [PR PATCH] [Updated] " pf4sh
  2021-07-27 14:33 ` ericonr
@ 2021-07-27 14:39 ` ericonr
  2021-07-28 16:24 ` [PR PATCH] [Updated] " pf4sh
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ericonr @ 2021-07-27 14:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32213#issuecomment-887569695

Comment:
Hopefully backportable and/or ask upstream for a new release?

https://github.com/yrutschle/sslh/commit/24e7f46a431b59043bf534eb7cdab76c4ffd595a and https://github.com/yrutschle/conf2struct/commit/c3fe07b8570bab1c195c7a659339824cf1676c0e

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
                   ` (2 preceding siblings ...)
  2021-07-27 14:39 ` ericonr
@ 2021-07-28 16:24 ` pf4sh
  2021-07-28 16:26 ` pfpulux
  2021-07-28 16:26 ` [PR PATCH] [Closed]: " pfpulux
  5 siblings, 0 replies; 7+ messages in thread
From: pf4sh @ 2021-07-28 16:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1626 bytes --]

There is an updated pull request by pf4sh against master on the void-packages repository

https://github.com/pf4sh/void-packages sslh
https://github.com/void-linux/void-packages/pull/32213

sslh: remove configfile support, not working since libconfig 1.7.3
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/32213.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sslh-32213.patch --]
[-- Type: text/x-diff, Size: 28135 bytes --]

From 3e2a789ae786d3b5acfad766c3e88f77f1793f55 Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Tue, 27 Jul 2021 08:38:10 +0200
Subject: [PATCH] sslh: add patch to work with libconfig 1.7.3

---
 srcpkgs/sslh/files/sslh/run                   |   3 +-
 .../backport-fix-for-libconfig-1.7.3.patch    | 712 ++++++++++++++++++
 srcpkgs/sslh/template                         |   3 +-
 3 files changed, 716 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch

diff --git a/srcpkgs/sslh/files/sslh/run b/srcpkgs/sslh/files/sslh/run
index 18710d4f96ad..5ad7d50ab509 100644
--- a/srcpkgs/sslh/files/sslh/run
+++ b/srcpkgs/sslh/files/sslh/run
@@ -1,2 +1,3 @@
 #!/bin/sh
-exec sslh -f -u nobody -F/etc/sslh.cfg
+[ -r ./conf ] && . conf
+exec sslh -f -u nobody ${OPTS}
diff --git a/srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch b/srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch
new file mode 100644
index 000000000000..837e9c28249b
--- /dev/null
+++ b/srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch
@@ -0,0 +1,712 @@
+From: yrutschle <git1@rutschle.net>
+Date: Wed, 23 Jun 2021 11:48:59 +0200
+Subject: fix for libconfig 1.7.3
+
+
+diff --git a/sslh-conf.c b/sslh-conf.c
+index 2fd0eaf..530ef6b 100644
+--- a/sslh-conf.c
++++ b/sslh-conf.c
+@@ -1,5 +1,5 @@
+ /* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
+- * on Wed Jul 29 22:51:16 2020. 
++ * on Wed Jun 23 11:46:45 2021. 
+ 
+ # conf2struct: generate libconf parsers that read to structs
+ # Copyright (C) 2018-2019  Yves Rutschle
+@@ -48,6 +48,18 @@
+ /* This gets included in the output .c file */
+ 
+ 
++/* Libconfig 1.4.9 is still used by major distributions
++ * (e.g. CentOS7) and had a different name for
++ * config_setting_lookup */
++#if LIBCONFIG_VER_MAJOR == 1
++#if LIBCONFIG_VER_MINOR == 4
++#if LIBCONFIG_VER_REVISION == 9
++#define config_setting_lookup config_lookup_from
++#endif
++#endif
++#endif
++
++
+ /* config_type, lookup_fns, type2str are related, keep them together */
+ typedef enum {
+     CFG_BOOL,
+@@ -114,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);
+@@ -122,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;
+ }
+@@ -134,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;
+ }
+@@ -159,13 +211,30 @@ char* config_error_text(config_t* c) {
+ }
+ #endif
+ 
++/* This is the same as config_setting_lookup_string() except
++it allocates a new string which belongs to the caller */
++static int myconfig_setting_lookup_stringcpy(
++        const config_setting_t* setting, 
++        const char* name, 
++        char** value)
++{
++    const char* str;
++    *value = NULL;
++    if (config_setting_lookup_string(setting, name, &str) == CONFIG_TRUE) {
++        asprintf(value, "%s", str);
++        return CONFIG_TRUE;
++    } else {
++        return CONFIG_FALSE;
++    }
++}
++
+ typedef int (*lookup_fn)(const config_setting_t*, const char*, void*);
+ lookup_fn lookup_fns[] = {
+     (lookup_fn)config_setting_lookup_bool,
+     (lookup_fn)config_setting_lookup_int,
+     (lookup_fn)config_setting_lookup_int64,
+     (lookup_fn)config_setting_lookup_float,
+-    (lookup_fn)config_setting_lookup_string,
++    (lookup_fn)myconfig_setting_lookup_stringcpy,
+     NULL,  /* CFG_GROUP */
+     NULL,  /* CFG_ARRAY */
+     NULL,  /* CFG_LIST */
+@@ -380,6 +449,7 @@ struct arg_file* sslhcfg_conffile;
+  struct arg_str* sslhcfg_chroot;
+  struct arg_str* sslhcfg_syslog_facility;
+  struct arg_str* sslhcfg_on_timeout;
++ struct arg_str* sslhcfg_prefix;
+  	struct arg_str* sslhcfg_listen;
+  	struct arg_str* sslhcfg_ssh;
+  	struct arg_str* sslhcfg_tls;
+@@ -392,7 +462,7 @@ struct arg_file* sslhcfg_conffile;
+  	struct arg_str* sslhcfg_anyprot;
+  struct arg_end* sslhcfg_end;
+ 
+-                                                                                                                    
++                                                                                                                                      
+ static struct config_desc table_sslhcfg_protocols[] = {
+ 
+ 
+@@ -460,6 +530,22 @@ static struct config_desc table_sslhcfg_protocols[] = {
+             /* default_val*/    .default_val.def_string = NULL 
+         },
+ 
++        { 
++            /* name */          "is_udp", 
++            /* type */          CFG_BOOL, 
++            /* sub_group*/      NULL,
++            /* arg_cl */        NULL,
++            /* base_addr */     NULL,
++            /* offset */        offsetof(struct sslhcfg_protocols_item, is_udp),
++            /* offset_len */    0,
++            /* offset_present */ 0,
++            /* size */          sizeof(int), 
++            /* array_type */    -1,
++            /* mandatory */     0, 
++            /* optional */      0, 
++            /* default_val*/    .default_val.def_bool = 0 
++        },
++
+         { 
+             /* name */          "fork", 
+             /* type */          CFG_BOOL, 
+@@ -492,6 +578,22 @@ static struct config_desc table_sslhcfg_protocols[] = {
+             /* default_val*/    .default_val.def_bool = 0 
+         },
+ 
++        { 
++            /* name */          "transparent", 
++            /* type */          CFG_BOOL, 
++            /* sub_group*/      NULL,
++            /* arg_cl */        NULL,
++            /* base_addr */     NULL,
++            /* offset */        offsetof(struct sslhcfg_protocols_item, transparent),
++            /* offset_len */    0,
++            /* offset_present */ 0,
++            /* size */          sizeof(int), 
++            /* array_type */    -1,
++            /* mandatory */     0, 
++            /* optional */      0, 
++            /* default_val*/    .default_val.def_bool = 0 
++        },
++
+         { 
+             /* name */          "log_level", 
+             /* type */          CFG_INT, 
+@@ -589,7 +691,7 @@ static struct config_desc table_sslhcfg_protocols[] = {
+         },
+ 	{ 0 }
+ };
+-                                    
++                                             
+ static struct config_desc table_sslhcfg_listen[] = {
+ 
+ 
+@@ -625,6 +727,22 @@ static struct config_desc table_sslhcfg_listen[] = {
+             /* default_val*/    .default_val.def_string = NULL 
+         },
+ 
++        { 
++            /* name */          "is_udp", 
++            /* type */          CFG_BOOL, 
++            /* sub_group*/      NULL,
++            /* arg_cl */        NULL,
++            /* base_addr */     NULL,
++            /* offset */        offsetof(struct sslhcfg_listen_item, is_udp),
++            /* offset_len */    0,
++            /* offset_present */ 0,
++            /* size */          sizeof(int), 
++            /* array_type */    -1,
++            /* mandatory */     0, 
++            /* optional */      0, 
++            /* default_val*/    .default_val.def_bool = 0 
++        },
++
+         { 
+             /* name */          "keepalive", 
+             /* type */          CFG_BOOL, 
+@@ -642,7 +760,7 @@ static struct config_desc table_sslhcfg_listen[] = {
+         },
+ 	{ 0 }
+ };
+-                                                                                                    
++                                                                                                             
+ static struct config_desc table_sslhcfg[] = {
+ 
+ 
+@@ -822,6 +940,22 @@ static struct config_desc table_sslhcfg[] = {
+             /* default_val*/    .default_val.def_string = "ssh" 
+         },
+ 
++        { 
++            /* name */          "prefix", 
++            /* type */          CFG_STRING, 
++            /* sub_group*/      NULL,
++            /* arg_cl */        & sslhcfg_prefix,
++            /* base_addr */     NULL,
++            /* offset */        offsetof(struct sslhcfg_item, prefix),
++            /* offset_len */    0,
++            /* offset_present */ 0,
++            /* size */          sizeof(char*), 
++            /* array_type */    -1,
++            /* mandatory */     0, 
++            /* optional */      0, 
++            /* default_val*/    .default_val.def_string = "" 
++        },
++
+         { 
+             /* name */          "listen", 
+             /* type */          CFG_LIST, 
+@@ -859,7 +993,7 @@ static struct compound_cl_target sslhcfg_anyprot_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "anyprot" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -867,7 +1001,7 @@ static struct compound_cl_target sslhcfg_socks5_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "socks5" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -875,7 +1009,7 @@ static struct compound_cl_target sslhcfg_adb_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "adb" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -883,7 +1017,7 @@ static struct compound_cl_target sslhcfg_http_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "http" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -891,7 +1025,7 @@ static struct compound_cl_target sslhcfg_xmpp_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "xmpp" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -899,8 +1033,8 @@ static struct compound_cl_target sslhcfg_tinc_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "tinc" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
+-	{ & table_sslhcfg_protocols[5], 0, .value.def_bool = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[6], 0, .value.def_bool = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -908,8 +1042,8 @@ static struct compound_cl_target sslhcfg_openvpn_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "openvpn" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
+-	{ & table_sslhcfg_protocols[5], 0, .value.def_bool = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[6], 0, .value.def_bool = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -917,8 +1051,8 @@ static struct compound_cl_target sslhcfg_tls_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "tls" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
+-	{ & table_sslhcfg_protocols[5], 0, .value.def_bool = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[6], 0, .value.def_bool = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -926,9 +1060,9 @@ static struct compound_cl_target sslhcfg_ssh_targets [] = {
+ 	{ & table_sslhcfg_protocols[0], 0, .value.def_string = "ssh" },
+ 	{ & table_sslhcfg_protocols[1], 1, .value.def_string = "0" },
+ 	{ & table_sslhcfg_protocols[2], 2, .value.def_string = "0" },
+-	{ & table_sslhcfg_protocols[4], 0, .value.def_bool = 1 },
+-	{ & table_sslhcfg_protocols[6], 0, .value.def_int = 1 },
+ 	{ & table_sslhcfg_protocols[5], 0, .value.def_bool = 1 },
++	{ & table_sslhcfg_protocols[8], 0, .value.def_int = 1 },
++	{ & table_sslhcfg_protocols[6], 0, .value.def_bool = 1 },
+ 	{ 0 }
+ };
+ 
+@@ -942,7 +1076,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: listen */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_listen,
+-            .base_entry =      & table_sslhcfg [11],
++            .base_entry =      & table_sslhcfg [12],
+             .targets =         sslhcfg_listen_targets,
+ 
+ 
+@@ -954,7 +1088,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: ssh */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_ssh,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_ssh_targets,
+ 
+ 
+@@ -966,7 +1100,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: tls */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_tls,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_tls_targets,
+ 
+ 
+@@ -978,7 +1112,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: openvpn */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_openvpn,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_openvpn_targets,
+ 
+ 
+@@ -990,7 +1124,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: tinc */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_tinc,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_tinc_targets,
+ 
+ 
+@@ -1002,7 +1136,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: xmpp */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_xmpp,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_xmpp_targets,
+ 
+ 
+@@ -1014,7 +1148,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: http */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_http,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_http_targets,
+ 
+ 
+@@ -1026,7 +1160,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: adb */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_adb,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_adb_targets,
+ 
+ 
+@@ -1038,7 +1172,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: socks5 */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_socks5,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_socks5_targets,
+ 
+ 
+@@ -1050,7 +1184,7 @@ static struct compound_cl_arg compound_cl_args[] = {
+         {   /* arg: anyprot */
+             .regex =           "(.+):(\\w+)",
+             .arg_cl =          & sslhcfg_anyprot,
+-            .base_entry =      & table_sslhcfg [12],
++            .base_entry =      & table_sslhcfg [13],
+             .targets =         sslhcfg_anyprot_targets,
+ 
+ 
+@@ -1108,7 +1242,7 @@ static void print_setting(config_type type, void* val)
+ 
+ /* Changes all dashes to underscores in a string of
+ * vice-versa */
+-void strswap_ud(const char target, char* str)
++static void strswap_ud(const char target, char* str)
+ {
+     char* c;
+     for (c = str; *c; c++)
+@@ -1118,7 +1252,7 @@ void strswap_ud(const char target, char* str)
+ 
+ /* Same as config_setting_lookup() but looks up with dash or
+ * underscore so `my_setting` and `my-setting` match the same */
+-config_setting_t* config_setting_lookup_ud(config_setting_t* cfg, struct config_desc* desc)
++static config_setting_t* config_setting_lookup_ud(config_setting_t* cfg, struct config_desc* desc)
+ {
+     config_setting_t* setting;
+     char name[strlen(desc->name)+1];;
+@@ -1134,7 +1268,7 @@ config_setting_t* config_setting_lookup_ud(config_setting_t* cfg, struct config_
+     return setting;
+ }
+ 
+-int lookup_typed_ud(config_setting_t* cfg, void* target, struct config_desc *desc)
++static int lookup_typed_ud(config_setting_t* cfg, void* target, struct config_desc *desc)
+ {
+     lookup_fn lookup_fn = lookup_fns[desc->type];
+     char name[strlen(desc->name)+1];;
+@@ -1148,6 +1282,22 @@ int lookup_typed_ud(config_setting_t* cfg, void* target, struct config_desc *des
+     return lookup_fn(cfg, name, ((char*)target) + desc->offset);
+ }
+ 
++/* Removes a setting, trying both underscores and dashes as
++* name (so deleting 'my-setting' deletes both 'my_setting'
++* and 'my-setting') */
++static int setting_delete_ud(config_setting_t* cfg, struct config_desc *desc)
++{
++    char name[strlen(desc->name)+1];;
++    strcpy(name, desc->name);
++
++    strswap_ud('_', name);
++    if (config_setting_remove(cfg, name) == CONFIG_TRUE)
++        return CONFIG_TRUE;
++
++    strswap_ud('-', name);
++    return config_setting_remove(cfg, name);
++}
++
+ /* When traversing configuration, allocate memory for plural
+ * types, init for scalars */
+ static void read_block_init(void* target, config_setting_t* cfg, struct config_desc* desc)
+@@ -1232,6 +1382,7 @@ static int read_block_setval(void* target,
+                 TRACE_READ(("[%d] = ", i));
+                 print_setting(desc->array_type, (char*)block + desc->size *i); TRACE_READ(("\n"));
+             }
++            setting_delete_ud(cfg, desc);
+         }
+         break;
+ 
+@@ -1253,6 +1404,7 @@ static int read_block_setval(void* target,
+                 return 0;
+             }
+             print_setting(desc->type, (((char*)target) + desc->offset));
++            setting_delete_ud(cfg, desc);
+             in_cfg = 1;
+         } else {
+             TRACE_READ((" not in config file"));
+@@ -1544,6 +1696,86 @@ static int c2s_parse_file(const char* filename, config_t* c, char**errmsg)
+     return 1;
+ }
+ 
++/* Allocates a new string that represents the setting value, which must be a scalar */
++static void scalar_to_string(char** strp, config_setting_t* s)
++{
++    switch(config_setting_type(s)) {
++    case CONFIG_TYPE_INT:
++        asprintf(strp, "%d\n", config_setting_get_int(s));
++        break;
++
++    case CONFIG_TYPE_BOOL:
++        asprintf(strp, "%s\n", config_setting_get_bool(s) ?  "[true]" : "[false]" );
++        break;
++
++    case CONFIG_TYPE_INT64:
++        asprintf(strp, "%lld\n", config_setting_get_int64(s));
++        break;
++
++    case CONFIG_TYPE_FLOAT:
++        asprintf(strp, "%lf\n", config_setting_get_float(s));
++        break;
++
++    case CONFIG_TYPE_STRING:
++        asprintf(strp, "%s\n", config_setting_get_string(s));
++        break;
++
++    default: /* This means a bug */
++        fprintf(stderr, "Unexpected type %d\n", config_setting_type(s));
++        exit(1);
++    }
++}
++
++/* Typesets all the settings in a configuration as a
++* newly-allocated string. The string management is caller's
++* responsability. 
++* Returns the number of scalars in the configuration */
++static int cfg_as_string(config_setting_t* parent, const char* path, char** strp)
++{
++    int i, len, res = 0;
++    config_setting_t* child;
++    char* subpath, *value, *old;
++    const char* name;
++
++    len = config_setting_length(parent);
++    for (i = 0; i < len; i++) {
++        child = config_setting_get_elem(parent, i);
++        name = config_setting_name(child);
++        if (!name) name = "";
++
++        if(config_setting_is_list(parent) ||
++           config_setting_is_array(parent)) {
++            asprintf(&subpath, "%s[%d]%s", path, config_setting_index(child), name);
++        } else {
++            asprintf(&subpath, "%s/%s", path, name);
++        }
++
++        if (config_setting_is_scalar(child)) {
++            scalar_to_string(&value, child);
++
++            /* Add value to the output string  */
++            if (*strp) {
++                asprintf(&old, "%s", *strp);
++                free(*strp);
++            }  else {
++                asprintf(&old, "%s", "");
++            }
++            asprintf(strp, "%s%s:%s", old, subpath, value);
++            free(value);
++            free(old);
++
++            res++; /* At least one scalar was found */
++        } else {
++            /* It's an aggregate -- descend into it */
++            res += cfg_as_string(child, subpath, strp);
++        }
++
++        free(subpath);
++    }
++    return res;
++}
++
++
+ /* 0: success
+    <0: error */
+ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
+@@ -1567,6 +1799,7 @@ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
+          sslhcfg_chroot = arg_strn("C", "chroot", "<path>", 0, 1, "Root to change to after set-up"),
+          sslhcfg_syslog_facility = arg_strn(NULL, "syslog-facility", "<str>", 0, 1, "Facility to syslog to"),
+          sslhcfg_on_timeout = arg_strn(NULL, "on-timeout", "<str>", 0, 1, "Target to connect to when timing out"),
++         sslhcfg_prefix = arg_strn(NULL, "prefix", "<str>", 0, 1, "Reserved for testing"),
+  	sslhcfg_listen = arg_strn("p", "listen", "<host:port>", 0, 10, "Listen on host:port"),
+  	sslhcfg_ssh = arg_strn(NULL, "ssh", "<host:port>", 0, 10, "Set up ssh target"),
+  	sslhcfg_tls = arg_strn(NULL, "tls", "<host:port>", 0, 10, "Set up TLS/SSL target"),
+@@ -1592,14 +1825,14 @@ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
+ 
+ 
+     config_init(&c);
+-    if (sslhcfg_conffile->count) {
++    if (sslhcfg_conffile && sslhcfg_conffile->count) {
+         if (!c2s_parse_file(sslhcfg_conffile->filename[0], &c, &errmsg)) {
+             fprintf(stderr, "%s\n", errmsg);
+             return -1;
+         }
+     }
+ 
+-    s = config_lookup(&c, "/");
++    s = config_root_setting(&c);
+ 
+     res = read_block(s, cfg, table_sslhcfg, &errmsg);
+     if (!res) {
+@@ -1613,6 +1846,11 @@ int sslhcfg_cl_parse(int argc, char* argv[], struct sslhcfg_item* cfg)
+         return -1;
+     }
+ 
++    errmsg = NULL;
++    res = cfg_as_string(s, "", &errmsg);
++    if (res)
++        fprintf(stderr, "Unknown settings:\n%s\n", errmsg);
++
+     return 0;
+ }
+ 
+@@ -1645,12 +1883,18 @@ static void sslhcfg_protocols_fprint(
+             fprintf(out, " <unset>");
+         fprintf(out, "\n");
+         indent(out, depth);
++        fprintf(out, "is_udp: %d", sslhcfg_protocols->is_udp);
++        fprintf(out, "\n");
++        indent(out, depth);
+         fprintf(out, "fork: %d", sslhcfg_protocols->fork);
+         fprintf(out, "\n");
+         indent(out, depth);
+         fprintf(out, "tfo_ok: %d", sslhcfg_protocols->tfo_ok);
+         fprintf(out, "\n");
+         indent(out, depth);
++        fprintf(out, "transparent: %d", sslhcfg_protocols->transparent);
++        fprintf(out, "\n");
++        indent(out, depth);
+         fprintf(out, "log_level: %d", sslhcfg_protocols->log_level);
+         fprintf(out, "\n");
+         indent(out, depth);
+@@ -1694,6 +1938,9 @@ static void sslhcfg_listen_fprint(
+         fprintf(out, "port: %s", sslhcfg_listen->port);
+         fprintf(out, "\n");
+         indent(out, depth);
++        fprintf(out, "is_udp: %d", sslhcfg_listen->is_udp);
++        fprintf(out, "\n");
++        indent(out, depth);
+         fprintf(out, "keepalive: %d", sslhcfg_listen->keepalive);
+         fprintf(out, "\n");
+ }
+@@ -1743,6 +1990,9 @@ void sslhcfg_fprint(
+         indent(out, depth);
+         fprintf(out, "on_timeout: %s", sslhcfg->on_timeout);
+         fprintf(out, "\n");
++        indent(out, depth);
++        fprintf(out, "prefix: %s", sslhcfg->prefix);
++        fprintf(out, "\n");
+ 
+         indent(out, depth);
+         fprintf(out, "listen [%zu]:\n", sslhcfg->listen_len);
+diff --git a/sslh-conf.h b/sslh-conf.h
+index 9f48cf7..fbcc1c6 100644
+--- a/sslh-conf.h
++++ b/sslh-conf.h
+@@ -1,5 +1,5 @@
+ /* Generated by conf2struct (https://www.rutschle.net/tech/conf2struct/README)
+- * on Wed Jul 29 22:51:16 2020. 
++ * on Wed Jun 23 11:46:45 2021. 
+ 
+ # conf2struct: generate libconf parsers that read to structs
+ # Copyright (C) 2018-2019  Yves Rutschle
+@@ -43,6 +43,7 @@
+ struct sslhcfg_listen_item {
+ 	char*	host;
+ 	char*	port;
++	int	is_udp;
+ 	int	keepalive;
+ };
+ 
+@@ -52,8 +53,10 @@ struct sslhcfg_protocols_item {
+ 	char*	port;
+ 	int	service_is_present;
+ 	char*	service;
++	int	is_udp;
+ 	int	fork;
+ 	int	tfo_ok;
++	int	transparent;
+ 	int	log_level;
+ 	int	keepalive;
+ 	size_t	sni_hostnames_len;
+@@ -84,6 +87,7 @@ struct sslhcfg_item {
+ 	char*	chroot;
+ 	char*	syslog_facility;
+ 	char*	on_timeout;
++	char*	prefix;
+ 	size_t	listen_len;
+ 	struct sslhcfg_listen_item* listen;
+ 	size_t	protocols_len;
+diff --git a/sslh-fork.c b/sslh-fork.c
diff --git a/srcpkgs/sslh/template b/srcpkgs/sslh/template
index 55b6b53cee66..0dba29e72b27 100644
--- a/srcpkgs/sslh/template
+++ b/srcpkgs/sslh/template
@@ -1,7 +1,7 @@
 # Template file for 'sslh'
 pkgname=sslh
 version=1.21c
-revision=1
+revision=2
 hostmakedepends="perl"
 makedepends="pcre-devel libconfig-devel libcap-devel"
 short_desc="Applicative Protocol Multiplexer"
@@ -10,6 +10,7 @@ license="GPL-2.0-or-later"
 homepage="https://www.rutschle.net/tech/sslh/README.html"
 distfiles="https://github.com/yrutschle/sslh/archive/v${version}.tar.gz"
 checksum=2e457e59592f8e523cade8d9302b0fdc87f8ea0322beb674dd7f067547a93ea9
+patch_args=-Np1
 
 do_build() {
 	sed -i 's|^MAN=sslh.8.gz|MAN=sslh.8|g' Makefile

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
                   ` (3 preceding siblings ...)
  2021-07-28 16:24 ` [PR PATCH] [Updated] " pf4sh
@ 2021-07-28 16:26 ` pfpulux
  2021-07-28 16:26 ` [PR PATCH] [Closed]: " pfpulux
  5 siblings, 0 replies; 7+ messages in thread
From: pfpulux @ 2021-07-28 16:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 181 bytes --]

New comment by pfpulux on void-packages repository

https://github.com/void-linux/void-packages/pull/32213#issuecomment-888446650

Comment:
will make a new PR with a backport patch

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Closed]: sslh: remove configfile support, not working since libconfig 1.7.3
  2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
                   ` (4 preceding siblings ...)
  2021-07-28 16:26 ` pfpulux
@ 2021-07-28 16:26 ` pfpulux
  5 siblings, 0 replies; 7+ messages in thread
From: pfpulux @ 2021-07-28 16:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1477 bytes --]

There's a closed pull request on the void-packages repository

sslh: remove configfile support, not working since libconfig 1.7.3
https://github.com/void-linux/void-packages/pull/32213

Description:
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-07-28 16:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  6:40 [PR PATCH] sslh: remove configfile support, not working since libconfig 1.7.3 pfpulux
2021-07-27 13:40 ` [PR PATCH] [Updated] " pf4sh
2021-07-27 14:33 ` ericonr
2021-07-27 14:39 ` ericonr
2021-07-28 16:24 ` [PR PATCH] [Updated] " pf4sh
2021-07-28 16:26 ` pfpulux
2021-07-28 16:26 ` [PR PATCH] [Closed]: " pfpulux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).