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

Reply via email to