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! Some comments: - You can avoid locally patching fastwebsockets by only patching Cargo.toml, and using DIST_TUPLE+=ddgithub erebe fastwebsockets ef904598ec168d7748b28d77ec1803ba721932d8 fastwebsockets - Please check output of portcheck(1). You need to add WANTLIB+=m to Makefile - License marker in Makefile is BSD-3, not 3BSD - Have a look at the first line of your crates.inc. It reads "# run: make modcargo-gen-crates-licenses". This is needed for adding license markers to the crates - 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. - daemon_user _wstunnel does not exist, thus needs to be created via PLIST. Maybe you can recycle uid 584 for this, which was previously used by nepenthes, and has not been in used since 2018-05-01. Please have a look at the diff below. diff -ruN wstunnel.orig/Makefile wstunnel/Makefile --- wstunnel.orig/Makefile Fri Dec 13 22:48:37 2024 +++ wstunnel/Makefile Sat Dec 14 11:29:48 2024 @@ -1,28 +1,26 @@ COMMENT = tunnel all your traffic over Websocket or HTTP2 -GH_ACCOUNT = erebe -GH_PROJECT = wstunnel -GH_TAGNAME = v10.1.7 +DIST_TUPLE += github erebe wstunnel v10.1.7 . +DIST_TUPLE += github erebe fastwebsockets ef904598ec168d7748b28d77ec1803ba721932d8 fastwebsockets CATEGORIES = net -# 3BSD +HOMEPAGE = https://github.com/erebe/wstunnel + +# BSD-3 PERMIT_PACKAGE = Yes -WANTLIB += ${MODCARGO_WANTLIB} +WANTLIB = ${MODCARGO_WANTLIB} m MODULES = devel/cargo +MODCARGO_RUSTFLAGS = -C debuginfo=0 CONFIGURE_STYLE = cargo SEPARATE_BUILD = Yes -MODCARGO_RUSTFLAGS = -C debuginfo=0 - -RELEASE_DIR = ${MODCARGO_TARGET_DIR}/release - do-install: - ${INSTALL_PROGRAM} ${RELEASE_DIR}/wstunnel ${PREFIX}/bin/ + ${INSTALL_PROGRAM} ${MODCARGO_TARGET_DIR}/release/wstunnel ${PREFIX}/bin/ .include "crates.inc" diff -ruN wstunnel.orig/crates.inc wstunnel/crates.inc --- wstunnel.orig/crates.inc Fri Dec 13 22:48:37 2024 +++ wstunnel/crates.inc Sat Dec 14 10:50:26 2024 @@ -1,348 +1,346 @@ -# run: make modcargo-gen-crates-licenses -MODCARGO_CRATES += addr2line 0.24.2 -MODCARGO_CRATES += adler2 2.0.0 -MODCARGO_CRATES += ahash 0.8.11 -MODCARGO_CRATES += aho-corasick 1.1.3 -MODCARGO_CRATES += android-tzdata 0.1.1 -MODCARGO_CRATES += android_system_properties 0.1.5 -MODCARGO_CRATES += anstream 0.6.18 -MODCARGO_CRATES += anstyle 1.0.10 -MODCARGO_CRATES += anstyle-parse 0.2.6 -MODCARGO_CRATES += anstyle-query 1.1.2 -MODCARGO_CRATES += anstyle-wincon 3.0.6 -MODCARGO_CRATES += anyhow 1.0.94 -MODCARGO_CRATES += arc-swap 1.7.1 -MODCARGO_CRATES += asn1-rs 0.6.2 -MODCARGO_CRATES += asn1-rs-derive 0.5.1 -MODCARGO_CRATES += asn1-rs-impl 0.2.0 -MODCARGO_CRATES += async-channel 2.3.1 -MODCARGO_CRATES += async-trait 0.1.83 -MODCARGO_CRATES += atomic-waker 1.1.2 -MODCARGO_CRATES += autocfg 1.4.0 -MODCARGO_CRATES += aws-lc-rs 1.11.1 -MODCARGO_CRATES += aws-lc-sys 0.23.1 -MODCARGO_CRATES += backtrace 0.3.74 -MODCARGO_CRATES += base64 0.21.7 -MODCARGO_CRATES += base64 0.22.1 -MODCARGO_CRATES += bb8 0.9.0 -MODCARGO_CRATES += bindgen 0.69.5 -MODCARGO_CRATES += bitflags 1.3.2 -MODCARGO_CRATES += bitflags 2.6.0 -MODCARGO_CRATES += block-buffer 0.10.4 -MODCARGO_CRATES += bollard 0.17.1 -MODCARGO_CRATES += bollard-stubs 1.45.0-rc.26.0.1 -MODCARGO_CRATES += bumpalo 3.16.0 -MODCARGO_CRATES += byteorder 1.5.0 -MODCARGO_CRATES += bytes 1.9.0 -MODCARGO_CRATES += cc 1.2.3 -MODCARGO_CRATES += cexpr 0.6.0 -MODCARGO_CRATES += cfg-if 1.0.0 -MODCARGO_CRATES += cfg_aliases 0.2.1 -MODCARGO_CRATES += chrono 0.4.39 -MODCARGO_CRATES += clang-sys 1.8.1 -MODCARGO_CRATES += clap 4.5.23 -MODCARGO_CRATES += clap_builder 4.5.23 -MODCARGO_CRATES += clap_derive 4.5.18 -MODCARGO_CRATES += clap_lex 0.7.4 -MODCARGO_CRATES += cmake 0.1.52 -MODCARGO_CRATES += colorchoice 1.0.3 -MODCARGO_CRATES += concurrent-queue 2.5.0 -MODCARGO_CRATES += core-foundation 0.9.4 -MODCARGO_CRATES += core-foundation 0.10.0 -MODCARGO_CRATES += core-foundation-sys 0.8.7 -MODCARGO_CRATES += cpufeatures 0.2.16 -MODCARGO_CRATES += crossbeam-utils 0.8.20 -MODCARGO_CRATES += crossterm 0.28.1 -MODCARGO_CRATES += crossterm_winapi 0.9.1 -MODCARGO_CRATES += crypto-common 0.1.6 -MODCARGO_CRATES += darling 0.20.10 -MODCARGO_CRATES += darling_core 0.20.10 -MODCARGO_CRATES += darling_macro 0.20.10 -MODCARGO_CRATES += data-encoding 2.6.0 -MODCARGO_CRATES += der-parser 9.0.0 -MODCARGO_CRATES += deranged 0.3.11 -MODCARGO_CRATES += digest 0.10.7 -MODCARGO_CRATES += displaydoc 0.2.5 -MODCARGO_CRATES += docker_credential 1.3.1 -MODCARGO_CRATES += dunce 1.0.5 -MODCARGO_CRATES += either 1.13.0 -MODCARGO_CRATES += enum-as-inner 0.6.1 -MODCARGO_CRATES += equivalent 1.0.1 -MODCARGO_CRATES += errno 0.3.10 -MODCARGO_CRATES += etcetera 0.8.0 -MODCARGO_CRATES += event-listener 5.3.1 -MODCARGO_CRATES += event-listener-strategy 0.5.3 -MODCARGO_CRATES += fastwebsockets 0.8.0 -MODCARGO_CRATES += fast-socks5 0.9.6 -MODCARGO_CRATES += fdlimit 0.3.0 -MODCARGO_CRATES += filetime 0.2.25 -MODCARGO_CRATES += fnv 1.0.7 -MODCARGO_CRATES += form_urlencoded 1.2.1 -MODCARGO_CRATES += fs_extra 1.3.0 -MODCARGO_CRATES += fsevent-sys 4.1.0 -MODCARGO_CRATES += futures 0.3.31 -MODCARGO_CRATES += futures-channel 0.3.31 -MODCARGO_CRATES += futures-core 0.3.31 -MODCARGO_CRATES += futures-executor 0.3.31 -MODCARGO_CRATES += futures-io 0.3.31 -MODCARGO_CRATES += futures-macro 0.3.31 -MODCARGO_CRATES += futures-sink 0.3.31 -MODCARGO_CRATES += futures-task 0.3.31 -MODCARGO_CRATES += futures-util 0.3.31 -MODCARGO_CRATES += generic-array 0.14.7 -MODCARGO_CRATES += getrandom 0.2.15 -MODCARGO_CRATES += gimli 0.31.1 -MODCARGO_CRATES += glob 0.3.1 -MODCARGO_CRATES += h2 0.3.26 -MODCARGO_CRATES += h2 0.4.7 -MODCARGO_CRATES += hashbrown 0.12.3 -MODCARGO_CRATES += hashbrown 0.15.2 -MODCARGO_CRATES += heck 0.5.0 -MODCARGO_CRATES += hex 0.4.3 -MODCARGO_CRATES += hickory-proto 0.24.2 -MODCARGO_CRATES += hickory-resolver 0.24.2 -MODCARGO_CRATES += home 0.5.9 -MODCARGO_CRATES += hostname 0.3.1 -MODCARGO_CRATES += http 0.2.12 -MODCARGO_CRATES += http 1.2.0 -MODCARGO_CRATES += http-body 1.0.1 -MODCARGO_CRATES += http-body-util 0.1.2 -MODCARGO_CRATES += httparse 1.9.5 -MODCARGO_CRATES += httpdate 1.0.3 -MODCARGO_CRATES += hyper 1.5.1 -MODCARGO_CRATES += hyper-named-pipe 0.1.0 -MODCARGO_CRATES += hyper-rustls 0.27.3 -MODCARGO_CRATES += hyper-util 0.1.10 -MODCARGO_CRATES += hyperlocal 0.9.1 -MODCARGO_CRATES += iana-time-zone 0.1.61 -MODCARGO_CRATES += iana-time-zone-haiku 0.1.2 -MODCARGO_CRATES += icu_collections 1.5.0 -MODCARGO_CRATES += icu_locid 1.5.0 -MODCARGO_CRATES += icu_locid_transform 1.5.0 -MODCARGO_CRATES += icu_locid_transform_data 1.5.0 -MODCARGO_CRATES += icu_normalizer 1.5.0 -MODCARGO_CRATES += icu_normalizer_data 1.5.0 -MODCARGO_CRATES += icu_properties 1.5.1 -MODCARGO_CRATES += icu_properties_data 1.5.0 -MODCARGO_CRATES += icu_provider 1.5.0 -MODCARGO_CRATES += icu_provider_macros 1.5.0 -MODCARGO_CRATES += ident_case 1.0.1 -MODCARGO_CRATES += idna 1.0.3 -MODCARGO_CRATES += idna_adapter 1.2.0 -MODCARGO_CRATES += indexmap 1.9.3 -MODCARGO_CRATES += indexmap 2.7.0 -MODCARGO_CRATES += inotify 0.10.2 -MODCARGO_CRATES += inotify-sys 0.1.5 -MODCARGO_CRATES += instant 0.1.13 -MODCARGO_CRATES += ipconfig 0.3.2 -MODCARGO_CRATES += ipnet 2.10.1 -MODCARGO_CRATES += is_terminal_polyfill 1.70.1 -MODCARGO_CRATES += itertools 0.12.1 -MODCARGO_CRATES += itoa 1.0.14 -MODCARGO_CRATES += jobserver 0.1.32 -MODCARGO_CRATES += js-sys 0.3.76 -MODCARGO_CRATES += jsonwebtoken 9.3.0 -MODCARGO_CRATES += kqueue 1.0.8 -MODCARGO_CRATES += kqueue-sys 1.0.4 -MODCARGO_CRATES += lazy_static 1.5.0 -MODCARGO_CRATES += lazycell 1.3.0 -MODCARGO_CRATES += libc 0.2.168 -MODCARGO_CRATES += libloading 0.8.6 -MODCARGO_CRATES += libredox 0.1.3 -MODCARGO_CRATES += linked-hash-map 0.5.6 -MODCARGO_CRATES += linux-raw-sys 0.4.14 -MODCARGO_CRATES += litemap 0.7.4 -MODCARGO_CRATES += lock_api 0.4.12 -MODCARGO_CRATES += log 0.4.22 -MODCARGO_CRATES += lru-cache 0.1.2 -MODCARGO_CRATES += match_cfg 0.1.0 -MODCARGO_CRATES += matchers 0.1.0 -MODCARGO_CRATES += memchr 2.7.4 -MODCARGO_CRATES += memoffset 0.9.1 -MODCARGO_CRATES += minimal-lexical 0.2.1 -MODCARGO_CRATES += miniz_oxide 0.8.0 -MODCARGO_CRATES += mio 1.0.3 -MODCARGO_CRATES += nix 0.29.0 -MODCARGO_CRATES += nom 7.1.3 -MODCARGO_CRATES += notify 7.0.0 -MODCARGO_CRATES += notify-types 1.0.0 -MODCARGO_CRATES += nu-ansi-term 0.46.0 -MODCARGO_CRATES += num-bigint 0.4.6 -MODCARGO_CRATES += num-conv 0.1.0 -MODCARGO_CRATES += num-integer 0.1.46 -MODCARGO_CRATES += num-traits 0.2.19 -MODCARGO_CRATES += num_threads 0.1.7 -MODCARGO_CRATES += object 0.36.5 -MODCARGO_CRATES += oid-registry 0.7.1 -MODCARGO_CRATES += once_cell 1.20.2 -MODCARGO_CRATES += openssl-probe 0.1.5 -MODCARGO_CRATES += overload 0.1.1 -MODCARGO_CRATES += parking 2.2.1 -MODCARGO_CRATES += parking_lot 0.12.3 -MODCARGO_CRATES += parking_lot_core 0.9.10 -MODCARGO_CRATES += parse-display 0.9.1 -MODCARGO_CRATES += parse-display-derive 0.9.1 -MODCARGO_CRATES += paste 1.0.15 -MODCARGO_CRATES += percent-encoding 2.3.1 -MODCARGO_CRATES += pin-project 1.1.7 -MODCARGO_CRATES += pin-project-internal 1.1.7 -MODCARGO_CRATES += pin-project-lite 0.2.15 -MODCARGO_CRATES += pin-utils 0.1.0 -MODCARGO_CRATES += powerfmt 0.2.0 -MODCARGO_CRATES += ppp 2.2.0 -MODCARGO_CRATES += ppv-lite86 0.2.20 -MODCARGO_CRATES += prettyplease 0.2.25 -MODCARGO_CRATES += proc-macro2 1.0.92 -MODCARGO_CRATES += quick-error 1.2.3 -MODCARGO_CRATES += quote 1.0.37 -MODCARGO_CRATES += rand 0.8.5 -MODCARGO_CRATES += rand_chacha 0.3.1 -MODCARGO_CRATES += rand_core 0.6.4 -MODCARGO_CRATES += rcgen 0.13.1 -MODCARGO_CRATES += redox_syscall 0.3.5 -MODCARGO_CRATES += redox_syscall 0.5.7 -MODCARGO_CRATES += regex 1.11.1 -MODCARGO_CRATES += regex-automata 0.1.10 -MODCARGO_CRATES += regex-automata 0.4.9 -MODCARGO_CRATES += regex-syntax 0.6.29 -MODCARGO_CRATES += regex-syntax 0.8.5 -MODCARGO_CRATES += resolv-conf 0.7.0 -MODCARGO_CRATES += ring 0.17.8 -MODCARGO_CRATES += rustc-demangle 0.1.24 -MODCARGO_CRATES += rustc-hash 1.1.0 -MODCARGO_CRATES += rusticata-macros 4.1.0 -MODCARGO_CRATES += rustix 0.38.42 -MODCARGO_CRATES += rustls 0.21.12 -MODCARGO_CRATES += rustls 0.23.19 -MODCARGO_CRATES += rustls-native-certs 0.6.3 -MODCARGO_CRATES += rustls-native-certs 0.7.3 -MODCARGO_CRATES += rustls-native-certs 0.8.1 -MODCARGO_CRATES += rustls-pemfile 1.0.4 -MODCARGO_CRATES += rustls-pemfile 2.2.0 -MODCARGO_CRATES += rustls-pki-types 1.10.0 -MODCARGO_CRATES += rustls-webpki 0.101.7 -MODCARGO_CRATES += rustls-webpki 0.102.8 -MODCARGO_CRATES += ryu 1.0.18 -MODCARGO_CRATES += same-file 1.0.6 -MODCARGO_CRATES += schannel 0.1.27 -MODCARGO_CRATES += scopeguard 1.2.0 -MODCARGO_CRATES += sct 0.7.1 -MODCARGO_CRATES += security-framework 2.11.1 -MODCARGO_CRATES += security-framework 3.0.1 -MODCARGO_CRATES += security-framework-sys 2.12.1 -MODCARGO_CRATES += serde 1.0.216 -MODCARGO_CRATES += serde_derive 1.0.216 -MODCARGO_CRATES += serde_json 1.0.133 -MODCARGO_CRATES += serde_regex 1.1.0 -MODCARGO_CRATES += serde_repr 0.1.19 -MODCARGO_CRATES += serde_urlencoded 0.7.1 -MODCARGO_CRATES += serde_with 3.11.0 -MODCARGO_CRATES += serde_with_macros 3.11.0 -MODCARGO_CRATES += serde_yaml 0.9.34+deprecated -MODCARGO_CRATES += sha1 0.10.6 -MODCARGO_CRATES += sharded-slab 0.1.7 -MODCARGO_CRATES += shlex 1.3.0 -MODCARGO_CRATES += signal-hook 0.3.17 -MODCARGO_CRATES += signal-hook-mio 0.2.4 -MODCARGO_CRATES += signal-hook-registry 1.4.2 -MODCARGO_CRATES += simdutf8 0.1.5 -MODCARGO_CRATES += slab 0.4.9 -MODCARGO_CRATES += smallvec 1.13.2 -MODCARGO_CRATES += socket2 0.5.8 -MODCARGO_CRATES += spin 0.9.8 -MODCARGO_CRATES += stable_deref_trait 1.2.0 -MODCARGO_CRATES += strsim 0.11.1 -MODCARGO_CRATES += structmeta 0.3.0 -MODCARGO_CRATES += structmeta-derive 0.3.0 -MODCARGO_CRATES += subtle 2.6.1 -MODCARGO_CRATES += syn 2.0.90 -MODCARGO_CRATES += synstructure 0.13.1 -MODCARGO_CRATES += testcontainers 0.23.1 -MODCARGO_CRATES += thiserror 1.0.69 -MODCARGO_CRATES += thiserror-impl 1.0.69 -MODCARGO_CRATES += thread_local 1.1.8 -MODCARGO_CRATES += time 0.3.37 -MODCARGO_CRATES += time-core 0.1.2 -MODCARGO_CRATES += time-macros 0.2.19 -MODCARGO_CRATES += tinystr 0.7.6 -MODCARGO_CRATES += tinyvec 1.8.0 -MODCARGO_CRATES += tinyvec_macros 0.1.1 -MODCARGO_CRATES += tokio 1.42.0 -MODCARGO_CRATES += tokio-fd 0.3.0 -MODCARGO_CRATES += tokio-macros 2.4.0 -MODCARGO_CRATES += tokio-rustls 0.24.1 -MODCARGO_CRATES += tokio-rustls 0.26.1 -MODCARGO_CRATES += tokio-stream 0.1.17 -MODCARGO_CRATES += tokio-tar 0.3.1 -MODCARGO_CRATES += tokio-util 0.7.13 -MODCARGO_CRATES += tower-service 0.3.3 -MODCARGO_CRATES += tracing 0.1.41 -MODCARGO_CRATES += tracing-attributes 0.1.28 -MODCARGO_CRATES += tracing-core 0.1.33 -MODCARGO_CRATES += tracing-log 0.2.0 -MODCARGO_CRATES += tracing-subscriber 0.3.19 -MODCARGO_CRATES += try-lock 0.2.5 -MODCARGO_CRATES += typenum 1.17.0 -MODCARGO_CRATES += unicode-ident 1.0.14 -MODCARGO_CRATES += unsafe-libyaml 0.2.11 -MODCARGO_CRATES += untrusted 0.7.1 -MODCARGO_CRATES += untrusted 0.9.0 -MODCARGO_CRATES += url 2.5.4 -MODCARGO_CRATES += urlencoding 2.1.3 -MODCARGO_CRATES += utf-8 0.7.6 -MODCARGO_CRATES += utf16_iter 1.0.5 -MODCARGO_CRATES += utf8_iter 1.0.4 -MODCARGO_CRATES += utf8parse 0.2.2 -MODCARGO_CRATES += uuid 1.11.0 -MODCARGO_CRATES += valuable 0.1.0 -MODCARGO_CRATES += version_check 0.9.5 -MODCARGO_CRATES += walkdir 2.5.0 -MODCARGO_CRATES += want 0.3.1 -MODCARGO_CRATES += wasi 0.11.0+wasi-snapshot-preview1 -MODCARGO_CRATES += wasm-bindgen 0.2.99 -MODCARGO_CRATES += wasm-bindgen-backend 0.2.99 -MODCARGO_CRATES += wasm-bindgen-macro 0.2.99 -MODCARGO_CRATES += wasm-bindgen-macro-support 0.2.99 -MODCARGO_CRATES += wasm-bindgen-shared 0.2.99 -MODCARGO_CRATES += which 4.4.2 -MODCARGO_CRATES += widestring 1.1.0 -MODCARGO_CRATES += winapi 0.3.9 -MODCARGO_CRATES += winapi-i686-pc-windows-gnu 0.4.0 -MODCARGO_CRATES += winapi-util 0.1.9 -MODCARGO_CRATES += winapi-x86_64-pc-windows-gnu 0.4.0 -MODCARGO_CRATES += windows-core 0.52.0 -MODCARGO_CRATES += windows-sys 0.48.0 -MODCARGO_CRATES += windows-sys 0.52.0 -MODCARGO_CRATES += windows-sys 0.59.0 -MODCARGO_CRATES += windows-targets 0.48.5 -MODCARGO_CRATES += windows-targets 0.52.6 -MODCARGO_CRATES += windows_aarch64_gnullvm 0.48.5 -MODCARGO_CRATES += windows_aarch64_gnullvm 0.52.6 -MODCARGO_CRATES += windows_aarch64_msvc 0.48.5 -MODCARGO_CRATES += windows_aarch64_msvc 0.52.6 -MODCARGO_CRATES += windows_i686_gnu 0.48.5 -MODCARGO_CRATES += windows_i686_gnu 0.52.6 -MODCARGO_CRATES += windows_i686_gnullvm 0.52.6 -MODCARGO_CRATES += windows_i686_msvc 0.48.5 -MODCARGO_CRATES += windows_i686_msvc 0.52.6 -MODCARGO_CRATES += windows_x86_64_gnu 0.48.5 -MODCARGO_CRATES += windows_x86_64_gnu 0.52.6 -MODCARGO_CRATES += windows_x86_64_gnullvm 0.48.5 -MODCARGO_CRATES += windows_x86_64_gnullvm 0.52.6 -MODCARGO_CRATES += windows_x86_64_msvc 0.48.5 -MODCARGO_CRATES += windows_x86_64_msvc 0.52.6 -MODCARGO_CRATES += winreg 0.50.0 -MODCARGO_CRATES += write16 1.0.0 -MODCARGO_CRATES += writeable 0.5.5 -MODCARGO_CRATES += x509-parser 0.16.0 -MODCARGO_CRATES += xattr 1.3.1 -MODCARGO_CRATES += yasna 0.5.2 -MODCARGO_CRATES += yoke 0.7.5 -MODCARGO_CRATES += yoke-derive 0.7.5 -MODCARGO_CRATES += zerocopy 0.7.35 -MODCARGO_CRATES += zerocopy-derive 0.7.35 -MODCARGO_CRATES += zerofrom 0.1.5 -MODCARGO_CRATES += zerofrom-derive 0.1.5 -MODCARGO_CRATES += zeroize 1.8.1 -MODCARGO_CRATES += zerovec 0.10.4 -MODCARGO_CRATES += zerovec-derive 0.10.3 +MODCARGO_CRATES += addr2line 0.24.2 # Apache-2.0 OR MIT +MODCARGO_CRATES += adler2 2.0.0 # 0BSD OR MIT OR Apache-2.0 +MODCARGO_CRATES += ahash 0.8.11 # MIT OR Apache-2.0 +MODCARGO_CRATES += aho-corasick 1.1.3 # Unlicense OR MIT +MODCARGO_CRATES += android-tzdata 0.1.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += android_system_properties 0.1.5 # MIT/Apache-2.0 +MODCARGO_CRATES += anstream 0.6.18 # MIT OR Apache-2.0 +MODCARGO_CRATES += anstyle 1.0.10 # MIT OR Apache-2.0 +MODCARGO_CRATES += anstyle-parse 0.2.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += anstyle-query 1.1.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += anstyle-wincon 3.0.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += anyhow 1.0.94 # MIT OR Apache-2.0 +MODCARGO_CRATES += arc-swap 1.7.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += asn1-rs 0.6.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += asn1-rs-derive 0.5.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += asn1-rs-impl 0.2.0 # MIT/Apache-2.0 +MODCARGO_CRATES += async-channel 2.3.1 # Apache-2.0 OR MIT +MODCARGO_CRATES += async-trait 0.1.83 # MIT OR Apache-2.0 +MODCARGO_CRATES += atomic-waker 1.1.2 # Apache-2.0 OR MIT +MODCARGO_CRATES += autocfg 1.4.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += aws-lc-rs 1.11.1 # ISC AND (Apache-2.0 OR ISC) +MODCARGO_CRATES += aws-lc-sys 0.23.1 # ISC AND (Apache-2.0 OR ISC) AND OpenSSL +MODCARGO_CRATES += backtrace 0.3.74 # MIT OR Apache-2.0 +MODCARGO_CRATES += base64 0.21.7 # MIT OR Apache-2.0 +MODCARGO_CRATES += base64 0.22.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += bb8 0.9.0 # MIT +MODCARGO_CRATES += bindgen 0.69.5 # BSD-3-Clause +MODCARGO_CRATES += bitflags 1.3.2 # MIT/Apache-2.0 +MODCARGO_CRATES += bitflags 2.6.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += block-buffer 0.10.4 # MIT OR Apache-2.0 +MODCARGO_CRATES += bollard 0.17.1 # Apache-2.0 +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 += 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 +MODCARGO_CRATES += chrono 0.4.39 # MIT OR Apache-2.0 +MODCARGO_CRATES += clang-sys 1.8.1 # Apache-2.0 +MODCARGO_CRATES += clap 4.5.23 # MIT OR Apache-2.0 +MODCARGO_CRATES += clap_builder 4.5.23 # MIT OR Apache-2.0 +MODCARGO_CRATES += clap_derive 4.5.18 # MIT OR Apache-2.0 +MODCARGO_CRATES += clap_lex 0.7.4 # MIT OR Apache-2.0 +MODCARGO_CRATES += cmake 0.1.52 # MIT OR Apache-2.0 +MODCARGO_CRATES += colorchoice 1.0.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += concurrent-queue 2.5.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += core-foundation 0.9.4 # MIT OR Apache-2.0 +MODCARGO_CRATES += core-foundation 0.10.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += core-foundation-sys 0.8.7 # MIT OR Apache-2.0 +MODCARGO_CRATES += cpufeatures 0.2.16 # MIT OR Apache-2.0 +MODCARGO_CRATES += crossbeam-utils 0.8.20 # MIT OR Apache-2.0 +MODCARGO_CRATES += crossterm 0.28.1 # MIT +MODCARGO_CRATES += crossterm_winapi 0.9.1 # MIT +MODCARGO_CRATES += crypto-common 0.1.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += darling 0.20.10 # MIT +MODCARGO_CRATES += darling_core 0.20.10 # MIT +MODCARGO_CRATES += darling_macro 0.20.10 # MIT +MODCARGO_CRATES += data-encoding 2.6.0 # MIT +MODCARGO_CRATES += der-parser 9.0.0 # MIT/Apache-2.0 +MODCARGO_CRATES += deranged 0.3.11 # MIT OR Apache-2.0 +MODCARGO_CRATES += digest 0.10.7 # MIT OR Apache-2.0 +MODCARGO_CRATES += displaydoc 0.2.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += docker_credential 1.3.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += dunce 1.0.5 # CC0-1.0 OR MIT-0 OR Apache-2.0 +MODCARGO_CRATES += either 1.13.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += enum-as-inner 0.6.1 # MIT/Apache-2.0 +MODCARGO_CRATES += equivalent 1.0.1 # Apache-2.0 OR MIT +MODCARGO_CRATES += errno 0.3.10 # MIT OR Apache-2.0 +MODCARGO_CRATES += etcetera 0.8.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += event-listener 5.3.1 # Apache-2.0 OR MIT +MODCARGO_CRATES += event-listener-strategy 0.5.3 # Apache-2.0 OR MIT +MODCARGO_CRATES += fast-socks5 0.9.6 # MIT +MODCARGO_CRATES += fdlimit 0.3.0 # Apache-2.0 +MODCARGO_CRATES += filetime 0.2.25 # MIT/Apache-2.0 +MODCARGO_CRATES += fnv 1.0.7 # Apache-2.0 / MIT +MODCARGO_CRATES += form_urlencoded 1.2.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += fs_extra 1.3.0 # MIT +MODCARGO_CRATES += fsevent-sys 4.1.0 # MIT +MODCARGO_CRATES += futures 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-channel 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-core 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-executor 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-io 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-macro 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-sink 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-task 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += futures-util 0.3.31 # MIT OR Apache-2.0 +MODCARGO_CRATES += generic-array 0.14.7 # MIT +MODCARGO_CRATES += getrandom 0.2.15 # MIT OR Apache-2.0 +MODCARGO_CRATES += gimli 0.31.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += glob 0.3.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += h2 0.3.26 # MIT +MODCARGO_CRATES += h2 0.4.7 # MIT +MODCARGO_CRATES += hashbrown 0.12.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += hashbrown 0.15.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += heck 0.5.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += hex 0.4.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += hickory-proto 0.24.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += hickory-resolver 0.24.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += home 0.5.9 # MIT OR Apache-2.0 +MODCARGO_CRATES += hostname 0.3.1 # MIT +MODCARGO_CRATES += http 0.2.12 # MIT OR Apache-2.0 +MODCARGO_CRATES += http 1.2.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += http-body 1.0.1 # MIT +MODCARGO_CRATES += http-body-util 0.1.2 # MIT +MODCARGO_CRATES += httparse 1.9.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += httpdate 1.0.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += hyper 1.5.1 # MIT +MODCARGO_CRATES += hyper-named-pipe 0.1.0 # Apache-2.0 +MODCARGO_CRATES += hyper-rustls 0.27.3 # Apache-2.0 OR ISC OR MIT +MODCARGO_CRATES += hyper-util 0.1.10 # MIT +MODCARGO_CRATES += hyperlocal 0.9.1 # MIT +MODCARGO_CRATES += iana-time-zone 0.1.61 # MIT OR Apache-2.0 +MODCARGO_CRATES += iana-time-zone-haiku 0.1.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += icu_collections 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_locid 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_locid_transform 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_locid_transform_data 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_normalizer 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_normalizer_data 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_properties 1.5.1 # Unicode-3.0 +MODCARGO_CRATES += icu_properties_data 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_provider 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += icu_provider_macros 1.5.0 # Unicode-3.0 +MODCARGO_CRATES += ident_case 1.0.1 # MIT/Apache-2.0 +MODCARGO_CRATES += idna 1.0.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += idna_adapter 1.2.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += indexmap 1.9.3 # Apache-2.0 OR MIT +MODCARGO_CRATES += indexmap 2.7.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += inotify 0.10.2 # ISC +MODCARGO_CRATES += inotify-sys 0.1.5 # ISC +MODCARGO_CRATES += instant 0.1.13 # BSD-3-Clause +MODCARGO_CRATES += ipconfig 0.3.2 # MIT/Apache-2.0 +MODCARGO_CRATES += ipnet 2.10.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += is_terminal_polyfill 1.70.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += itertools 0.12.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += itoa 1.0.14 # MIT OR Apache-2.0 +MODCARGO_CRATES += jobserver 0.1.32 # MIT OR Apache-2.0 +MODCARGO_CRATES += js-sys 0.3.76 # MIT OR Apache-2.0 +MODCARGO_CRATES += jsonwebtoken 9.3.0 # MIT +MODCARGO_CRATES += kqueue 1.0.8 # MIT +MODCARGO_CRATES += kqueue-sys 1.0.4 # MIT +MODCARGO_CRATES += lazy_static 1.5.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += lazycell 1.3.0 # MIT/Apache-2.0 +MODCARGO_CRATES += libc 0.2.168 # MIT OR Apache-2.0 +MODCARGO_CRATES += libloading 0.8.6 # ISC +MODCARGO_CRATES += libredox 0.1.3 # MIT +MODCARGO_CRATES += linked-hash-map 0.5.6 # MIT/Apache-2.0 +MODCARGO_CRATES += linux-raw-sys 0.4.14 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +MODCARGO_CRATES += litemap 0.7.4 # Unicode-3.0 +MODCARGO_CRATES += lock_api 0.4.12 # MIT OR Apache-2.0 +MODCARGO_CRATES += log 0.4.22 # MIT OR Apache-2.0 +MODCARGO_CRATES += lru-cache 0.1.2 # MIT/Apache-2.0 +MODCARGO_CRATES += match_cfg 0.1.0 # MIT/Apache-2.0 +MODCARGO_CRATES += matchers 0.1.0 # MIT +MODCARGO_CRATES += memchr 2.7.4 # Unlicense OR MIT +MODCARGO_CRATES += memoffset 0.9.1 # MIT +MODCARGO_CRATES += minimal-lexical 0.2.1 # MIT/Apache-2.0 +MODCARGO_CRATES += miniz_oxide 0.8.0 # MIT OR Zlib OR Apache-2.0 +MODCARGO_CRATES += mio 1.0.3 # MIT +MODCARGO_CRATES += nix 0.29.0 # MIT +MODCARGO_CRATES += nom 7.1.3 # MIT +MODCARGO_CRATES += notify 7.0.0 # CC0-1.0 +MODCARGO_CRATES += notify-types 1.0.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += nu-ansi-term 0.46.0 # MIT +MODCARGO_CRATES += num-bigint 0.4.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += num-conv 0.1.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += num-integer 0.1.46 # MIT OR Apache-2.0 +MODCARGO_CRATES += num-traits 0.2.19 # MIT OR Apache-2.0 +MODCARGO_CRATES += num_threads 0.1.7 # MIT OR Apache-2.0 +MODCARGO_CRATES += object 0.36.5 # Apache-2.0 OR MIT +MODCARGO_CRATES += oid-registry 0.7.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += once_cell 1.20.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += openssl-probe 0.1.5 # MIT/Apache-2.0 +MODCARGO_CRATES += overload 0.1.1 # MIT +MODCARGO_CRATES += parking 2.2.1 # Apache-2.0 OR MIT +MODCARGO_CRATES += parking_lot 0.12.3 # MIT OR Apache-2.0 +MODCARGO_CRATES += parking_lot_core 0.9.10 # MIT OR Apache-2.0 +MODCARGO_CRATES += parse-display 0.9.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += parse-display-derive 0.9.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += paste 1.0.15 # MIT OR Apache-2.0 +MODCARGO_CRATES += percent-encoding 2.3.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += pin-project 1.1.7 # Apache-2.0 OR MIT +MODCARGO_CRATES += pin-project-internal 1.1.7 # Apache-2.0 OR MIT +MODCARGO_CRATES += pin-project-lite 0.2.15 # Apache-2.0 OR MIT +MODCARGO_CRATES += pin-utils 0.1.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += powerfmt 0.2.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += ppp 2.2.0 # Apache-2.0 +MODCARGO_CRATES += ppv-lite86 0.2.20 # MIT/Apache-2.0 +MODCARGO_CRATES += prettyplease 0.2.25 # MIT OR Apache-2.0 +MODCARGO_CRATES += proc-macro2 1.0.92 # MIT OR Apache-2.0 +MODCARGO_CRATES += quick-error 1.2.3 # MIT/Apache-2.0 +MODCARGO_CRATES += quote 1.0.37 # MIT OR Apache-2.0 +MODCARGO_CRATES += rand 0.8.5 # MIT OR Apache-2.0 +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 += 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 +MODCARGO_CRATES += regex-syntax 0.6.29 # MIT OR Apache-2.0 +MODCARGO_CRATES += regex-syntax 0.8.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += resolv-conf 0.7.0 # MIT/Apache-2.0 +MODCARGO_CRATES += ring 0.17.8 # LICENSE +MODCARGO_CRATES += rustc-demangle 0.1.24 # MIT/Apache-2.0 +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-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-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 +MODCARGO_CRATES += same-file 1.0.6 # Unlicense/MIT +MODCARGO_CRATES += schannel 0.1.27 # MIT +MODCARGO_CRATES += scopeguard 1.2.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += sct 0.7.1 # Apache-2.0 OR ISC OR MIT +MODCARGO_CRATES += security-framework 2.11.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += security-framework 3.0.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += security-framework-sys 2.12.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde 1.0.216 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_derive 1.0.216 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_json 1.0.133 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_regex 1.1.0 # MIT/Apache-2.0 +MODCARGO_CRATES += serde_repr 0.1.19 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_urlencoded 0.7.1 # MIT/Apache-2.0 +MODCARGO_CRATES += serde_with 3.11.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_with_macros 3.11.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += serde_yaml 0.9.34+deprecated # MIT OR Apache-2.0 +MODCARGO_CRATES += sha1 0.10.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += sharded-slab 0.1.7 # MIT +MODCARGO_CRATES += shlex 1.3.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += signal-hook 0.3.17 # Apache-2.0/MIT +MODCARGO_CRATES += signal-hook-mio 0.2.4 # Apache-2.0/MIT +MODCARGO_CRATES += signal-hook-registry 1.4.2 # Apache-2.0/MIT +MODCARGO_CRATES += simdutf8 0.1.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += slab 0.4.9 # MIT +MODCARGO_CRATES += smallvec 1.13.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += socket2 0.5.8 # MIT OR Apache-2.0 +MODCARGO_CRATES += spin 0.9.8 # MIT +MODCARGO_CRATES += stable_deref_trait 1.2.0 # MIT/Apache-2.0 +MODCARGO_CRATES += strsim 0.11.1 # MIT +MODCARGO_CRATES += structmeta 0.3.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += structmeta-derive 0.3.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += subtle 2.6.1 # BSD-3-Clause +MODCARGO_CRATES += syn 2.0.90 # MIT OR Apache-2.0 +MODCARGO_CRATES += synstructure 0.13.1 # MIT +MODCARGO_CRATES += testcontainers 0.23.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += thiserror 1.0.69 # MIT OR Apache-2.0 +MODCARGO_CRATES += thiserror-impl 1.0.69 # MIT OR Apache-2.0 +MODCARGO_CRATES += thread_local 1.1.8 # MIT OR Apache-2.0 +MODCARGO_CRATES += time 0.3.37 # MIT OR Apache-2.0 +MODCARGO_CRATES += time-core 0.1.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += time-macros 0.2.19 # MIT OR Apache-2.0 +MODCARGO_CRATES += tinystr 0.7.6 # Unicode-3.0 +MODCARGO_CRATES += tinyvec 1.8.0 # Zlib OR Apache-2.0 OR MIT +MODCARGO_CRATES += tinyvec_macros 0.1.1 # MIT OR Apache-2.0 OR Zlib +MODCARGO_CRATES += tokio 1.42.0 # MIT +MODCARGO_CRATES += tokio-fd 0.3.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += tokio-macros 2.4.0 # MIT +MODCARGO_CRATES += tokio-rustls 0.24.1 # MIT/Apache-2.0 +MODCARGO_CRATES += tokio-rustls 0.26.1 # MIT OR Apache-2.0 +MODCARGO_CRATES += tokio-stream 0.1.17 # MIT +MODCARGO_CRATES += tokio-tar 0.3.1 # MIT/Apache-2.0 +MODCARGO_CRATES += tokio-util 0.7.13 # MIT +MODCARGO_CRATES += tower-service 0.3.3 # MIT +MODCARGO_CRATES += tracing 0.1.41 # MIT +MODCARGO_CRATES += tracing-attributes 0.1.28 # MIT +MODCARGO_CRATES += tracing-core 0.1.33 # MIT +MODCARGO_CRATES += tracing-log 0.2.0 # MIT +MODCARGO_CRATES += tracing-subscriber 0.3.19 # MIT +MODCARGO_CRATES += try-lock 0.2.5 # MIT +MODCARGO_CRATES += typenum 1.17.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += unicode-ident 1.0.14 # (MIT OR Apache-2.0) AND Unicode-3.0 +MODCARGO_CRATES += unsafe-libyaml 0.2.11 # MIT +MODCARGO_CRATES += untrusted 0.7.1 # ISC +MODCARGO_CRATES += untrusted 0.9.0 # ISC +MODCARGO_CRATES += url 2.5.4 # MIT OR Apache-2.0 +MODCARGO_CRATES += urlencoding 2.1.3 # MIT +MODCARGO_CRATES += utf-8 0.7.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += utf16_iter 1.0.5 # Apache-2.0 OR MIT +MODCARGO_CRATES += utf8_iter 1.0.4 # Apache-2.0 OR MIT +MODCARGO_CRATES += utf8parse 0.2.2 # Apache-2.0 OR MIT +MODCARGO_CRATES += uuid 1.11.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += valuable 0.1.0 # MIT +MODCARGO_CRATES += version_check 0.9.5 # MIT/Apache-2.0 +MODCARGO_CRATES += walkdir 2.5.0 # Unlicense/MIT +MODCARGO_CRATES += want 0.3.1 # MIT +MODCARGO_CRATES += wasi 0.11.0+wasi-snapshot-preview1 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +MODCARGO_CRATES += wasm-bindgen 0.2.99 # MIT OR Apache-2.0 +MODCARGO_CRATES += wasm-bindgen-backend 0.2.99 # MIT OR Apache-2.0 +MODCARGO_CRATES += wasm-bindgen-macro 0.2.99 # MIT OR Apache-2.0 +MODCARGO_CRATES += wasm-bindgen-macro-support 0.2.99 # MIT OR Apache-2.0 +MODCARGO_CRATES += wasm-bindgen-shared 0.2.99 # MIT OR Apache-2.0 +MODCARGO_CRATES += which 4.4.2 # MIT +MODCARGO_CRATES += widestring 1.1.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += winapi 0.3.9 # MIT/Apache-2.0 +MODCARGO_CRATES += winapi-i686-pc-windows-gnu 0.4.0 # MIT/Apache-2.0 +MODCARGO_CRATES += winapi-util 0.1.9 # Unlicense OR MIT +MODCARGO_CRATES += winapi-x86_64-pc-windows-gnu 0.4.0 # MIT/Apache-2.0 +MODCARGO_CRATES += windows-core 0.52.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows-sys 0.48.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows-sys 0.52.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows-sys 0.59.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows-targets 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows-targets 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_aarch64_gnullvm 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_aarch64_gnullvm 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_aarch64_msvc 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_aarch64_msvc 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_i686_gnu 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_i686_gnu 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_i686_gnullvm 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_i686_msvc 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_i686_msvc 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_gnu 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_gnu 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_gnullvm 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_gnullvm 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_msvc 0.48.5 # MIT OR Apache-2.0 +MODCARGO_CRATES += windows_x86_64_msvc 0.52.6 # MIT OR Apache-2.0 +MODCARGO_CRATES += winreg 0.50.0 # MIT +MODCARGO_CRATES += write16 1.0.0 # Apache-2.0 OR MIT +MODCARGO_CRATES += writeable 0.5.5 # Unicode-3.0 +MODCARGO_CRATES += x509-parser 0.16.0 # MIT OR Apache-2.0 +MODCARGO_CRATES += xattr 1.3.1 # MIT/Apache-2.0 +MODCARGO_CRATES += yasna 0.5.2 # MIT OR Apache-2.0 +MODCARGO_CRATES += yoke 0.7.5 # Unicode-3.0 +MODCARGO_CRATES += yoke-derive 0.7.5 # Unicode-3.0 +MODCARGO_CRATES += zerocopy 0.7.35 # BSD-2-Clause OR Apache-2.0 OR MIT +MODCARGO_CRATES += zerocopy-derive 0.7.35 # BSD-2-Clause OR Apache-2.0 OR MIT +MODCARGO_CRATES += zerofrom 0.1.5 # Unicode-3.0 +MODCARGO_CRATES += zerofrom-derive 0.1.5 # Unicode-3.0 +MODCARGO_CRATES += zeroize 1.8.1 # Apache-2.0 OR MIT +MODCARGO_CRATES += zerovec 0.10.4 # Unicode-3.0 +MODCARGO_CRATES += zerovec-derive 0.10.3 # Unicode-3.0 diff -ruN wstunnel.orig/distinfo wstunnel/distinfo --- wstunnel.orig/distinfo Fri Dec 13 22:48:37 2024 +++ wstunnel/distinfo Sat Dec 14 11:05:11 2024 @@ -72,7 +72,6 @@ SHA256 (cargo/event-listener-5.3.1.tar.gz) = YDK+m9JwI6dxcBzEn58FPHUQVfce+y4K5cFYCQk2dbo= SHA256 (cargo/event-listener-strategy-0.5.3.tar.gz) = PD5ODdNnPBE5vwQfMAiBbZzylGu/rClFwJ5SO417BbI= SHA256 (cargo/fast-socks5-0.9.6.tar.gz) = +J821O4SNw0w1XsWx+GQlQoakW59u7X9WkEvXvkT/oQ= -SHA256 (cargo/fastwebsockets-0.8.0.tar.gz) = JtoMe1zvRcUhpvnN//3+tsn1gE+6wzLeta4lRjTHpr4= SHA256 (cargo/fdlimit-0.3.0.tar.gz) = 4YL328Lvc9nvZzUcX7vqCEcpxINi086d1Ewo4y4nf+U= SHA256 (cargo/filetime-0.2.25.tar.gz) = NcBSLpgeaMv6jD+XhEGl80swuW4UazPNM1kXa1D+hYY= SHA256 (cargo/fnv-1.0.7.tar.gz) = P57skY0/JAad7LmvFVTK18iA4tokqa/YisoABTGrgsE= @@ -345,7 +344,8 @@ SHA256 (cargo/zeroize-1.8.1.tar.gz) = ztNniih5swMG0yP0VCYmaXpGSpfAoHya6/frymXNTd4= 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 (wstunnel-10.1.7.tar.gz) = fMEWgfd+tQMxEzKZF0FQ7ekp7azzgbsGq3YgU3cLoDs= +SHA256 (erebe-fastwebsockets-ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = pTk3zyTTSZ0jr2ofJrFT4W3HZ15YwiySddSrPzmd6WY= +SHA256 (erebe-wstunnel-v10.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 @@ -420,7 +420,6 @@ SIZE (cargo/event-listener-5.3.1.tar.gz) = 42576 SIZE (cargo/event-listener-strategy-0.5.3.tar.gz) = 10920 SIZE (cargo/fast-socks5-0.9.6.tar.gz) = 33144 -SIZE (cargo/fastwebsockets-0.8.0.tar.gz) = 52533 SIZE (cargo/fdlimit-0.3.0.tar.gz) = 6415 SIZE (cargo/filetime-0.2.25.tar.gz) = 14940 SIZE (cargo/fnv-1.0.7.tar.gz) = 11266 @@ -693,4 +692,5 @@ 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 (wstunnel-10.1.7.tar.gz) = 281043 +SIZE (erebe-fastwebsockets-ef904598ec168d7748b28d77ec1803ba721932d8.tar.gz) = 57473 +SIZE (erebe-wstunnel-v10.1.7.tar.gz) = 281043 diff -ruN wstunnel.orig/patches/patch-Cargo_toml wstunnel/patches/patch-Cargo_toml --- wstunnel.orig/patches/patch-Cargo_toml Fri Dec 13 22:48:37 2024 +++ wstunnel/patches/patch-Cargo_toml Sat Dec 14 11:04:46 2024 @@ -6,7 +6,7 @@ clap = { version = "4.5.23", features = ["derive", "env"] } fast-socks5 = { version = "0.9.6", features = [] } -fastwebsockets = { git = "https://github.com/erebe/fastwebsockets.git", features = ["upgrade", "simd", "unstable-split"] } -+fastwebsockets = { version = "0.8.0", features = ["upgrade", "simd", "unstable-split"] } ++fastwebsockets = { path = "./fastwebsockets", features = ["upgrade", "simd", "unstable-split"] } futures-util = { version = "0.3.31" } hickory-resolver = { version = "0.24.2", features = ["tokio", "dns-over-https-rustls", "dns-over-rustls", "native-certs"] } ppp = { version = "2.2.0", features = [] } diff -ruN wstunnel.orig/patches/patch-modcargo-crates_fastwebsockets-0_8_0_src_lib_rs wstunnel/patches/patch-modcargo-crates_fastwebsockets-0_8_0_src_lib_rs --- wstunnel.orig/patches/patch-modcargo-crates_fastwebsockets-0_8_0_src_lib_rs Fri Dec 13 22:48:37 2024 +++ wstunnel/patches/patch-modcargo-crates_fastwebsockets-0_8_0_src_lib_rs Thu Jan 1 01:00:00 1970 @@ -1,46 +0,0 @@ -Index: modcargo-crates/fastwebsockets-0.8.0/src/lib.rs ---- modcargo-crates/fastwebsockets-0.8.0/src/lib.rs.orig -+++ modcargo-crates/fastwebsockets-0.8.0/src/lib.rs -@@ -342,8 +342,23 @@ impl<'f, S> WebSocketWrite<S> { - { - self.write_half.write_frame(&mut self.stream, frame).await - } -+ -+ pub async fn flush(&mut self) -> Result<(), WebSocketError> -+ where -+ S: AsyncWrite + Unpin, -+ { -+ flush(&mut self.stream).await -+ } - } - -+#[inline] -+async fn flush<S>(stream: &mut S) -> Result<(), WebSocketError> -+where -+ S: AsyncWrite + Unpin, -+{ -+ stream.flush().await.map_err(|e| WebSocketError::IoError(e)) -+} -+ - /// WebSocket protocol implementation over an async stream. - pub struct WebSocket<S> { - stream: S, -@@ -493,6 +508,18 @@ impl<'f, S> WebSocket<S> { - { - self.write_half.write_frame(&mut self.stream, frame).await?; - Ok(()) -+ } -+ -+ /// Flushes the data from the underlying stream. -+ /// -+ /// if the underlying stream is buffered (i.e: TlsStream<TcpStream>), it is needed to call flush -+ /// to be sure that the written frame are correctly pushed down to the bottom stream/channel. -+ /// -+ pub async fn flush(&mut self) -> Result<(), WebSocketError> -+ where -+ S: AsyncWrite + Unpin, -+ { -+ flush(&mut self.stream).await - } - - /// Reads a frame from the stream. diff -ruN wstunnel.orig/pkg/DESCR wstunnel/pkg/DESCR --- wstunnel.orig/pkg/DESCR Fri Dec 13 22:48:37 2024 +++ wstunnel/pkg/DESCR Sat Dec 14 10:39:57 2024 @@ -1 +1 @@ -Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI +Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI. diff -ruN wstunnel.orig/pkg/PLIST wstunnel/pkg/PLIST --- wstunnel.orig/pkg/PLIST Fri Dec 13 22:48:37 2024 +++ wstunnel/pkg/PLIST Sat Dec 14 13:20:26 2024 @@ -1,2 +1,4 @@ +@newgroup _wstunnel:584 +@newuser _wstunnel:584:584::wstunnel daemon:/nonexistent:/sbin/nologin @rcscript ${RCDIR}/wstunnel @bin bin/wstunnel diff -ruN wstunnel.orig/pkg/wstunnel.rc wstunnel/pkg/wstunnel.rc --- wstunnel.orig/pkg/wstunnel.rc Fri Dec 13 22:48:37 2024 +++ wstunnel/pkg/wstunnel.rc Sat Dec 14 11:06:05 2024 @@ -1,11 +1,13 @@ #!/bin/ksh daemon="${TRUEPREFIX}/bin/wstunnel" +daemon_flags="server wss://127.0.0.1:8080" daemon_user="_wstunnel" daemon_logger="daemon.info" -rc_reload="NO" - . /etc/rc.d/rc.subr + +rc_bg=YES +rc_reload=NO rc_cmd $1