From: Christoph Liebender Subject: Re: NEW: net/wstunnel To: Björn Ketelaars Cc: ports@openbsd.org Date: Mon, 16 Dec 2024 21:54:43 +0100 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.gz >>>>> >>>>> wstunnel is useful in case you want to connect to your OpenBSD box, >>>>> given >>>>> that >>>>> you are behind some firewall that restricts traffic to certain >>>>> ports - for >>>>> example, you can configure wstunnel to listen on :443 and connect >>>>> to your >>>>> box >>>>> via 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.toml >>>>> references 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 a >>>>> better >>>>> way? `make modcargo-gen-crates` apparently only reads the unpatched, >>>>> original >>>>> Cargo.toml. >>>>> >>>>> Anyway, I'm glad to receive any feedback or comments. Thanks. >>>>> >>>>> - Christoph >>>> >>>> Great start, thanks! >>> >>> Many thanks for your suggestions! The OpenBSD porting tools seem to >>> be more >>> flexible than I initially thought :b >>> >>>> - wstunnel.rc feels incomplete: Please check if there are some sane/ >>>> safe >>>>     daemon_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 also >>> attached for convenience) >>> >>> -#584 _nepenthes        _nepenthes    net/nepenthes >>> +584 _wstunnel        _wstunnel    net/wstunnel >> >> Recycling 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) = 19438 >>   SIZE (erebe-fastwebsockets- >> ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = 57473 >>   SIZE (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.subr > > Right, 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.0 MODCARGO_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) = 19438 SIZE (erebe-fastwebsockets-ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = 57473 -SIZE (erebe-wstunnel-v10.1.7.tar.gz) = 281043 +SIZE (erebe-wstunnel-v10.1.8.tar.gz) = 281236