mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
5d246d65ff8a4b048b9aa416b99040f68fb72653
145 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
5d246d65ff |
build(deps): Bump redis from 0.24.0 to 0.25.0 in /rust (#4073)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.24.0 to 0.25.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis-rs/redis-rs/releases">redis's releases</a>.</em></p> <blockquote> <h2>v0.25.0</h2> <h3>0.25.0 (2024-03-08)</h3> <h4>Features</h4> <ul> <li><strong>Breaking change</strong>: Add connection timeout to the cluster client (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/834">#834</a>)</li> <li><strong>Breaking change</strong>: Deprecate aio::Connection (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/889">#889</a>)</li> <li>Cluster: fix read from replica & missing slots (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/965">#965</a>)</li> <li>Async cluster connection: Improve handling of missing connections (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/968">#968</a>)</li> <li>Add support for parsing to/from any sized arrays (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/981">#981</a>)</li> <li>Upgrade to rustls 0.22 (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1000">#1000</a> <a href="https://github.com/djc"><code>@djc</code></a>)</li> <li>add SMISMEMBER command (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1002">#1002</a> <a href="https://github.com/Zacaria"><code>@Zacaria</code></a>)</li> <li>Add support for some big number types (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1014">#1014</a> <a href="https://github.com/AkiraMiyakoda"><code>@AkiraMiyakoda</code></a>)</li> <li>Add Support for UUIDs (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1029">#1029</a> <a href="https://github.com/Rabbitminers"><code>@Rabbitminers</code></a>)</li> <li>Add FromRedisValue::from_owned_redis_value to reduce copies while parsing response (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1030">#1030</a> <a href="https://github.com/Nathan-Fenner"><code>@Nathan-Fenner</code></a>)</li> <li>Save reconnected connections during retries (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1033">#1033</a>)</li> <li>Avoid panic on connection failure (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1035">#1035</a>)</li> <li>add disable client setinfo feature and its default mode is off (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1036">#1036</a> <a href="https://github.com/Ggiggle"><code>@Ggiggle</code></a>)</li> <li>Reconnect on parsing errors (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1051">#1051</a>)</li> <li>preallocate buffer for evalsha in Script (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1044">#1044</a> <a href="https://github.com/framlog"><code>@framlog</code></a>)</li> </ul> <h4>Changes</h4> <ul> <li>Align more commands routings (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/938">#938</a>)</li> <li>Fix HashMap conversion (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/977">#977</a> <a href="https://github.com/mxbrt"><code>@mxbrt</code></a>)</li> <li>MultiplexedConnection: Remove unnecessary allocation in send (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/990">#990</a>)</li> <li>Tests: Reduce cluster setup flakiness (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/999">#999</a>)</li> <li>Remove the unwrap_or! macro (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1010">#1010</a>)</li> <li>Remove allocation from command function (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1008">#1008</a>)</li> <li>Catch panics from task::spawn in tests (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1015">#1015</a>)</li> <li>Fix lint errors from new Rust version (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1016">#1016</a>)</li> <li>Fix warnings that appear only with native-TLS (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1018">#1018</a>)</li> <li>Hide the req_packed_commands from docs (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1020">#1020</a>)</li> <li>Fix documentaion error (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1022">#1022</a> <a href="https://github.com/rcl-viveksharma"><code>@rcl-viveksharma</code></a>)</li> <li>Fixes minor grammar mistake in json.rs file (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1026">#1026</a> <a href="https://github.com/RScrusoe"><code>@RScrusoe</code></a>)</li> <li>Enable ignored pipe test (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1027">#1027</a>)</li> <li>Fix names of existing async cluster tests (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1028">#1028</a>)</li> <li>Add lock file to keep MSRV constant (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1039">#1039</a>)</li> <li>Fail CI if lock file isn't updated (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1042">#1042</a>)</li> <li>impl Clone/Copy for SetOptions (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1046">#1046</a> <a href="https://github.com/ahmadbky"><code>@ahmadbky</code></a>)</li> <li>docs: add "connection-manager" cfg attr (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1048">#1048</a> <a href="https://github.com/DCNick3"><code>@DCNick3</code></a>)</li> <li>Remove the usage of aio::Connection in tests (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1049">#1049</a>)</li> <li>Fix new clippy lints (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1052">#1052</a>)</li> <li>Handle server errors in array response (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1056">#1056</a>)</li> <li>Appease Clippy (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1061">#1061</a>)</li> <li>make Pipeline handle returned bulks correctly (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1063">#1063</a> <a href="https://github.com/framlog"><code>@framlog</code></a>)</li> <li>Update mio dependency due to vulnerability (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1064">#1064</a>)</li> <li>Simplify Sink polling logic (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1065">#1065</a>)</li> <li>Separate parsing errors from general response errors (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/1069">#1069</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
fdb33674cd |
refactor(connlib): introduce LoginUrl component (#4048)
Currently, we are passing a lot of data into `Session::connect`. Half of this data is only needed to construct the URL we will use to connect to the portal. We can simplify this by extracting a dedicated `LoginUrl` component that captures and validates this data early. Not only does this reduce the number of parameters we pass to `Session::connect`, it also reduces the number of failure cases we have to deal with in `Session::connect`. Any time the session fails, we have to call `onDisconnected` to inform the client. Thus, we should perform as much validation as we can early on. In other words, once `Session::connect` returns, the client should be able to expect that the tunnel is starting. |
||
|
|
4339030d03 |
refactor(phoenix-channel): reduce Error to fatal errors (#4015)
As part of doing https://github.com/firezone/firezone/pull/3682, we noticed that the handling of errors up to the clients needs to differentiate between fatal errors that require clearing the token vs not. Upon closer inspection of `phoenix_channel::Error`, it becomes obvious that the current design is not good here. In particular, we handle certain errors with retries internally but still expose those same errors. To make this more obvious, we reduce the public `Error` to the variants that are actually fatal. Those can really only be three: - HTTP client errors (those are by definition non-retryable) - Token expired - We have reached our max number of retries |
||
|
|
510714ddcd |
build(deps): Bump clap from 4.5.1 to 4.5.2 in /rust (#4009)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.1 to 4.5.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.5.2</h2> <h2>[4.5.2] - 2024-03-06</h2> <h3>Fixes</h3> <ul> <li><em>(macros)</em> Silence a warning</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.5.2] - 2024-03-06</h2> <h3>Fixes</h3> <ul> <li><em>(macros)</em> Silence a warning</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
26c10fb361 |
build(deps): Bump base64 from 0.21.7 to 0.22.0 in /rust (#3935)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.7 to 0.22.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p> <blockquote> <h1>0.22.0</h1> <ul> <li><code>DecodeSliceError::OutputSliceTooSmall</code> is now conservative rather than precise. That is, the error will only occur if the decoded output <em>cannot</em> fit, meaning that <code>Engine::decode_slice</code> can now be used with exactly-sized output slices. As part of this, <code>Engine::internal_decode</code> now returns <code>DecodeSliceError</code> instead of <code>DecodeError</code>, but that is not expected to affect any external callers.</li> <li><code>DecodeError::InvalidLength</code> now refers specifically to the <em>number of valid symbols</em> being invalid (i.e. <code>len % 4 == 1</code>), rather than just the number of input bytes. This avoids confusing scenarios when based on interpretation you could make a case for either <code>InvalidLength</code> or <code>InvalidByte</code> being appropriate.</li> <li>Decoding is somewhat faster (5-10%)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
2c2bbe19ff |
chore(relay): add FIREZONE_NAME env variable (#3932)
Follow-up from #2544. --------- Signed-off-by: Thomas Eizinger <thomas@eizinger.io> Co-authored-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
d5922eade0 |
build(deps): Bump env_logger from 0.11.2 to 0.11.3 in /rust (#3968)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.2 to 0.11.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/releases">env_logger's releases</a>.</em></p> <blockquote> <h2>v0.11.3</h2> <h2>[0.11.3] - 2024-03-05</h2> <h3>Features</h3> <ul> <li>Experimental support for key-value logging behind <code>unstable-kv</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's changelog</a>.</em></p> <blockquote> <h2>[0.11.3] - 2024-03-05</h2> <h3>Features</h3> <ul> <li>Experimental support for key-value logging behind <code>unstable-kv</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
42042bb842 |
build(deps): Bump env_logger from 0.10.2 to 0.11.2 in /rust (#3904)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.2 to 0.11.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/releases">env_logger's releases</a>.</em></p> <blockquote> <h2>v0.11.2</h2> <h2>[0.11.2] - 2024-02-13</h2> <h2>v0.11.1</h2> <h2>What's Changed</h2> <ul> <li>fix(fmt): Fix passing of WriteStyle when using Target::Pipe by <a href="https://github.com/Bobo1239"><code>@Bobo1239</code></a> in <a href="https://redirect.github.com/rust-cli/env_logger/pull/302">rust-cli/env_logger#302</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Bobo1239"><code>@Bobo1239</code></a> made their first contribution in <a href="https://redirect.github.com/rust-cli/env_logger/pull/302">rust-cli/env_logger#302</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-cli/env_logger/compare/v0.11.0...v0.11.1">https://github.com/rust-cli/env_logger/compare/v0.11.0...v0.11.1</a></p> <h2>v0.11.0</h2> <h2>What's Changed</h2> <ul> <li>refactor(fmt): More anstream prep by <a href="https://github.com/epage"><code>@epage</code></a> in <a href="https://redirect.github.com/rust-cli/env_logger/pull/297">rust-cli/env_logger#297</a></li> <li>fix(fmt): Improve terminal styling support by <a href="https://github.com/epage"><code>@epage</code></a> in <a href="https://redirect.github.com/rust-cli/env_logger/pull/298">rust-cli/env_logger#298</a></li> <li>refactor: Split out env_filter package by <a href="https://github.com/epage"><code>@epage</code></a> in <a href="https://redirect.github.com/rust-cli/env_logger/pull/299">rust-cli/env_logger#299</a></li> <li>feat(filter): Add a Logger decorator by <a href="https://github.com/epage"><code>@epage</code></a> in <a href="https://redirect.github.com/rust-cli/env_logger/pull/300">rust-cli/env_logger#300</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-cli/env_logger/compare/v0.10.2...v0.11.0">https://github.com/rust-cli/env_logger/compare/v0.10.2...v0.11.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's changelog</a>.</em></p> <blockquote> <h2>[0.11.2] - 2024-02-13</h2> <h2>[0.11.1] - 2024-01-27</h2> <h3>Fixes</h3> <ul> <li>Allow styling with <code>Target::Pipe</code></li> </ul> <h2>[0.11.0] - 2024-01-19</h2> <h3>Migration Guide</h3> <p><strong>env_logger::fmt::Style:</strong> The bespoke styling API, behind <code>color</code>, was removed, in favor of accepting any ANSI styled string and adapting it to the target stream's capabilities.</p> <p>Possible styling libraries include:</p> <ul> <li><a href="https://docs.rs/anstyle">anstyle</a> is a minimal, runtime string styling API and is re-exported as <code>env_logger::fmt::style</code></li> <li><a href="https://docs.rs/owo-colors">owo-colors</a> is a feature rich runtime string styling API</li> <li><a href="https://docs.rs/color-print">color-print</a> for feature-rich compile-time styling API</li> </ul> <p><a href="https://docs.rs/env_logger/latest/src/custom_format/custom_format.rs.html">custom_format.rs</a> uses <code>anstyle</code> via <a href="https://docs.rs/env_logger/latest/env_logger/fmt/struct.Formatter.html#method.default_level_style"><code>Formatter::default_level_style</code></a></p> <h3>Breaking Change</h3> <ul> <li>Removed bespoke styling API <ul> <li><code>env_logger::fmt::Formatter::style</code></li> <li><code>env_logger::fmt::Formatter::default_styled_level</code></li> <li><code>env_logger::fmt::Style</code></li> <li><code>env_logger::fmt::Color</code></li> <li><code>env_logger::fmt::StyledValue</code></li> </ul> </li> <li>Removed <code>env_logger::filter</code> in favor of <code>env_filter</code></li> </ul> <h3>Compatibility</h3> <p>MSRV changed to 1.71</p> <h3>Features</h3> <ul> <li>Automatically adapt ANSI escape codes in logged messages to the current terminal's capabilities</li> <li>Add support for <code>NO_COLOR</code> and <code>CLICOLOR_FORCE</code>, see <a href="https://bixense.com/clicolors/">https://bixense.com/clicolors/</a></li> </ul> <h3>Fixes</h3> <ul> <li>Print colors when <code>is_test(true)</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
9d8233a406 |
feat(phoenix-channel): remove concept of "inbound requests" (#3831)
We don't have a concept of "inbound requests", at least not natively in the phoenix channel JSON format. Thus, we don't need to match on `ref` for incoming messages. Extracted out of: #3682. |
||
|
|
bfe1fb0ff4 |
refactor(portal): unify format of error payloads in websocket connection (#3697)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io> |
||
|
|
51254850e1 |
build(deps): Bump socket2 from 0.5.5 to 0.5.6 in /rust (#3766)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.5 to 0.5.6. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md">socket2's changelog</a>.</em></p> <blockquote> <h1>0.5.6</h1> <ul> <li>Add <code>Socket::(set_)multicast_all_v{4,6}</code> (<a href="https://redirect.github.com/rust-lang/socket2/pull/485">rust-lang/socket2#485</a> and (<a href="https://redirect.github.com/rust-lang/socket2/pull/486">rust-lang/socket2#486</a>).</li> <li>Add support for GNU/Hurd (<a href="https://redirect.github.com/rust-lang/socket2/pull/474">rust-lang/socket2#474</a>).</li> <li>Fix compilation on Haiku (<a href="https://redirect.github.com/rust-lang/socket2/pull/479">rust-lang/socket2#479</a> and (<a href="https://redirect.github.com/rust-lang/socket2/pull/482">rust-lang/socket2#482</a>).</li> <li>Fix compilation on OpenHarmony (<a href="https://redirect.github.com/rust-lang/socket2/pull/491">rust-lang/socket2#491</a>).</li> <li>Update to window-sys v0.52 (<a href="https://redirect.github.com/rust-lang/socket2/pull/480">rust-lang/socket2#480</a>).</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
beb5c3834d |
build(deps): Bump anyhow from 1.0.79 to 1.0.80 in /rust (#3765)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.79 to 1.0.80. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p> <blockquote> <h2>1.0.80</h2> <ul> <li>Fix unused_imports warnings when compiled by rustc 1.78</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
4c0c8391d5 |
fix(relay): update tests for current values (#3746)
In #3726 this value was increased but the test didn't reflect that. I've not the slightest idea how this is passing on CI. It isn't locally. Now I have an Idea, relay tests aren't run on CI. |
||
|
|
b545a36ae7 |
feat(relay): increase number of allowed requests per nonce (#3726)
In the relay's authentication scheme, each nonce is only valid for a certain number of requests. This guards against replay attacks. Currently, this is set to 10 which means all requests after 10 will receive a "stale nonce" error. 10 turns out to be way to low and greatly delays the setup of channels and allocations which is always a burst of messages that end up incurring additional round trips because they all need to be re-sent with a new nonce. |
||
|
|
3d3e737ba3 |
refactor(connlib): replace webrtc-rs with snownet (#3391)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io> Resolves: #3377. --------- Co-authored-by: Thomas Eizinger <thomas@eizinger.io> |
||
|
|
97eb506bb3 |
build(deps): Bump tokio from 1.35.1 to 1.36.0 in /rust (#3561)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.1 to 1.36.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p> <blockquote> <h2>Tokio v1.36.0</h2> <h1>1.36.0 (February 2nd, 2024)</h1> <h3>Added</h3> <ul> <li>io: add <code>tokio::io::Join</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6220">#6220</a>)</li> <li>io: implement <code>AsyncWrite</code> for <code>Empty</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6235">#6235</a>)</li> <li>net: add support for anonymous unix pipes (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6127">#6127</a>)</li> <li>net: add <code>UnixSocket</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6290">#6290</a>)</li> <li>net: expose keepalive option on <code>TcpSocket</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6311">#6311</a>)</li> <li>sync: add <code>{Receiver,UnboundedReceiver}::poll_recv_many</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6236">#6236</a>)</li> <li>sync: add <code>Sender::{try_,}reserve_many</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6205">#6205</a>)</li> <li>sync: add <code>watch::Receiver::mark_unchanged</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6252">#6252</a>)</li> <li>task: add <code>JoinSet::try_join_next</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6280">#6280</a>)</li> </ul> <h3>Changed</h3> <ul> <li>io: make <code>copy</code> cooperative (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6265">#6265</a>)</li> <li>io: make <code>repeat</code> and <code>sink</code> cooperative (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6254">#6254</a>)</li> <li>io: simplify check for empty slice (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6293">#6293</a>)</li> <li>process: use pidfd on Linux when available (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6152">#6152</a>)</li> <li>sync: use AtomicBool in broadcast channel future (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6298">#6298</a>)</li> </ul> <h3>Documented</h3> <ul> <li>io: clarify <code>clear_ready</code> docs (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6304">#6304</a>)</li> <li>net: document that <code>*Fd</code> traits on <code>TcpSocket</code> are unix-only (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6294">#6294</a>)</li> <li>sync: document FIFO behavior of <code>tokio::sync::Mutex</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6279">#6279</a>)</li> <li>chore: typographic improvements (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6262">#6262</a>)</li> <li>runtime: remove obsolete comment (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6303">#6303</a>)</li> <li>task: fix typo (<a href="https://redirect.github.com/tokio-rs/tokio/issues/6261">#6261</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/tokio/issues/6220">#6220</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6220">tokio-rs/tokio#6220</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6235">#6235</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6235">tokio-rs/tokio#6235</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6127">#6127</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6127">tokio-rs/tokio#6127</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6290">#6290</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6290">tokio-rs/tokio#6290</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6311">#6311</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6311">tokio-rs/tokio#6311</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6236">#6236</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6236">tokio-rs/tokio#6236</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6205">#6205</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6205">tokio-rs/tokio#6205</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6252">#6252</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6252">tokio-rs/tokio#6252</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6280">#6280</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6280">tokio-rs/tokio#6280</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6265">#6265</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6265">tokio-rs/tokio#6265</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6254">#6254</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6254">tokio-rs/tokio#6254</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6293">#6293</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6293">tokio-rs/tokio#6293</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6238">#6238</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6238">tokio-rs/tokio#6238</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6152">#6152</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6152">tokio-rs/tokio#6152</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6298">#6298</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6298">tokio-rs/tokio#6298</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6262">#6262</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6262">tokio-rs/tokio#6262</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6303">#6303</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6303">tokio-rs/tokio#6303</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/6261">#6261</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/6261">tokio-rs/tokio#6261</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
a211f96109 |
feat(portal): Broadcast state changes to connected clients and gateways (#2240)
# Gateways - [x] When Gateway Group is deleted all gateways should be disconnected - [x] When Gateway Group is updated (eg. routing) broadcast to all affected gateway to disconnect all the clients - [x] When Gateway is deleted it should be disconnected - [x] When Gateway Token is revoked all gateways that use it should be disconnected # Relays - [x] When Relay Group is deleted all relays should be disconnected - [x] When Relay is deleted it should be disconnected - [x] When Relay Token is revoked all gateways that use it should be disconnected # Clients - [x] Remove Delete Client button, show clients using the token on the Actors page (#2669) - [x] When client is deleted disconnect it - [ ] ~When Gateway is offline broadcast to the Clients connected to it it's status~ - [x] Persist `last_used_token_id` in Clients and show it in tokens UI # Resources - [x] When Resource is deleted it should be removed from all gateways and clients - [x] When Resource connection is removed it should be deleted from removed gateway groups - [x] When Resource is updated (eg. traffic filters) all it's authorizations should removed # Authentication - [x] When Token is deleted related sessions are terminated - [x] When an Actor is deleted or disabled it should be disconnected from browser and client - [x] When Identity is deleted it's sessions should be disconnected from browser and client - [x] ^ Ensure the same happens for identities during IdP sync - [x] When IdP is disabled act like all actors for it are disabled? - [x] When IdP is deleted act like all actors for it are deleted? # Authorization - [x] When Policy is created clients that gain access to a resource should get an update - [x] When Policy is deleted we need to all authorizations it's made - [x] When Policy is disabled we need to all authorizations it's made - [x] When Actor Group adds or removes a user, related policies should be re-evaluated - [x] ^ Ensure the same happens for identities during IdP sync # Settings - [x] Re-send init message to Client when DNS settings change # Code - [x] Crear way to see all available topics and messages, do not use binary topics any more --------- Co-authored-by: conectado <gabrielalejandro7@gmail.com> |
||
|
|
84b3ac50ca |
fix(relay): correctly separate channel state for different peers (#3472)
Currently, there is a bug in the relay where the channel state of different peers overlaps because the data isn't indexed correctly by both peers and clients. This PR fixes this, introduces more debug assertions (this bug was caught by one) and also adds some new-type wrappers to avoid conflating peers with clients. |
||
|
|
3f8c6cb6eb |
feat(relay): allow channel bindings to IPv6 addresses (#3434)
Previously, we still had a hard-coded rule in the relay that would not allow us to relay to an IPv6 peer. We can remove that and properly check this based on the allocated addresses. Resolves: #3405. |
||
|
|
e02aa2eb1f | chore(relay): update docs in regards to spec-compliance (#3437) | ||
|
|
3948470539 |
build(deps): Bump serde from 1.0.195 to 1.0.196 in /rust (#3421)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.195 to 1.0.196. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.196</h2> <ul> <li>Improve formatting of "invalid type" error messages involving floats (<a href="https://redirect.github.com/serde-rs/serde/issues/2682">#2682</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
c9834ee8ee |
feat(relay): print stats every 10s (#3408)
In #3400, a discussion started on what the correct log level would be for the production relay. Currently, the relay logs some stats about each packet on debug, i.e. where it came from, where it is going to and how big it is. This isn't very useful in production though and will fill up our log disk quickly. This PR introduces a stats timer like we already have it in other components. We print the number of allocations, how many channels we have and how much data we relayed over all these channels since we last printed. The interval is currently set to 10 seconds. Here is what this output could look like (captured locally using `relay/run_smoke_test.sh`, although slightly tweaked, printing ever 2s, using release mode and larger packets on the clients): ``` 2024-01-26T05:01:02.445555Z INFO relay: Seeding RNG from '0' 2024-01-26T05:01:02.445580Z WARN relay: No portal token supplied, starting standalone mode 2024-01-26T05:01:02.445827Z INFO relay: Listening for incoming traffic on UDP port 3478 2024-01-26T05:01:02.447035Z INFO Eventloop::poll: relay: num_allocations=0 num_channels=0 throughput=0.00 B/s 2024-01-26T05:01:02.649194Z INFO Eventloop::poll:handle_client_input{sender=127.0.0.1:39092 transaction_id="8f20177512495fcb563c60de" allocation=AID-1}: relay: Created new allocation first_relay_address=127.0.0.1 lifetime=600s 2024-01-26T05:01:02.650744Z INFO Eventloop::poll:handle_client_input{sender=127.0.0.1:39092 transaction_id="6445943a353d5e8c262a821f" allocation=AID-1 peer=127.0.0.1:41094 channel=16384}: relay: Successfully bound channel 2024-01-26T05:01:04.446317Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=631.54 MB/s 2024-01-26T05:01:06.446319Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=698.73 MB/s 2024-01-26T05:01:08.446325Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=708.98 MB/s 2024-01-26T05:01:10.446324Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=690.79 MB/s 2024-01-26T05:01:12.446316Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=715.53 MB/s 2024-01-26T05:01:14.446315Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=706.90 MB/s 2024-01-26T05:01:16.446313Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=712.03 MB/s 2024-01-26T05:01:18.446319Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=717.54 MB/s 2024-01-26T05:01:20.446316Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=690.74 MB/s 2024-01-26T05:01:22.446313Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=705.08 MB/s 2024-01-26T05:01:24.446311Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=700.41 MB/s 2024-01-26T05:01:26.446319Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=717.57 MB/s 2024-01-26T05:01:28.446320Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=688.82 MB/s 2024-01-26T05:01:30.446329Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=696.35 MB/s 2024-01-26T05:01:32.446317Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=724.03 MB/s 2024-01-26T05:01:34.446320Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=713.46 MB/s 2024-01-26T05:01:36.446314Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=716.13 MB/s 2024-01-26T05:01:38.446327Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=687.16 MB/s 2024-01-26T05:01:40.446315Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=708.20 MB/s 2024-01-26T05:01:42.446314Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=689.36 MB/s 2024-01-26T05:01:44.446314Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=698.62 MB/s 2024-01-26T05:01:46.446315Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=696.21 MB/s 2024-01-26T05:01:48.446378Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=696.36 MB/s 2024-01-26T05:01:50.446314Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=709.47 MB/s 2024-01-26T05:01:52.446319Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=714.48 MB/s 2024-01-26T05:01:54.446323Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=690.71 MB/s 2024-01-26T05:01:56.446313Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=692.70 MB/s 2024-01-26T05:01:58.446321Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=687.87 MB/s 2024-01-26T05:02:00.446316Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=682.11 MB/s 2024-01-26T05:02:02.446312Z INFO Eventloop::poll: relay: num_allocations=1 num_channels=1 throughput=700.07 MB/s ``` |
||
|
|
76635eb336 | feat(relay): print a log for error responses we send to the client (#3413) | ||
|
|
3b8131920e |
chore(relay): change run_smoke_test.sh to use /usr/bin/env (#3409)
On systems like NixOS, there is no `/bin/bash` because they heavily rely on lookups in `$PATH`. `/usr/bin/env` does such a lookup and will use the first `bash` executable it finds to run the script. |
||
|
|
8f2e9efb21 |
feat(relay): improve logging and error handling (#3399)
By changing around how the fields are recorded in the tracing spans and
what the functions are called, the logs now align nicely:
Before:
```
[ relay] 2024-01-25T02:01:00.103279Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.103448Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.103627Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.103774Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.103955Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.104119Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.104303Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.104456Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.104650Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.104825Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105015Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105165Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105332Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105534Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105739Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.105934Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106155Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106343Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106534Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106671Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106838Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.106987Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.107148Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.107289Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.107496Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.107662Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.107846Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108003Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108189Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108340Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108529Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108665Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.108835Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109006Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109193Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109363Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109563Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109733Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.109919Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110058Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110228Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110360Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110510Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110628Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110773Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.110904Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111049Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111199Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111359Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111540Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111735Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.111884Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112064Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112246Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112422Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112577Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112754Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.112933Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.113109Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.113254Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.113421Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:55880}:handle_channel_data_message{sender=127.0.0.1:55880 channel=16384 recipient=127.0.0.1:37062}: relay: Relaying 32 bytes
[ relay] 2024-01-25T02:01:00.113658Z DEBUG Eventloop::poll:handle_relay_input{sender=127.0.0.1:37062 allocation_id=AID-1 recipient=127.0.0.1:55880 channel=16384}: relay: Relaying 32 bytes
```
Now:
```
[ relay] 2024-01-25T01:57:42.045265Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.045393Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.045543Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.045676Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.045792Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.045918Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046060Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046190Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046302Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046410Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046547Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.046964Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047100Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047219Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047365Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047497Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047613Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047732Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.047863Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.048212Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.048342Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.048460Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.048601Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049029Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049167Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049292Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049434Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049549Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049660Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049787Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.049927Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.050095Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.050219Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.050688Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.050891Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051046Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051159Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051300Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051462Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051618Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051726Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.051884Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052130Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052344Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052466Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052631Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052775Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.052941Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053065Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053224Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053367Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053527Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053665Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053826Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.053972Z DEBUG Eventloop::poll:handle_peer_traffic{sender=127.0.0.1:45679 allocation_id=AID-1 recipient=127.0.0.1:49137 channel=16384}: relay: Relaying 32 bytes
[ relay] 2024-01-25T01:57:42.054127Z DEBUG Eventloop::poll:handle_client_input{sender=127.0.0.1:49137 allocation_id=AID-1 recipient=127.0.0.1:45679 channel=16384}: relay: Relaying 32 bytes
```
|
||
|
|
f9f95677d5 |
feat: automatically rejoin channel on portal after reconnect (#3393)
In https://github.com/firezone/firezone/pull/3364, we forgot to rejoin the channel on the portal. Additionally, I found a way to detect the disconnect even more quickly. |
||
|
|
eb3d38ebe9 |
build(deps): Bump env_logger from 0.10.1 to 0.10.2 in /rust (#3359)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.1 to 0.10.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's changelog</a>.</em></p> <blockquote> <h2>[0.10.2] - 2024-01-18</h2> <h3>Performance</h3> <ul> <li>Avoid extra UTF-8 validation performed in some cases</li> </ul> <h3>Fixes</h3> <ul> <li>Ensure custom pipes/stdout get flushed</li> <li>Don't panic on broken pipes when <code>color</code> is disabled</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
6b789d6932 |
feat(phoenix-channel): automatically reconnect based on provided ExponentialBackoff (#3364)
Currently, only the gateway has a reconnect logic for (transient) errors when connecting to the portal. Instead of duplicating this for the relay, I moved the reconnect state machine to `phoenix-channel`. This means the relay now automatically gets it too and in the future, the clients will also benefit from it. As a nice benefit, this also greatly simplifies the gateway's `Eventloop` and removes a bunch of cruft with channels. Resolves: #2915. |
||
|
|
a6ecee2fd4 |
build(deps): Bump clap from 4.4.17 to 4.4.18 in /rust (#3357)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.17 to 4.4.18. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.18</h2> <h2>[4.4.18] - 2024-01-16</h2> <h3>Fixes</h3> <ul> <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the list of required arguments is unique</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.18] - 2024-01-16</h2> <h3>Fixes</h3> <ul> <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the list of required arguments is unique</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
42a05e86ea |
build(deps): Bump uuid from 1.6.1 to 1.7.0 in /rust (#3339)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.6.1 to 1.7.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p> <blockquote> <h2>1.7.0</h2> <h2>What's Changed</h2> <ul> <li>Add missing test for invalid parse_str by <a href="https://github.com/CXWorks"><code>@CXWorks</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/723">uuid-rs/uuid#723</a></li> <li>Upgrade borsh unstable dependency to v1.0 and make it stable by <a href="https://github.com/bgeron"><code>@bgeron</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/724">uuid-rs/uuid#724</a></li> <li>Reduce the package size of uuid by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/726">uuid-rs/uuid#726</a></li> <li>Make use of newer Cargo features for specifying dependencies by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/727">uuid-rs/uuid#727</a></li> <li>Prepare for 1.7.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/728">uuid-rs/uuid#728</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/CXWorks"><code>@CXWorks</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/723">uuid-rs/uuid#723</a></li> <li><a href="https://github.com/bgeron"><code>@bgeron</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/724">uuid-rs/uuid#724</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0">https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
dc57206027 |
build(deps): Bump redis from 0.23.3 to 0.24.0 in /rust (#2864)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.23.3 to 0.24.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis-rs/redis-rs/releases">redis's releases</a>.</em></p> <blockquote> <h2>v0.24.0</h2> <h3>0.24.0 (2023-12-05)</h3> <h4>Features</h4> <ul> <li><strong>Breaking change</strong>: Support Mutual TLS (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/858">#858</a> <a href="https://github.com/sp-angel"><code>@sp-angel</code></a>)</li> <li>Implement <code>FromRedisValue</code> for <code>Box<[T]></code> and <code>Arc<[T]></code> (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/799">#799</a> <a href="https://github.com/JOT85"><code>@JOT85</code></a>)</li> <li>Sync Cluster: support multi-slot operations. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/967">#967</a>)</li> <li>Execute multi-node requests using try_request. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/919">#919</a>)</li> <li>Sorted set blocking commands (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/962">#962</a> <a href="https://github.com/gheorghitamutu"><code>@gheorghitamutu</code></a>)</li> <li>Allow passing routing information to cluster. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/899">#899</a>)</li> <li>Add <code>tcp_nodelay</code> feature (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/941">#941</a> <a href="https://github.com/PureWhiteWu"><code>@PureWhiteWu</code></a>)</li> <li>Add support for multi-shard commands. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/900">#900</a>)</li> </ul> <h4>Changes</h4> <ul> <li>Order in usage of ClusterParams. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/997">#997</a>)</li> <li><strong>Breaking change</strong>: Fix StreamId::contains_key signature (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/783">#783</a> <a href="https://github.com/Ayush1325"><code>@Ayush1325</code></a>)</li> <li><strong>Breaking change</strong>: Update Command expiration values to be an appropriate type (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/589">#589</a> <a href="https://github.com/joshleeb"><code>@joshleeb</code></a>)</li> <li><strong>Breaking change</strong>: Bump aHash to v0.8.6 (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/966">#966</a> <a href="https://github.com/aumetra"><code>@aumetra</code></a>)</li> <li>Fix features for <code>load_native_certs</code>. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/996">#996</a>)</li> <li>Revert redis-test versioning changes (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/993">#993</a>)</li> <li>Tests: Add retries to test cluster creation (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/994">#994</a>)</li> <li>Fix sync cluster behavior with transactions. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/983">#983</a>)</li> <li>Sync Pub/Sub - cache received pub/sub messages. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/910">#910</a>)</li> <li>Prefer routing to primary in a transaction. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/986">#986</a>)</li> <li>Accept iterator at <code>ClusterClient</code> initialization (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/987">#987</a> <a href="https://github.com/ruanpetterson"><code>@ruanpetterson</code></a>)</li> <li><strong>Breaking change</strong>: Change timeouts from usize and isize to f64 (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/988">#988</a> <a href="https://github.com/eythorhel19"><code>@eythorhel19</code></a>)</li> <li>Update minimal rust version to 1.6.5 (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/982">#982</a>)</li> <li>Disable JSON module tests for redis 6.2.4. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/980">#980</a>)</li> <li>Add connection string examples (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/976">#976</a> <a href="https://github.com/NuclearOreo"><code>@NuclearOreo</code></a>)</li> <li>Move response policy into multi-node routing. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/952">#952</a>)</li> <li>Added functions that allow tests to check version. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/963">#963</a>)</li> <li>Fix XREADGROUP command ordering as per Redis Docs, and compatibility with Upstash Redis (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/960">#960</a> <a href="https://github.com/prabhpreet"><code>@prabhpreet</code></a>)</li> <li>Optimize make_pipeline_results by pre-allocate memory (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/957">#957</a> <a href="https://github.com/PureWhiteWu"><code>@PureWhiteWu</code></a>)</li> <li>Run module tests sequentially. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/956">#956</a>)</li> <li>Log cluster creation output in tests. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/955">#955</a>)</li> <li>CI: Update and use better maintained github actions. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/954">#954</a>)</li> <li>Call CLIENT SETINFO on new connections. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/945">#945</a>)</li> <li>Deprecate functions that erroneously use <code>tokio</code> in their name. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/913">#913</a>)</li> <li>CI: Increase timeouts and use newer redis. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/949">#949</a>)</li> <li>Remove redis version from redis-test. (<a href="https://redirect.github.com/redis-rs/redis-rs/pull/943">#943</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
5fce5dd267 |
chore(deps): bump base64 from 0.21.6 to 0.21.7 in /rust (#3228)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.6 to 0.21.7. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p> <blockquote> <h1>0.21.7</h1> <ul> <li>Support getting an alphabet's contents as a str via <code>Alphabet::as_str()</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
d76c94d057 |
chore(deps): bump axum from 0.6.20 to 0.7.3 in /rust (#3068)
Bumps [axum](https://github.com/tokio-rs/axum) from 0.6.20 to 0.7.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/axum/releases">axum's releases</a>.</em></p> <blockquote> <h2>axum-extra - v0.7.3</h2> <ul> <li><strong>added:</strong> Implement <code>Deref</code> and <code>DerefMut</code> for built-in extractors (<a href="https://redirect.github.com/tokio-rs/axum/issues/1922">#1922</a>)</li> <li><strong>added:</strong> Add <code>OptionalPath</code> extractor (<a href="https://redirect.github.com/tokio-rs/axum/issues/1889">#1889</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/axum/issues/1889">#1889</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/1889">tokio-rs/axum#1889</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/1922">#1922</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/1922">tokio-rs/axum#1922</a></p> <h2>axum - v0.7.3</h2> <ul> <li><strong>added:</strong> <code>Body</code> implements <code>From<()></code> now (<a href="https://redirect.github.com/tokio-rs/axum/issues/2411">#2411</a>)</li> <li><strong>change:</strong> Update version of multer used internally for multipart (<a href="https://redirect.github.com/tokio-rs/axum/issues/2433">#2433</a>)</li> <li><strong>change:</strong> Update tokio-tungstenite to 0.21 (<a href="https://redirect.github.com/tokio-rs/axum/issues/2435">#2435</a>)</li> <li><strong>added:</strong> Enable <code>tracing</code> feature by default (<a href="https://redirect.github.com/tokio-rs/axum/issues/2460">#2460</a>)</li> <li><strong>added:</strong> Support graceful shutdown on <code>serve</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/2398">#2398</a>)</li> <li><strong>added:</strong> <code>RouterIntoService</code> implements <code>Clone</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/2456">#2456</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/axum/issues/2411">#2411</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2411">tokio-rs/axum#2411</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2433">#2433</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2433">tokio-rs/axum#2433</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2435">#2435</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2435">tokio-rs/axum#2435</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2460">#2460</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2460">tokio-rs/axum#2460</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2398">#2398</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2398">tokio-rs/axum#2398</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2456">#2456</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2456">tokio-rs/axum#2456</a></p> <h2>axum-extra - v0.7.2</h2> <ul> <li><strong>added:</strong> Implement <code>IntoResponse</code> for <code>MultipartError</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/1861">#1861</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/axum/issues/1861">#1861</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/1861">tokio-rs/axum#1861</a></p> <h2>axum - v0.7.2</h2> <ul> <li><strong>added:</strong> Add <code>axum::body::to_bytes</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/2373">#2373</a>)</li> <li><strong>fixed:</strong> Gracefully handle accept errors in <code>serve</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/2400">#2400</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/axum/issues/2373">#2373</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2373">tokio-rs/axum#2373</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/2400">#2400</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/2400">tokio-rs/axum#2400</a></p> <h2>axum-extra - v0.7.1</h2> <ul> <li>Updated to latest <code>axum-macros</code></li> </ul> <h2>axum - v0.7.1</h2> <ul> <li><strong>fix</strong>: Fix readme.</li> </ul> <h2>axum-extra - v0.7.0</h2> <ul> <li><strong>breaking:</strong> Remove the <code>spa</code> feature which should have been removed in 0.6.0 (<a href="https://redirect.github.com/tokio-rs/axum/issues/1802">#1802</a>)</li> <li><strong>added:</strong> Add <code>Multipart</code>. This is similar to <code>axum::extract::Multipart</code> except that it enforces field exclusivity at runtime instead of compile time, as this improves usability (<a href="https://redirect.github.com/tokio-rs/axum/issues/1692">#1692</a>)</li> <li><strong>added:</strong> Implement <code>Clone</code> for <code>CookieJar</code>, <code>PrivateCookieJar</code> and <code>SignedCookieJar</code> (<a href="https://redirect.github.com/tokio-rs/axum/issues/1808">#1808</a>)</li> <li><strong>fixed:</strong> Add <code>#[must_use]</code> attributes to types that do nothing unless used (<a href="https://redirect.github.com/tokio-rs/axum/issues/1809">#1809</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/axum/issues/1692">#1692</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/1692">tokio-rs/axum#1692</a> <a href="https://redirect.github.com/tokio-rs/axum/issues/1802">#1802</a>: <a href="https://redirect.github.com/tokio-rs/axum/pull/1802">tokio-rs/axum#1802</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
9852808fc2 |
build(deps): Bump clap from 4.4.11 to 4.4.13 in /rust (#3136)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.11 to 4.4.13. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.13</h2> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> <h2>v4.4.12</h2> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
b28e99cdab |
chore(ci): Use 1.0.0 as version base (#2949)
Fixes #2948 So it seems that it's easiest just to use an old-fashioned semver string. This means we'll need to keep a version matrix in the docs of which components are supported and for how long, but it's better than having different version schemes for different Firezone components altogether. |
||
|
|
9a5f4e0ce2 |
fix(relay): ensure channel numbers are unique to a client (#2744)
Previously, there was a misinterpretation of the spec that didn't allow _different_ clients to use the same channel number. This is wrong though. Because channel numbers are managed by clients, they must be unique _per client_. This patch addresses this short-coming. I didn't include any dedicated tests for this. The fact that the existing ones still work means the feature is overall working and the data structure shows that the channels are now indeed unique per client. |
||
|
|
81598dbaff |
feat(relay): reduce packet drops (#2737)
There is another channel which we didn't yet increase in size, the one between the allocation and the main task loop. Increasing to 1000 means each allocation can potentially buffer 65MB of data. With the biggest port range (16383 allocations), that would be a theoretical memory consumption of ~ 1TB. But, this would imply that we have 16383 connected clients that all send data at max speed, saturating our downlink and our uplink is somehow ridiculously small. As long as up and downlink are roughly within the same ballpark figure, it should be impossible to actually fill up these buffers. I suspect that the current packet drops of the iperf test are happening because on localhost, sending 10 UDP packets is so quick that a tokio is unable to wake up the task in time to empty the queue. In addition to the increased channel size, I've also added a check for the other channels to avoid writing to them in case they are not ready for some reason. --------- Co-authored-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
aec5b97012 | Add performance tests for client-gateway communication (#2655) | ||
|
|
95bfd5bb02 |
build(deps): Bump env_logger from 0.10.0 to 0.10.1 in /rust (#2637)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.0 to 0.10.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's changelog</a>.</em></p> <blockquote> <h2>[0.10.1] - 2023-11-10</h2> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
d666cb2b39 |
build(deps): Bump proptest from 1.3.1 to 1.4.0 in /rust (#2635)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.3.1 to 1.4.0. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0d1df924dc |
build(deps): Bump clap from 4.4.6 to 4.4.7 in /rust (#2525)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.6 to 4.4.7. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.7] - 2023-10-24</h2> <h3>Performance</h3> <ul> <li>Reduced code size</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
2bca378f17 |
Allow data plane configuration at runtime (#2477)
## Changelog - Updates connlib parameter API_URL (formerly known under different names as `CONTROL_PLANE_URL`, `PORTAL_URL`, `PORTAL_WS_URL`, and friends) to be configured as an "advanced" or "hidden" feature at runtime so that we can test production builds on both staging and production. - Makes `AUTH_BASE_URL` configurable at runtime too - Moves `CONNLIB_LOG_FILTER_STRING` to be configured like this as well and simplifies its naming - Fixes a timing attack bug on Android when comparing the `csrf` token - Adds proper account ID validation to Android to prevent invalid URL parameter strings from being saved and used - Cleans up a number of UI / view issues on Android regarding typos, consistency, etc - Hides vars from from the `relay` CLI we may not want to expose just yet - `get_device_id()` is flawed for connlib components -- SMBios is rarely available. Data plane components now require a `FIREZONE_ID` now instead to use for upserting. Fixes #2482 Fixes #2471 --------- Signed-off-by: Jamil <jamilbk@users.noreply.github.com> Co-authored-by: Gabi <gabrielalejandro7@gmail.com> |
||
|
|
b417e71c1d |
build(deps): Bump base64 from 0.21.4 to 0.21.5 in /rust (#2524)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.4 to 0.21.5. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p> <blockquote> <h1>0.21.5</h1> <ul> <li>Add <code>Debug</code> and <code>Clone</code> impls for the general purpose Engine</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
bf39f65bb0 |
build(deps): Bump futures from 0.3.28 to 0.3.29 in /rust (#2523)
[//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.28 to 0.3.29. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p> <blockquote> <h2>0.3.29</h2> <ul> <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li> <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li> <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li> <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li> <li>Fix infinite loop caused by invalid UTF-8 bytes (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li> <li>Fix build error with -Z minimal-versions (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p> <blockquote> <h1>0.3.29 - 2023-10-26</h1> <ul> <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li> <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li> <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li> <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li> <li>Fix infinite loop caused by invalid UTF-8 bytes (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li> <li>Fix build error with -Z minimal-versions (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
50f3809ffa |
build(deps): Bump serde from 1.0.189 to 1.0.190 in /rust (#2522)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.189 to 1.0.190. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.190</h2> <ul> <li>Preserve NaN sign when deserializing f32 from f64 or vice versa (<a href="https://redirect.github.com/serde-rs/serde/issues/2637">#2637</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
f0e545a8fd |
build(deps): Bump stun_codec from 0.3.3 to 0.3.4 in /rust (#2487)
Bumps [stun_codec](https://github.com/sile/stun_codec) from 0.3.3 to 0.3.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sile/stun_codec/releases">stun_codec's releases</a>.</em></p> <blockquote> <h2>v0.3.4</h2> <h2>What's Changed</h2> <ul> <li>Remove the hmac_sha1 dependency by <a href="https://github.com/pantsman0"><code>@pantsman0</code></a> in <a href="https://redirect.github.com/sile/stun_codec/pull/20">sile/stun_codec#20</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/pantsman0"><code>@pantsman0</code></a> made their first contribution in <a href="https://redirect.github.com/sile/stun_codec/pull/20">sile/stun_codec#20</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/sile/stun_codec/compare/0.3.3...0.3.4">https://github.com/sile/stun_codec/compare/0.3.3...0.3.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0af112df00 |
build(deps): Bump socket2 from 0.5.4 to 0.5.5 in /rust (#2486)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.4 to 0.5.5. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md">socket2's changelog</a>.</em></p> <blockquote> <h1>0.5.5</h1> <ul> <li>Add support for Vita (<a href="https://redirect.github.com/rust-lang/socket2/pull/465">rust-lang/socket2#465</a>).</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
573124bd2f |
Document relay gateway client CLIs (#2424)
Fixes #2363 * Rename `relay` package to `firezone-relay` so that binaries outputted match the `firezone-*` cli naming scheme * Rename `firezone-headless-client` package to `firezone-linux-client` for consistency * Add READMEs for user-facing CLI components (there will also be docs later) |
||
|
|
a65a0ad88e |
deps: update to webrtc 0.9, boringtun to master (#2404)
Co-authored-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
b69a91e33c |
build(deps): Bump uuid from 1.4.1 to 1.5.0 in /rust (#2428)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.4.1 to 1.5.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p> <blockquote> <h2>1.5.0</h2> <h2>What's Changed</h2> <ul> <li>Add impl From<!-- raw HTML omitted --> for String under the std feature flag by <a href="https://github.com/brahms116"><code>@brahms116</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/700">uuid-rs/uuid#700</a></li> <li>Remove dead link to templates by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/704">uuid-rs/uuid#704</a></li> <li>make ClockSequence wrap correctly by <a href="https://github.com/fef1312"><code>@fef1312</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/705">uuid-rs/uuid#705</a></li> <li>Track MSRV in Cargo.toml by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/706">uuid-rs/uuid#706</a></li> <li>Support converting between Uuid and vec by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/703">uuid-rs/uuid#703</a></li> <li>Replace MIPS with Miri and add clippy to CI by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/712">uuid-rs/uuid#712</a></li> <li>Added <code>bytemuck</code> support by <a href="https://github.com/John-Toohey"><code>@John-Toohey</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/711">uuid-rs/uuid#711</a></li> <li>Prepare for 1.5.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/713">uuid-rs/uuid#713</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/brahms116"><code>@brahms116</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/700">uuid-rs/uuid#700</a></li> <li><a href="https://github.com/fef1312"><code>@fef1312</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/705">uuid-rs/uuid#705</a></li> <li><a href="https://github.com/John-Toohey"><code>@John-Toohey</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/711">uuid-rs/uuid#711</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0">https://github.com/uuid-rs/uuid/compare/1.4.1...1.5.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |