Github messages for voidlinux
 help / color / mirror / Atom feed
* [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).