Am 14.12.24 um 22:37 schrieb Christoph Liebender:
Am 14.12.24 um 19:01 schrieb Björn Ketelaars:On Sat 14/12/2024 14:35, Christoph Liebender wrote:Am 14.12.24 um 13:26 schrieb Björn Ketelaars:On Sat 14/12/2024 00:08, Christoph Liebender wrote:Hello there everyone.This is my first try at contributing to the OpenBSD ports tree: https://liebender.dev/patches/openbsd-ports/wstunnel-port.tar.gzwstunnel is useful in case you want to connect to your OpenBSD box, giventhatyou are behind some firewall that restricts traffic to certain ports - for example, you can configure wstunnel to listen on :443 and connect to yourboxvia that port, to then route all your traffic to the wireguard interface of your server. There are other usecases though, but this is my primary one.Now, there are two patches included, even though wstunnel compiles on OpenBSD amd64 just fine. I had to apply these because the original Cargo.tomlreferences a github repository as a crate: fastwebsockets. In this case, the developer of wstunnel made changes to the original crate which they did not (yet?) upstream, and their fork does not include any tags for the Cargo.toml to reference. This is why I am patching Cargo.toml to reference the original crate and then apply the changes of the wstunnel developer on top. I edited crates.inc manually in this case to add fastwebsockets-0.8.0. Is there abetter way? `make modcargo-gen-crates` apparently only reads the unpatched, original Cargo.toml. Anyway, I'm glad to receive any feedback or comments. Thanks. - ChristophGreat start, thanks!Many thanks for your suggestions! The OpenBSD porting tools seem to be moreflexible than I initially thought :b- wstunnel.rc feels incomplete: Please check if there are some sane/ safedaemon_flags that can be added. Also, check if rc_bg=YES is needed.Yes, I have checked again and there probably also needs to be `--no- color true` because otherwise wstunnel would fill the log with escape- sequences.Though, would it make sense to "enforce" this argument no matter what deamon_flags are set? Does this need a custom rc_cmd? And yes, rc_bg=YES is needed because wstunnel stays in the foreground. I have applied your changes and reuploaded a v2 tarball to:https://liebender.dev/pub/openbsd-ports/wstunnel-port-v2.tar.gz (it is alsoattached for convenience) -#584 _nepenthes _nepenthes net/nepenthes +584 _wstunnel _wstunnel net/wstunnelRecycling id 584 should be ok. Concerning the port itself, couple of things: - No need for the GH_* stuff. "DIST_TUPLE+=github erebe wstunnel v10.1.7 ." already does the heavy lifting. - As a consequence you need to re-run 'make makesum' as PLIST needs to be updated. - Maybe make the --no-color flag default? diff -ruN wstunnel.orig/Makefile wstunnel/Makefile --- wstunnel.orig/Makefile Sat Dec 14 13:47:35 2024 +++ wstunnel/Makefile Sat Dec 14 18:55:17 2024 @@ -3,10 +3,6 @@ DIST_TUPLE += github erebe wstunnel v10.1.7 .DIST_TUPLE += github erebe fastwebsockets ef904598ec168d7748b28d77ec1803ba721932d8 fastwebsockets-GH_ACCOUNT = erebe -GH_PROJECT = wstunnel -GH_TAGNAME = v10.1.7 - CATEGORIES = net HOMEPAGE = https://github.com/erebe/wstunnel diff -ruN wstunnel.orig/distinfo wstunnel/distinfo --- wstunnel.orig/distinfo Sat Dec 14 14:22:21 2024 +++ wstunnel/distinfo Sat Dec 14 18:55:24 2024 @@ -346,7 +346,6 @@SHA256 (cargo/zerovec-derive-0.10.3.tar.gz) = bq+m37F1hOo+K9bnbgzBWtevErCavdHKVZYb7ZsQY8Y= SHA256 (erebe-fastwebsockets- ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = pTk3zyTTSZ0jr2ofJrFT4W3HZ15YwiySddSrPzmd6WY= SHA256 (erebe-wstunnel-v10.1.7.tar.gz) = fMEWgfd+tQMxEzKZF0FQ7ekp7azzgbsGq3YgU3cLoDs= -SHA256 (wstunnel-10.1.7.tar.gz) = fMEWgfd+tQMxEzKZF0FQ7ekp7azzgbsGq3YgU3cLoDs=SIZE (cargo/addr2line-0.24.2.tar.gz) = 39015 SIZE (cargo/adler2-2.0.0.tar.gz) = 13529 SIZE (cargo/ahash-0.8.11.tar.gz) = 43607 @@ -695,4 +694,3 @@ SIZE (cargo/zerovec-derive-0.10.3.tar.gz) = 19438SIZE (erebe-fastwebsockets- ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = 57473SIZE (erebe-wstunnel-v10.1.7.tar.gz) = 281043 -SIZE (wstunnel-10.1.7.tar.gz) = 281043 diff -ruN wstunnel.orig/pkg/wstunnel.rc wstunnel/pkg/wstunnel.rc --- wstunnel.orig/pkg/wstunnel.rc Sat Dec 14 13:41:17 2024 +++ wstunnel/pkg/wstunnel.rc Sat Dec 14 18:56:03 2024 @@ -1,9 +1,9 @@ #!/bin/ksh -daemon="${TRUEPREFIX}/bin/wstunnel" +daemon="${TRUEPREFIX}/bin/wstunnel --no-color true" daemon_user="_wstunnel" daemon_logger="daemon.info" -daemon_flags="server wss://localhost:8080 --no-color true" +daemon_flags="server wss://localhost:8080" . /etc/rc.d/rc.subrRight, I missed removing the GH_* variables. And interestingly, adding `--no-color true` right before `client` or `server` works even though it is not documented that way...I've applied your patch: https://liebender.dev/pub/openbsd-ports/wstunnel-port-v3.tar.gz (attached) OK?
Here goes the incremental diff for wstunnel v10.1.8:Tarball: https://liebender.dev/pub/openbsd-ports/wstunnel-port-v4.tar.gz (attached)
- Christoph ----- diff --git a/net/wstunnel/Makefile b/net/wstunnel/Makefile index 963ee22b736..802e3827c8f 100644 --- a/net/wstunnel/Makefile +++ b/net/wstunnel/Makefile @@ -1,6 +1,6 @@ COMMENT = tunnel all your traffic over Websocket or HTTP2 -DIST_TUPLE += github erebe wstunnel v10.1.7 . +DIST_TUPLE += github erebe wstunnel v10.1.8 .DIST_TUPLE += github erebe fastwebsockets ef904598ec168d7748b28d77ec1803ba721932d8 fastwebsockets
CATEGORIES = net diff --git a/net/wstunnel/crates.inc b/net/wstunnel/crates.inc index 637f69e6066..7f71e7e0bab 100644 --- a/net/wstunnel/crates.inc +++ b/net/wstunnel/crates.inc@@ -33,7 +33,7 @@ MODCARGO_CRATES += bollard-stubs 1.45.0-rc.26.0.1 # Apache-2.0
MODCARGO_CRATES += bumpalo 3.16.0 # MIT OR Apache-2.0 MODCARGO_CRATES += byteorder 1.5.0 # Unlicense OR MIT MODCARGO_CRATES += bytes 1.9.0 # MIT -MODCARGO_CRATES += cc 1.2.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += cc 1.2.4 # MIT OR Apache-2.0 MODCARGO_CRATES += cexpr 0.6.0 # Apache-2.0/MIT MODCARGO_CRATES += cfg-if 1.0.0 # MIT/Apache-2.0 MODCARGO_CRATES += cfg_aliases 0.2.1 # MIT @@ -198,7 +198,7 @@ MODCARGO_CRATES += rand_chacha 0.3.1 # MIT OR Apache-2.0 MODCARGO_CRATES += rand_core 0.6.4 # MIT OR Apache-2.0 MODCARGO_CRATES += rcgen 0.13.1 # MIT OR Apache-2.0 MODCARGO_CRATES += redox_syscall 0.3.5 # MIT -MODCARGO_CRATES += redox_syscall 0.5.7 # MIT +MODCARGO_CRATES += redox_syscall 0.5.8 # MIT MODCARGO_CRATES += regex 1.11.1 # MIT OR Apache-2.0 MODCARGO_CRATES += regex-automata 0.1.10 # Unlicense/MIT MODCARGO_CRATES += regex-automata 0.4.9 # MIT OR Apache-2.0 @@ -211,13 +211,13 @@ MODCARGO_CRATES += rustc-hash 1.1.0 # Apache-2.0/MIT MODCARGO_CRATES += rusticata-macros 4.1.0 # MIT/Apache-2.0MODCARGO_CRATES += rustix 0.38.42 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
MODCARGO_CRATES += rustls 0.21.12 # Apache-2.0 OR ISC OR MIT -MODCARGO_CRATES += rustls 0.23.19 # Apache-2.0 OR ISC OR MIT +MODCARGO_CRATES += rustls 0.23.20 # Apache-2.0 OR ISC OR MIT MODCARGO_CRATES += rustls-native-certs 0.6.3 # Apache-2.0 OR ISC OR MIT MODCARGO_CRATES += rustls-native-certs 0.7.3 # Apache-2.0 OR ISC OR MIT MODCARGO_CRATES += rustls-native-certs 0.8.1 # Apache-2.0 OR ISC OR MIT MODCARGO_CRATES += rustls-pemfile 1.0.4 # Apache-2.0 OR ISC OR MIT MODCARGO_CRATES += rustls-pemfile 2.2.0 # Apache-2.0 OR ISC OR MIT -MODCARGO_CRATES += rustls-pki-types 1.10.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += rustls-pki-types 1.10.1 # MIT OR Apache-2.0 MODCARGO_CRATES += rustls-webpki 0.101.7 # ISC MODCARGO_CRATES += rustls-webpki 0.102.8 # ISC MODCARGO_CRATES += ryu 1.0.18 # Apache-2.0 OR BSL-1.0 diff --git a/net/wstunnel/distinfo b/net/wstunnel/distinfo index a5971f7a8c7..984a2be1f18 100644 --- a/net/wstunnel/distinfo +++ b/net/wstunnel/distinfo@@ -33,7 +33,7 @@ SHA256 (cargo/bollard-stubs-1.45.0-rc.26.0.1.tar.gz) = bXxUFeOmvG0+me/2Jo5Ij9TuJ SHA256 (cargo/bumpalo-3.16.0.tar.gz) = eSlnFhcYgJQ7hHC1+NA6pV6y5kWkh0vbsorbSRYuASw= SHA256 (cargo/byteorder-1.5.0.tar.gz) = H9DyWEFG9vLvSAhQUIhqzzU77/cwXr0a5pUA4nxn9ks= SHA256 (cargo/bytes-1.9.0.tar.gz) = MlkY1v4y8jsZh4/ks0eUrkH8Gd2+U7EFcaSHTUT/05s= -SHA256 (cargo/cc-1.2.3.tar.gz) = J/ZXZHvP9TlL9WxzF2Zbv3kKE3pQ6qpca/u54npRjy0= +SHA256 (cargo/cc-1.2.4.tar.gz) = kVe7qmsWWIDCekKTpHTJHNzyZcxozIKb8Qvglko5HK8= SHA256 (cargo/cexpr-0.6.0.tar.gz) = b6w4epi7fDcpIFfP/FbWLstimQACZAJjOukWDfk6h2Y= SHA256 (cargo/cfg-if-1.0.0.tar.gz) = uvHeQzl2FYi8Bhnjy8ASDuWC67dLU7Tvv3kRe9LaQP0= SHA256 (cargo/cfg_aliases-0.2.1.tar.gz) = YTr+R/zV+sfM8duTurywgsWZTZlvILixWfKtFljrVyQ= @@ -198,7 +198,7 @@ SHA256 (cargo/rand_chacha-0.3.1.tar.gz) = 5sEKY6D6MiUr5J0h53CdTUuvjSMcLbzh6qgUG5 SHA256 (cargo/rand_core-0.6.4.tar.gz) = 7AvkeV4vaigGm+wLX/PirJuvyZ5qmn3DVHmWxcgWkiw= SHA256 (cargo/rcgen-0.13.1.tar.gz) = VAd+GHLEZ4hUDeHqPX9MyxmD0S+aqQmyNEaGdsGjZ3k= SHA256 (cargo/redox_syscall-0.3.5.tar.gz) = VnZk8mJwlHOTCkv55Rvy6/M0jy50jMxQ3qIGRoWPjyk= -SHA256 (cargo/redox_syscall-0.5.7.tar.gz) = m23+zyx0vOJGbKv5P2Zk1pmKaesh459CB5MAZbJ7dx8= +SHA256 (cargo/redox_syscall-0.5.8.tar.gz) = A6his4n5PmiHT79YC53gjdAvrLmniOutr0o/0zz1iDQ= SHA256 (cargo/regex-1.11.1.tar.gz) = tUTvG06sXcLbM+pjYGrp/8+sJsFBaigGrgv19WsgEZE= SHA256 (cargo/regex-automata-0.1.10.tar.gz) = bCMNc/uNjBucCzE1xRQqis7joFWPuNtc8ctl+NeGITI= SHA256 (cargo/regex-automata-0.4.9.tar.gz) = gJ6Nxh9t5ztGyF9MlkhjEP4wTENM+kNmnXtA9xEVCQg= @@ -211,13 +211,13 @@ SHA256 (cargo/rustc-hash-1.1.0.tar.gz) = CNQ/eqawjUnzgs3mp5ggR8NCbblJsUJLxLfsmuE SHA256 (cargo/rusticata-macros-4.1.0.tar.gz) = +vDEpuzplQuavbYrHPzypos7Z6ELpEWzu4W+Kik9BjI= SHA256 (cargo/rustix-0.38.42.tar.gz) = +T3DjsurLreQ/5ZLt3+pT68lb9PnMoX9e6CQO3a+24U= SHA256 (cargo/rustls-0.21.12.tar.gz) = P1ahTR9Is5E1myL3Mf1L1+Q8l/PFDu4nbzqgnJR4TT4= -SHA256 (cargo/rustls-0.23.19.tar.gz) = k0tARDC7BrP64suoCetFoasa7NZEkSE9fDMBuIOT+NE= +SHA256 (cargo/rustls-0.23.20.tar.gz) = UGXD8lDL0zLNiUvlfED6UjhyR2WbFKLWBB0SFUeQOxs= SHA256 (cargo/rustls-native-certs-0.6.3.tar.gz) = qarOdMtmZjXJGOnBK8DTSCZgN6qOtZm1y6VlcJqN/wA= SHA256 (cargo/rustls-native-certs-0.7.3.tar.gz) = 5b+zlO7tJC6Qlgn1YInuz+X9oiUELosXF5G5yV9ZMeU= SHA256 (cargo/rustls-native-certs-0.8.1.tar.gz) = f8/y3VK1io2YpwJDZjoNI0xOK3kjVjeEnRWRM5SiR9M= SHA256 (cargo/rustls-pemfile-1.0.4.tar.gz) = HHTK4KTPbMu/XzWfCO/fjufh3FMlc78Ntxloy1axRIw= SHA256 (cargo/rustls-pemfile-2.2.0.tar.gz) = 3OMU5f7j85lT1Gu2O7ikbUDC+Pt8xaO2yrK96XIdblA= -SHA256 (cargo/rustls-pki-types-1.10.0.tar.gz) = FvEgGzyafugDm8rcF7fmBeKUWyfu52MXiMG9KwZDZ0s= +SHA256 (cargo/rustls-pki-types-1.10.1.tar.gz) = 0r9H5v+SLbOCXrdQxOL/eExv+PueEwRu9qHRxUAbCzc= SHA256 (cargo/rustls-webpki-0.101.7.tar.gz) = i2J10e56HNeAtkrKdyZZmh28iTseZBRFKeVcPC90V2U= SHA256 (cargo/rustls-webpki-0.102.8.tar.gz) = ZMobyHSb1M83tc44bMFGWAd3tOhXLHuXuvIsg/REvuk= SHA256 (cargo/ryu-1.0.18.tar.gz) = 88tboNxDJCzhfemcGA6W25CyNbip/clUPJbSIJEWvZ8= @@ -345,7 +345,7 @@ SHA256 (cargo/zeroize-1.8.1.tar.gz) = ztNniih5swMG0yP0VCYmaXpGSpfAoHya6/frymXNTd SHA256 (cargo/zerovec-0.10.4.tar.gz) = qiuJPXnfI7+xLVRhAY1AjqGd+v52wsfvbU66YU+P8Hk= SHA256 (cargo/zerovec-derive-0.10.3.tar.gz) = bq+m37F1hOo+K9bnbgzBWtevErCavdHKVZYb7ZsQY8Y= SHA256 (erebe-fastwebsockets-ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = pTk3zyTTSZ0jr2ofJrFT4W3HZ15YwiySddSrPzmd6WY= -SHA256 (erebe-wstunnel-v10.1.7.tar.gz) = fMEWgfd+tQMxEzKZF0FQ7ekp7azzgbsGq3YgU3cLoDs= +SHA256 (erebe-wstunnel-v10.1.8.tar.gz) = ZxfjYdWBA0nNww48544Ig72tPFXCKKdoTcXf+FZBkSQ=
SIZE (cargo/addr2line-0.24.2.tar.gz) = 39015 SIZE (cargo/adler2-2.0.0.tar.gz) = 13529 SIZE (cargo/ahash-0.8.11.tar.gz) = 43607@@ -381,7 +381,7 @@ SIZE (cargo/bollard-stubs-1.45.0-rc.26.0.1.tar.gz) = 57048
SIZE (cargo/bumpalo-3.16.0.tar.gz) = 85677 SIZE (cargo/byteorder-1.5.0.tar.gz) = 23288 SIZE (cargo/bytes-1.9.0.tar.gz) = 67320 -SIZE (cargo/cc-1.2.3.tar.gz) = 99421 +SIZE (cargo/cc-1.2.4.tar.gz) = 99823 SIZE (cargo/cexpr-0.6.0.tar.gz) = 17966 SIZE (cargo/cfg-if-1.0.0.tar.gz) = 7934 SIZE (cargo/cfg_aliases-0.2.1.tar.gz) = 6355 @@ -546,7 +546,7 @@ SIZE (cargo/rand_chacha-0.3.1.tar.gz) = 15251 SIZE (cargo/rand_core-0.6.4.tar.gz) = 22666 SIZE (cargo/rcgen-0.13.1.tar.gz) = 74432 SIZE (cargo/redox_syscall-0.3.5.tar.gz) = 23404 -SIZE (cargo/redox_syscall-0.5.7.tar.gz) = 26249 +SIZE (cargo/redox_syscall-0.5.8.tar.gz) = 26319 SIZE (cargo/regex-1.11.1.tar.gz) = 254170 SIZE (cargo/regex-automata-0.1.10.tar.gz) = 114533 SIZE (cargo/regex-automata-0.4.9.tar.gz) = 618525 @@ -559,13 +559,13 @@ SIZE (cargo/rustc-hash-1.1.0.tar.gz) = 9331 SIZE (cargo/rusticata-macros-4.1.0.tar.gz) = 11746 SIZE (cargo/rustix-0.38.42.tar.gz) = 378683 SIZE (cargo/rustls-0.21.12.tar.gz) = 285674 -SIZE (cargo/rustls-0.23.19.tar.gz) = 333921 +SIZE (cargo/rustls-0.23.20.tar.gz) = 335933 SIZE (cargo/rustls-native-certs-0.6.3.tar.gz) = 24438 SIZE (cargo/rustls-native-certs-0.7.3.tar.gz) = 31564 SIZE (cargo/rustls-native-certs-0.8.1.tar.gz) = 31129 SIZE (cargo/rustls-pemfile-1.0.4.tar.gz) = 22092 SIZE (cargo/rustls-pemfile-2.2.0.tar.gz) = 25849 -SIZE (cargo/rustls-pki-types-1.10.0.tar.gz) = 55134 +SIZE (cargo/rustls-pki-types-1.10.1.tar.gz) = 58944 SIZE (cargo/rustls-webpki-0.101.7.tar.gz) = 168808 SIZE (cargo/rustls-webpki-0.102.8.tar.gz) = 204327 SIZE (cargo/ryu-1.0.18.tar.gz) = 47713 @@ -693,4 +693,4 @@ SIZE (cargo/zeroize-1.8.1.tar.gz) = 20029 SIZE (cargo/zerovec-0.10.4.tar.gz) = 126398 SIZE (cargo/zerovec-derive-0.10.3.tar.gz) = 19438SIZE (erebe-fastwebsockets-ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = 57473
-SIZE (erebe-wstunnel-v10.1.7.tar.gz) = 281043 +SIZE (erebe-wstunnel-v10.1.8.tar.gz) = 281236
wstunnel-port-v4.tar.gz
Description: application/gzip