* [PR PATCH] sslh: update to 1.22c.
@ 2021-09-30 16:50 pfpulux
2021-10-01 8:24 ` [PR PATCH] [Merged]: " ericonr
0 siblings, 1 reply; 2+ messages in thread
From: pfpulux @ 2021-09-30 16:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]
There is a new pull request by pfpulux against master on the void-packages repository
https://github.com/pfpulux/void-packages sslh
https://github.com/void-linux/void-packages/pull/33193
sslh: update to 1.22c.
<!-- 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/33193.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sslh-33193.patch --]
[-- Type: text/x-diff, Size: 27928 bytes --]
From 7bdfad0c8d027650b79a511dcf6892e76092195c Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.eu>
Date: Thu, 30 Sep 2021 18:47:14 +0200
Subject: [PATCH] sslh: update to 1.22c.
---
.../backport-fix-for-libconfig-1.7.3.patch | 712 ------------------
srcpkgs/sslh/template | 8 +-
2 files changed, 4 insertions(+), 716 deletions(-)
delete mode 100644 srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch
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
deleted file mode 100644
index 837e9c28249b..000000000000
--- a/srcpkgs/sslh/patches/backport-fix-for-libconfig-1.7.3.patch
+++ /dev/null
@@ -1,712 +0,0 @@
-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 c2862bf62014..746a8b8062b8 100644
--- a/srcpkgs/sslh/template
+++ b/srcpkgs/sslh/template
@@ -1,15 +1,15 @@
# Template file for 'sslh'
pkgname=sslh
-version=1.21c
-revision=2
+version=1.22c
+revision=1
hostmakedepends="perl"
-makedepends="pcre-devel libconfig-devel libcap-devel"
+makedepends="pcre-devel libconfig-devel libcap-devel pcre2-devel"
short_desc="Applicative Protocol Multiplexer"
maintainer="Markus Berger <pulux@pf4sh.de>"
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
+checksum=ec5f6998f90b2849d113f2617db7ceca5281fbe4ef55fcd185789d390c09eb04
do_build() {
sed -i 's|^MAN=sslh.8.gz|MAN=sslh.8|g' Makefile
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PR PATCH] [Merged]: sslh: update to 1.22c.
2021-09-30 16:50 [PR PATCH] sslh: update to 1.22c pfpulux
@ 2021-10-01 8:24 ` ericonr
0 siblings, 0 replies; 2+ messages in thread
From: ericonr @ 2021-10-01 8:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1433 bytes --]
There's a merged pull request on the void-packages repository
sslh: update to 1.22c.
https://github.com/void-linux/void-packages/pull/33193
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] 2+ messages in thread
end of thread, other threads:[~2021-10-01 8:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-30 16:50 [PR PATCH] sslh: update to 1.22c pfpulux
2021-10-01 8:24 ` [PR PATCH] [Merged]: " ericonr
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).