Commit Graph

53 Commits

Author SHA1 Message Date
Jamil
3316d9098a fix(android): Fix auth flow and callback thread safety, and pass fd through FFI (#1930)
* Refactor sharedPreferences to only save the AccountId
* Update TeamId -> AccountId to match naming elsewhere
* Update JWT -> Token to avoid confusion; this token is **not** a valid
JWT and should be treated as an opaque token
* Update FFI `connect` to accept an optional file descriptor (int32) as
a first argument. This seemed to be the most straightforward way to pass
it to the tunnel stack. Retrieving it via callback is another option,
but retrieving return vars with the `jni` was more complex. We could
have used a similar approach that we did in the Apple client
(enumerating all fd's in the `new()` function until we found ours) but
this approach is [explicitly
documented/recommended](https://developer.android.com/reference/android/net/VpnService.Builder#establish())
by the Android docs so I figured it's not likely to break.

Additionally, there was a thread safety bug in the recent JNI callback
implementation that consistently crashed the VM with `JNI DETECTED ERROR
IN APPLICATION: use of invalid jobject...`. The fix was to use
`GlobalRef` which has the explicit purpose of outliving the `JNIEnv`
lifetime so that no `static` lifetimes need to be used.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Pratik Velani <pratikvelani@gmail.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-08-23 14:13:55 -07:00
dependabot[bot]
bf95d0480b build(deps): Bump clap from 4.3.21 to 4.3.23 in /rust (#1931)
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.21 to 4.3.23.
<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.3.23</h2>
<h2>[4.3.23] - 2023-08-18</h2>
<h3>Fixes</h3>
<ul>
<li>Fixed <code>UnknownArgumentValueParser</code> to not error on flag's
absence</li>
</ul>
<h2>v4.3.22</h2>
<h2>[4.3.22] - 2023-08-17</h2>
<h3>Features</h3>
<ul>
<li>Add <code>UnknownArgumentValueParser</code> for injecting errors for
improving the experience with errors</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.3.23] - 2023-08-18</h2>
<h3>Fixes</h3>
<ul>
<li>Fixed <code>UnknownArgumentValueParser</code> to not error on flag's
absence</li>
</ul>
<h2>[4.3.22] - 2023-08-17</h2>
<h3>Features</h3>
<ul>
<li>Add <code>UnknownArgumentValueParser</code> for injecting errors for
improving the experience with errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b9df80c2ce"><code>b9df80c</code></a>
chore: Release</li>
<li><a
href="e46e12b7eb"><code>e46e12b</code></a>
docs: Update changelog</li>
<li><a
href="c9923119d4"><code>c992311</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5080">#5080</a>
from epage/unknown</li>
<li><a
href="56135f3ff3"><code>56135f3</code></a>
fix(builder): UnknownValueParser shouldn't error on flag absense</li>
<li><a
href="6720240577"><code>6720240</code></a>
feat(parser): Report source to value parsers</li>
<li><a
href="b55ebc9f7f"><code>b55ebc9</code></a>
test(parser): Show bad Unknown bug on flags</li>
<li><a
href="df337de701"><code>df337de</code></a>
chore: Release</li>
<li><a
href="fb8a12a739"><code>fb8a12a</code></a>
docs: Update changelog</li>
<li><a
href="b87ca2ff2c"><code>b87ca2f</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5075">#5075</a>
from epage/err</li>
<li><a
href="9f65eb0c9a"><code>9f65eb0</code></a>
refactor(error): Give caller control over suggestion</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.3.21...v4.3.23">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.3.21&new-version=4.3.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 01:31:57 +00:00
Gabi
8621953fe6 connlib: fix how we handle disconnect (#1923)
Basically we were having a panic inside a panic before, when I tried to
drop the runtime in `on_disconnect` since you can't drop a runtime
within a runtime. This PR spawns a new thread that listen for
disconnection and stops the runtime right there.

This also fixes the timer for reconnections.

Note: That I first stop it and the drop it which is redundant but I
rather be safe :)
2023-08-23 00:35:11 +00:00
dependabot[bot]
08343ef5a1 build(deps): Bump async-trait from 0.1.72 to 0.1.73 in /rust (#1932)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.72
to 0.1.73.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.73</h2>
<ul>
<li>Prevent generated code from triggering ignored_unit_patterns
pedantic clippy lint</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f07c856870"><code>f07c856</code></a>
Release 0.1.73</li>
<li><a
href="f12f3717e6"><code>f12f371</code></a>
Resolve ignored_unit_patterns pedantic clippy lint in test suite</li>
<li><a
href="a71e0664c2"><code>a71e066</code></a>
Resolve ignored_unit_patterns pedantic clippy lint in generated
code</li>
<li><a
href="7d4e192c7d"><code>7d4e192</code></a>
Update ui test suite to nightly-2023-08-10</li>
<li><a
href="47565d9ff6"><code>47565d9</code></a>
Revert &quot;Temporarily disable -Zrandomize-layout due to rustc
ICE&quot;</li>
<li><a
href="72bd72b000"><code>72bd72b</code></a>
Temporarily disable -Zrandomize-layout due to rustc ICE</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.72...0.1.73">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.72&new-version=0.1.73)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 22:04:16 +00:00
dependabot[bot]
186dfb95a9 build(deps): Bump anyhow from 1.0.72 to 1.0.75 in /rust (#1934)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.72 to 1.0.75.
<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.75</h2>
<ul>
<li>Partially work around rust-analyzer bug (<a
href="https://redirect.github.com/rust-lang/rust-analyzer/issues/9911">rust-lang/rust-analyzer#9911</a>)</li>
</ul>
<h2>1.0.74</h2>
<ul>
<li>Add bootstrap workaround to allow rustc to depend on anyhow (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/320">#320</a>,
thanks <a
href="https://github.com/RalfJung"><code>@​RalfJung</code></a>)</li>
</ul>
<h2>1.0.73</h2>
<ul>
<li>Update backtrace support to nightly's new Error::provide API (<a
href="https://redirect.github.com/rust-lang/rust/pull/113464">rust-lang/rust#113464</a>,
<a
href="https://redirect.github.com/dtolnay/anyhow/issues/319">#319</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6485caebde"><code>6485cae</code></a>
Release 1.0.75</li>
<li><a
href="238223af99"><code>238223a</code></a>
Work around ridiculous rust-analyzer behavior</li>
<li><a
href="cbade7d00a"><code>cbade7d</code></a>
Release 1.0.74</li>
<li><a
href="0798a9a635"><code>0798a9a</code></a>
Reword bootstrap comment</li>
<li><a
href="61d86763da"><code>61d8676</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/320">#320</a>
from RalfJung/bootstrap</li>
<li><a
href="663c6633e3"><code>663c663</code></a>
don't run build probes in rustc bootstrap</li>
<li><a
href="e471b2b650"><code>e471b2b</code></a>
Release 1.0.73</li>
<li><a
href="8cf1d150f7"><code>8cf1d15</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/319">#319</a>
from dtolnay/errorprovide</li>
<li><a
href="31c8dff2cd"><code>31c8dff</code></a>
Update to nightly's new Error::provide API</li>
<li><a
href="496b9584c4"><code>496b958</code></a>
Ignore ignored_unit_patterns pedantic clippy lint in test suite</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.75">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.72&new-version=1.0.75)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 22:02:30 +00:00
dependabot[bot]
54dd780a60 build(deps): Bump thiserror from 1.0.44 to 1.0.47 in /rust (#1935)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.44 to
1.0.47.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>1.0.47</h2>
<ul>
<li>Work around rust-analyzer bug (<a
href="https://redirect.github.com/rust-lang/rust-analyzer/issues/9911">rust-lang/rust-analyzer#9911</a>)</li>
</ul>
<h2>1.0.46</h2>
<ul>
<li>Add bootstrap workaround to allow rustc to depend on thiserror (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/248">#248</a>,
thanks <a
href="https://github.com/RalfJung"><code>@​RalfJung</code></a>)</li>
</ul>
<h2>1.0.45</h2>
<ul>
<li>Update backtrace support to nightly's new Error::provide API (<a
href="https://redirect.github.com/rust-lang/rust/pull/113464">rust-lang/rust#113464</a>,
<a
href="https://redirect.github.com/dtolnay/thiserror/issues/246">#246</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0495eaa802"><code>0495eaa</code></a>
Release 1.0.47</li>
<li><a
href="2d9425c374"><code>2d9425c</code></a>
Work around ridiculous rust-analyzer behavior</li>
<li><a
href="5ada5d5198"><code>5ada5d5</code></a>
Release 1.0.46</li>
<li><a
href="f51271a0d5"><code>f51271a</code></a>
Reword bootstrap comment</li>
<li><a
href="1f02cdfcdd"><code>1f02cdf</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/248">#248</a>
from RalfJung/bootstrap</li>
<li><a
href="fa637828ae"><code>fa63782</code></a>
don't run build probes in rustc bootstrap</li>
<li><a
href="2fd79cd52a"><code>2fd79cd</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/247">#247</a>
from dtolnay/errorprovide</li>
<li><a
href="78e0ffed90"><code>78e0ffe</code></a>
Pull in anyhow's new Error::provide support</li>
<li><a
href="06f1895832"><code>06f1895</code></a>
Release 1.0.45</li>
<li><a
href="a11330f7fb"><code>a11330f</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/246">#246</a>
from dtolnay/errorprovide</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/thiserror/compare/1.0.44...1.0.47">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.44&new-version=1.0.47)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 22:02:12 +00:00
dependabot[bot]
d71635c651 build(deps): Bump rustls-webpki from 0.100.1 to 0.100.2 in /rust (#1941)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.100.1 to
0.100.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki/releases">rustls-webpki's
releases</a>.</em></p>
<blockquote>
<h2>v/0.100.2</h2>
<h2>Release notes</h2>
<ul>
<li>certificate path building and verification is now capped at 100
signature validation operations to avoid the risk of CPU usage
denial-of-service attack when validating crafted certificate chains
producing quadratic runtime. This risk affected both clients, as well as
servers that verified client certificates.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>v0.100.2 prep by <a
href="https://github.com/cpu"><code>@​cpu</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/154">rustls/webpki#154</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2">https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c8b821450b"><code>c8b8214</code></a>
Bump MSRV to 1.60</li>
<li><a
href="855752292e"><code>8557522</code></a>
Avoid testing MSRV of dev-dependencies</li>
<li><a
href="73a7f0c7d7"><code>73a7f0c</code></a>
Cargo: version 0.100.1 -&gt; 0.100.2</li>
<li><a
href="4ea052366f"><code>4ea0523</code></a>
verify_cert: enforce maximum number of signatures.</li>
<li>See full diff in <a
href="https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.100.1&new-version=0.100.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/firezone/firezone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 22:01:58 +00:00
Jamil
54e1a79a50 fix(ios): portal connectivity and tunnel setup (#1927)
This PR fixes issues with the iOS client connecting to the portal and
setting up the tunnel.

- portal IPv6 unique-local prefix typo
- Use `rustls-webpki-roots` instead of `rustls-native-roots` for tokio
tungstenite since the latter [only supports macOS, Linux, and
Windows](https://github.com/rustls/rustls-native-certs) while the former
seems to work on all platforms(?)
- Remove Multipath TCP entitlement for iOS since it's not relevant for
us.

@conectado After this is merged, we _almost_ have a working tunnel on
iOS. I believe the error we're hitting now is the 4-byte address family
header that we need to add and strip from each packet written to / read
from the tunnel. See below log for sample output when attempting to
connect to the `HTTPbin` resource:

```
dev.firezone.firezone.network-extension	packet-tunnel	debug	16:10:13.401705-0700	FirezoneNetworkExtensioniOS	Adapter state changed to: tunnelReady
dev.firezone.firezone.network-extension	packet-tunnel	debug	16:10:13.401731-0700	FirezoneNetworkExtensioniOS	Beginning path monitoring
com.apple.network	path	default	16:10:13.402211-0700	FirezoneNetworkExtensioniOS	nw_path_evaluator_start [1ACDE975-615B-4557-BF7C-678F3594452E <NULL> generic, multipath service: 1, attribution: developer]
	path: satisfied (Path is satisfied), interface: en0[802.11], scoped, ipv4, ipv6, dns
com.apple.network	path	info	16:10:13.402235-0700	FirezoneNetworkExtensioniOS	nw_path_evaluator_call_update_handler [1ACDE975-615B-4557-BF7C-678F3594452E] scheduling update
com.apple.network	path	info	16:10:13.402261-0700	FirezoneNetworkExtensioniOS	nw_path_evaluator_call_update_handler_block_invoke [1ACDE975-615B-4557-BF7C-678F3594452E] delivering update
com.apple.network		debug	16:10:13.402286-0700	FirezoneNetworkExtensioniOS	nw_path_copy_interface_with_generation Cache miss for interface for index 3 (generation 4574)
com.apple.network		debug	16:10:13.402312-0700	FirezoneNetworkExtensioniOS	nw_path_copy_interface_with_generation Cache miss for interface for index 31 (generation 141)
dev.firezone.firezone.network-extension	packet-tunnel	debug	16:10:13.402363-0700	FirezoneNetworkExtensioniOS	Suppressing calls to disableSomeRoamingForBrokenMobileSemantics() and bumpSockets()
dev.firezone.firezone	connlib	debug	16:10:14.368105-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:15.369018-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:16.095618-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:16.370908-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:17.372035-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:18.373423-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:20.402863-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:24.381581-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:32.374566-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:10:38.137437-0700	FirezoneNetworkExtensioniOS	Text("{\"ref\":null,\"topic\":\"phoenix\",\"event\":\"phx_reply\",\"payload\":{\"status\":\"ok\",\"response\":{}}}")
dev.firezone.firezone	connlib	debug	16:10:38.137757-0700	FirezoneNetworkExtensioniOS	Phoenix status message
dev.firezone.firezone	connlib	debug	16:10:48.376339-0700	FirezoneNetworkExtensioniOS	Reading from iface 76 bytes
dev.firezone.firezone	connlib	debug	16:11:08.148369-0700	FirezoneNetworkExtensioniOS	Text("{\"ref\":null,\"topic\":\"phoenix\",\"event\":\"phx_reply\",\"payload\":{\"status\":\"ok\",\"response\":{}}}")
dev.firezone.firezone	connlib	debug	16:11:08.148654-0700	FirezoneNetworkExtensioniOS	Phoenix status message
```
2023-08-21 20:48:30 -07:00
Gabi
d1537b0839 connlib: different backoff strategy for gateway/client (#1910)
With this PR we will keep retrying reconnection forever for the gateway
after it disconnects.
2023-08-16 22:05:48 +00:00
dependabot[bot]
67147aa33a build(deps): Bump clap from 4.3.19 to 4.3.21 in /rust (#1907)
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.19 to 4.3.21.
<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.3.21</h2>
<h2>[4.3.21] - 2023-08-08</h2>
<h3>Features</h3>
<ul>
<li>Expose <code>TryMapValueParser</code> so the type can be named</li>
</ul>
<h2>v4.3.20</h2>
<h2>[4.3.20] - 2023-08-08</h2>
<h3>Features</h3>
<ul>
<li>Expose <code>TryMapValueParser</code> so the type can be named</li>
<li><code>Command::mut_args</code> for modifying all arguments en
masse</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.3.21] - 2023-08-08</h2>
<h3>Features</h3>
<ul>
<li>Expose <code>TryMapValueParser</code> so the type can be named</li>
</ul>
<h2>[4.3.20] - 2023-08-08</h2>
<h3>Features</h3>
<ul>
<li><code>Command::mut_args</code> for modifying all arguments en
masse</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ee1388c0a3"><code>ee1388c</code></a>
chore: Release</li>
<li><a
href="390436681a"><code>3904366</code></a>
docs: Update changelog</li>
<li><a
href="3156e1a35c"><code>3156e1a</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5066">#5066</a>
from 9999years/export-trymapvalueparser</li>
<li><a
href="da19141560"><code>da19141</code></a>
chore: Release</li>
<li><a
href="b96cbafcbe"><code>b96cbaf</code></a>
chore: Release</li>
<li><a
href="174f12c7f8"><code>174f12c</code></a>
docs: Update changelog</li>
<li><a
href="fe04b3cc4e"><code>fe04b3c</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5056">#5056</a>
from ModProg/dynamic-completions-help</li>
<li><a
href="aa3f47c239"><code>aa3f47c</code></a>
test(complete): Help for possible value</li>
<li><a
href="65b9c2b37d"><code>65b9c2b</code></a>
test(complete): Helper for asserting dynamic completions</li>
<li><a
href="c86172e891"><code>c86172e</code></a>
feat: Export <code>builder::TryMapValueParser</code></li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.3.19...v4.3.21">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.3.19&new-version=4.3.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 19:49:50 +00:00
dependabot[bot]
0d42028d7e build(deps): Bump redis from 0.23.0 to 0.23.2 in /rust (#1906)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.23.0 to
0.23.2.
<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.23.2</h2>
<p>0.23.2 (2023-08-10)</p>
<h4>Fixes</h4>
<ul>
<li>Fix sentinel tests flakiness (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/912">#912</a>)</li>
<li>Rustls: Remove usage of deprecated method (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/921">#921</a>)</li>
<li>Fix compiling with sentinel feature, without aio feature (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/923">#922</a>
<a href="https://github.com/brocaar"><code>@​brocaar</code></a>)</li>
<li>Add timeouts to tests github action (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/911">#911</a>)</li>
</ul>
<h2>v0.23.1</h2>
<h3>0.23.1 (2023-07-28)</h3>
<h4>Features</h4>
<ul>
<li>Add basic Sentinel functionality (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/836">#836</a>
<a href="https://github.com/felipou"><code>@​felipou</code></a>)</li>
<li>Enable keep alive on tcp connections via feature (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/886">#886</a>
<a
href="https://github.com/DoumanAsh"><code>@​DoumanAsh</code></a>)</li>
<li>Support fan-out commands in cluster-async (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/843">#843</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>connection_manager: retry and backoff on reconnect (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/804">#804</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
</ul>
<h4>Changes</h4>
<ul>
<li>Tests: Wait for all servers (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/901">#901</a>
<a href="https://github.com/barshaul"><code>@​barshaul</code></a>)</li>
<li>Pin <code>tempfile</code> dependency (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/902">#902</a>)</li>
<li>Update routing data for commands. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/887">#887</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Add basic benchmark reporting to CI (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/880">#880</a>)</li>
<li>Add <code>set_options</code> cmd (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/879">#879</a>
<a
href="https://github.com/RokasVaitkevicius"><code>@​RokasVaitkevicius</code></a>)</li>
<li>Move random connection creation to when needed. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/882">#882</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Clean up existing benchmarks (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/881">#881</a>)</li>
<li>Improve async cluster client performance. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/877">#877</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Allow configuration of cluster retry wait duration (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/859">#859</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Fix async connect when ns resolved to multi ip (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/872">#872</a>
<a
href="https://github.com/hugefiver"><code>@​hugefiver</code></a>)</li>
<li>Reduce the number of unnecessary clones. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/874">#874</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Remove connection checking on every request. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/873">#873</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>cluster_async: Wrap internal state with Arc. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/864">#864</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Fix redirect routing on request with no route. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/870">#870</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Amend README for macOS users (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/869">#869</a>
<a href="https://github.com/sarisssa"><code>@​sarisssa</code></a>)</li>
<li>Improved redirection error handling (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/857">#857</a>)</li>
<li>Fix minor async client bug. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/862">#862</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Split aio.rs to separate files. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/821">#821</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Add time feature to tokio dependency (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/855">#855</a>
<a href="https://github.com/robjtede"><code>@​robjtede</code></a>)</li>
<li>Refactor cluster error handling (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/844">#844</a>)</li>
<li>Fix unnecessarily mutable variable (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/849">#849</a>
<a href="https://github.com/kamulos"><code>@​kamulos</code></a>)</li>
<li>Newtype SlotMap (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/845">#845</a>)</li>
<li>Bump MSRV to 1.60 (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/846">#846</a>)</li>
<li>Improve error logging. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/838">#838</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
<li>Improve documentation, add references to <code>redis-macros</code>
(<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/769">#769</a>
<a
href="https://github.com/daniel7grant"><code>@​daniel7grant</code></a>)</li>
<li>Allow creating Cmd with capacity. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/817">#817</a>
<a href="https://github.com/nihohit"><code>@​nihohit</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fe2a7df986"><code>fe2a7df</code></a>
Release redis 0.23.2 / redis-test 0.2.2 (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/924">#924</a>)</li>
<li><a
href="bd3cef5aac"><code>bd3cef5</code></a>
add timeouts to tests github action. (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/911">#911</a>)</li>
<li><a
href="e5727a1505"><code>e5727a1</code></a>
Fix AsyncConnection usage in sentinel if aio feature is not used. (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/923">#923</a>)</li>
<li><a
href="e7a733af25"><code>e7a733a</code></a>
Rustls: Remove usage of deprecated method.</li>
<li><a
href="ed44bad0d6"><code>ed44bad</code></a>
log pushing existing replica.</li>
<li><a
href="e4dfc8650e"><code>e4dfc86</code></a>
Remove tuple casting on command result.</li>
<li><a
href="cbe47c6724"><code>cbe47c6</code></a>
Release redis 0.23.1 / redis-test 0.2.1 (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/907">#907</a>)</li>
<li><a
href="a6b4c74d7b"><code>a6b4c74</code></a>
Tests: Wait for all servers (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/901">#901</a>)</li>
<li><a
href="dfacf67649"><code>dfacf67</code></a>
Additional cluster-async benchmarks (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/903">#903</a>)</li>
<li><a
href="80a4a3873a"><code>80a4a38</code></a>
Add basic Sentinel functionality (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/836">#836</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/redis-rs/redis-rs/compare/redis-0.23.0...redis-0.23.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=cargo&previous-version=0.23.0&new-version=0.23.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 19:49:38 +00:00
dependabot[bot]
ae9a619703 build(deps): Bump pnet_packet from 0.33.0 to 0.34.0 in /rust (#1905)
Bumps [pnet_packet](https://github.com/libpnet/libpnet) from 0.33.0 to
0.34.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/libpnet/libpnet/releases">pnet_packet's
releases</a>.</em></p>
<blockquote>
<h2>v0.34.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add blanket impls of Packet for Box<!-- raw HTML omitted --> and
&amp;T. by <a href="https://github.com/landhb"><code>@​landhb</code></a>
in <a
href="https://redirect.github.com/libpnet/libpnet/pull/606">libpnet/libpnet#606</a></li>
<li>GitHub actions updates by <a
href="https://github.com/mrmonday"><code>@​mrmonday</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/608">libpnet/libpnet#608</a></li>
<li>Fix typos by <a
href="https://github.com/darxriggs"><code>@​darxriggs</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/609">libpnet/libpnet#609</a></li>
<li>Update pnet_macros to use syn v2 by <a
href="https://github.com/james-jra"><code>@​james-jra</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/627">libpnet/libpnet#627</a></li>
<li>Spell check with <code>typos</code>. Add <code>spell-check</code> CI
job by <a href="https://github.com/vvv"><code>@​vvv</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/621">libpnet/libpnet#621</a></li>
<li>Add LINKTYPE_LINUX_SLL2 support and fix link to SLL by <a
href="https://github.com/reticulis"><code>@​reticulis</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/619">libpnet/libpnet#619</a></li>
<li>TCP header remove NS flag by <a
href="https://github.com/rikonaka"><code>@​rikonaka</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/625">libpnet/libpnet#625</a></li>
<li>Assorted cleanup by <a
href="https://github.com/mrmonday"><code>@​mrmonday</code></a> in <a
href="https://redirect.github.com/libpnet/libpnet/pull/630">libpnet/libpnet#630</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/james-jra"><code>@​james-jra</code></a>
made their first contribution in <a
href="https://redirect.github.com/libpnet/libpnet/pull/627">libpnet/libpnet#627</a></li>
<li><a href="https://github.com/vvv"><code>@​vvv</code></a> made their
first contribution in <a
href="https://redirect.github.com/libpnet/libpnet/pull/621">libpnet/libpnet#621</a></li>
<li><a href="https://github.com/reticulis"><code>@​reticulis</code></a>
made their first contribution in <a
href="https://redirect.github.com/libpnet/libpnet/pull/619">libpnet/libpnet#619</a></li>
<li><a href="https://github.com/rikonaka"><code>@​rikonaka</code></a>
made their first contribution in <a
href="https://redirect.github.com/libpnet/libpnet/pull/625">libpnet/libpnet#625</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/libpnet/libpnet/compare/v0.33.0...v0.34.0">https://github.com/libpnet/libpnet/compare/v0.33.0...v0.34.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9bd20d82c0"><code>9bd20d8</code></a>
Release v0.34.0</li>
<li><a
href="b8bd8e031e"><code>b8bd8e0</code></a>
Merge pull request <a
href="https://redirect.github.com/libpnet/libpnet/issues/630">#630</a>
from mrmonday/fix-build-warnings</li>
<li><a
href="47ae47de30"><code>47ae47d</code></a>
Assorted cleanup</li>
<li><a
href="c32d9db6ec"><code>c32d9db</code></a>
Merge pull request <a
href="https://redirect.github.com/libpnet/libpnet/issues/625">#625</a>
from rikonaka/master</li>
<li><a
href="391b133ef7"><code>391b133</code></a>
Merge pull request <a
href="https://redirect.github.com/libpnet/libpnet/issues/619">#619</a>
from reticulis/sll2</li>
<li><a
href="12636deb8a"><code>12636de</code></a>
Merge pull request <a
href="https://redirect.github.com/libpnet/libpnet/issues/621">#621</a>
from vvv/spell-check</li>
<li><a
href="d29848e39b"><code>d29848e</code></a>
Merge pull request <a
href="https://redirect.github.com/libpnet/libpnet/issues/627">#627</a>
from james-jra/syn-2</li>
<li><a
href="08622c53c9"><code>08622c5</code></a>
Fix compile test stderr for correct rustc version</li>
<li><a
href="431ced23f8"><code>431ced2</code></a>
add more compilation error tests for #[construct_with]</li>
<li><a
href="b46f7f36b0"><code>b46f7f3</code></a>
Update compile fail test error messages</li>
<li>Additional commits viewable in <a
href="https://github.com/libpnet/libpnet/compare/v0.33.0...v0.34.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pnet_packet&package-manager=cargo&previous-version=0.33.0&new-version=0.34.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 19:49:25 +00:00
dependabot[bot]
9d13a6001b build(deps): Bump android_logger from 0.13.1 to 0.13.3 in /rust (#1904)
Bumps [android_logger](https://github.com/rust-mobile/android_logger-rs)
from 0.13.1 to 0.13.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-mobile/android_logger-rs/blob/master/CHANGELOG.md">android_logger's
changelog</a>.</em></p>
<blockquote>
<h1><code>android_logger</code> changelog</h1>
<p>All user visible changes to this project will be documented in this
file. This project uses [Semantic Versioning 2.0.0].</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rust-mobile/android_logger-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=android_logger&package-manager=cargo&previous-version=0.13.1&new-version=0.13.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 19:48:46 +00:00
dependabot[bot]
66e78c5e72 build(deps): Bump log from 0.4.19 to 0.4.20 in /rust (#1903)
Bumps [log](https://github.com/rust-lang/log) from 0.4.19 to 0.4.20.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's
changelog</a>.</em></p>
<blockquote>
<h2>[0.4.20] - 2023-07-11</h2>
<ul>
<li>Remove rustversion dev-dependency by <a
href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
in <a
href="https://redirect.github.com/rust-lang/log/pull/568">rust-lang/log#568</a></li>
<li>Remove <code>local_inner_macros</code> usage by <a
href="https://github.com/EFanZh"><code>@​EFanZh</code></a> in <a
href="https://redirect.github.com/rust-lang/log/pull/570">rust-lang/log#570</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4708f1484c"><code>4708f14</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/574">#574</a>
from chrysn-pull-requests/doc-log-to-defmt</li>
<li><a
href="6de3cccc36"><code>6de3ccc</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/571">#571</a>
from rust-lang/cargo/0.4.20</li>
<li><a
href="838920cf18"><code>838920c</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/575">#575</a>
from EFanZh/group-target-module-path-and-file</li>
<li><a
href="3985711f74"><code>3985711</code></a>
Group <code>target</code>, <code>module_path</code> and
<code>file</code> arguments</li>
<li><a
href="3f534d00e4"><code>3f534d0</code></a>
Move private APIs into a single module</li>
<li><a
href="f5ab686e9b"><code>f5ab686</code></a>
doc: Add log-to-defmt to other-facilities section</li>
<li><a
href="6d173bf941"><code>6d173bf</code></a>
prepare for 0.4.20 release</li>
<li><a
href="cab10885de"><code>cab1088</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/570">#570</a>
from EFanZh/remove-local-inner-macros</li>
<li><a
href="9d052b17d3"><code>9d052b1</code></a>
Remove <code>local_inner_macros</code> usage</li>
<li><a
href="e9123d6d9a"><code>e9123d6</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/568">#568</a>
from Thomasdezeeuw/remove-rustversion-dep</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/log/compare/0.4.19...0.4.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=log&package-manager=cargo&previous-version=0.4.19&new-version=0.4.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 19:48:32 +00:00
dependabot[bot]
bb9110b1d0 build(deps): Bump async-trait from 0.1.71 to 0.1.72 in /rust (#1861)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.71
to 0.1.72.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.72</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a01e5d4fb6"><code>a01e5d4</code></a>
Release 0.1.72</li>
<li><a
href="a38d35acfb"><code>a38d35a</code></a>
Opt in to generate-link-to-definition when building on docs.rs</li>
<li><a
href="036a373ab4"><code>036a373</code></a>
Update ui tests with 2021-edition diagnostics</li>
<li><a
href="059aafd8cc"><code>059aafd</code></a>
Update to 2021 edition</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.71...0.1.72">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.71&new-version=0.1.72)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 17:27:47 +00:00
dependabot[bot]
2d21de7035 build(deps): Bump axum from 0.6.18 to 0.6.20 in /rust (#1863)
Bumps [axum](https://github.com/tokio-rs/axum) from 0.6.18 to 0.6.20.
<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 - v0.6.20</h2>
<ul>
<li><strong>added:</strong>
<code>WebSocketUpgrade::write_buffer_size</code> and
<code>WebSocketUpgrade::max_write_buffer_size</code></li>
<li><strong>changed:</strong> Deprecate
<code>WebSocketUpgrade::max_send_queue</code></li>
<li><strong>change:</strong> Update tokio-tungstenite to 0.20</li>
<li><strong>added:</strong> Implement <code>Handler</code> for <code>T:
IntoResponse</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2140">#2140</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2140">#2140</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2140">tokio-rs/axum#2140</a></p>
<h2>axum - v0.6.19</h2>
<ul>
<li><strong>added:</strong> Add
<code>axum::extract::Query::try_from_uri</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2058">#2058</a>)</li>
<li><strong>added:</strong> Implement <code>IntoResponse</code> for
<code>Box&lt;str&gt;</code> and <code>Box&lt;[u8]&gt;</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2035">#2035</a>)</li>
<li><strong>fixed:</strong> Fix bugs around merging routers with nested
fallbacks (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2096">#2096</a>)</li>
<li><strong>fixed:</strong> Fix <code>.source()</code> of composite
rejections (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2030">#2030</a>)</li>
<li><strong>fixed:</strong> Allow unreachable code in
<code>#[debug_handler]</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2014">#2014</a>)</li>
<li><strong>change:</strong> Update tokio-tungstenite to 0.19 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2021">#2021</a>)</li>
<li><strong>change:</strong> axum's MSRV is now 1.63 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2021">#2021</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2014">#2014</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2014">tokio-rs/axum#2014</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2021">#2021</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2021">tokio-rs/axum#2021</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2030">#2030</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2030">tokio-rs/axum#2030</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2035">#2035</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2035">tokio-rs/axum#2035</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2058">#2058</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2058">tokio-rs/axum#2058</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2096">#2096</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2096">tokio-rs/axum#2096</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3b92cd7593"><code>3b92cd7</code></a>
Release axum and axum-extra (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2145">#2145</a>)</li>
<li><a
href="68333b2fcf"><code>68333b2</code></a>
Backport changes from main to v0.6.x (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2141">#2141</a>)</li>
<li><a
href="a25ed293d7"><code>a25ed29</code></a>
axum-extra 0.7.6 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2139">#2139</a>)</li>
<li><a
href="990cbb8126"><code>990cbb8</code></a>
Update tokio-tungstenite 0.20 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2123">#2123</a>)</li>
<li><a
href="a2916318dd"><code>a291631</code></a>
axum-extra: Remove unused tower-http dependency (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2135">#2135</a>)</li>
<li><a
href="67f6494383"><code>67f6494</code></a>
Release axum 0.6.19 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2102">#2102</a>)</li>
<li><a
href="2d4bd9e853"><code>2d4bd9e</code></a>
Update to latest sqlx in example (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2099">#2099</a>)</li>
<li><a
href="e881bf0aec"><code>e881bf0</code></a>
Update UI tests</li>
<li><a
href="5d9f41edf3"><code>5d9f41e</code></a>
Fix deny.toml</li>
<li><a
href="19ddc12e4e"><code>19ddc12</code></a>
Remove sessions example</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/axum/compare/axum-v0.6.18...axum-v0.6.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axum&package-manager=cargo&previous-version=0.6.18&new-version=0.6.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 17:27:06 +00:00
dependabot[bot]
b409f191f9 build(deps): Bump serde from 1.0.179 to 1.0.183 in /rust (#1864)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.179 to
1.0.183.
<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.183</h2>
<ul>
<li>Support deserializing <code>Box&lt;OsStr&gt;</code> with an
equivalent representation as <code>OsString</code> (<a
href="https://redirect.github.com/serde-rs/serde/issues/2556">#2556</a>,
thanks <a
href="https://github.com/DBLouis"><code>@​DBLouis</code></a>)</li>
</ul>
<h2>v1.0.182</h2>
<ul>
<li>Render field aliases in sorted order in error messages (<a
href="https://redirect.github.com/serde-rs/serde/issues/2458">#2458</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Support <code>serde(default)</code> on tuple structs (<a
href="https://redirect.github.com/serde-rs/serde/issues/2553">#2553</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.181</h2>
<ul>
<li>Make <code>serde(alias)</code> work in combination with
<code>flatten</code> when using in-place deserialization (<a
href="https://redirect.github.com/serde-rs/serde/issues/2443">#2443</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Improve the representation of adjacently tagged enums in formats
where enum tags are serialized by index, as opposed to by string name
(<a
href="https://redirect.github.com/serde-rs/serde/issues/2505">#2505</a>,
<a
href="https://redirect.github.com/serde-rs/serde/issues/2496">#2496</a>,
thanks <a
href="https://github.com/Baptistemontan"><code>@​Baptistemontan</code></a>)</li>
</ul>
<h2>v1.0.180</h2>
<ul>
<li>Update to 2018 edition</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="05a5b7e3c6"><code>05a5b7e</code></a>
Release 1.0.183</li>
<li><a
href="3bff326fb3"><code>3bff326</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2555">#2555</a>
from Mingun/field</li>
<li><a
href="aaadd93878"><code>aaadd93</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2556">#2556</a>
from DBLouis/master</li>
<li><a
href="9c864f0b02"><code>9c864f0</code></a>
Add forward impl for OsStr</li>
<li><a
href="070cce0d9c"><code>070cce0</code></a>
Get rid of temporary variable</li>
<li><a
href="b58e8bac12"><code>b58e8ba</code></a>
Replace <code>if let Some(...) = ...</code> to Option::map</li>
<li><a
href="ada50b077e"><code>ada50b0</code></a>
ignore_variant variable is always None, let's take this into
account</li>
<li><a
href="5e313a7330"><code>5e313a7</code></a>
Move generiс code out-of-function, create more specialized and simple
code</li>
<li><a
href="2a36d11238"><code>2a36d11</code></a>
Introduce a dedicated function for generating Field enum</li>
<li><a
href="b6685cf9dd"><code>b6685cf</code></a>
Release 1.0.182</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.179...v1.0.183">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.179&new-version=1.0.183)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 17:26:51 +00:00
Francesca Lovebloom
bc3a5d9e54 connlib: JNI bridge (#1848)
The biggest internal change is that all the methods on `Callbacks` (on
the Rust side!) return a `Result` now, so errors from the bridge or even
the client callbacks will be handled.

@roop there's nothing for you to review here, but note:

- the `bool` return values you've asked about in the past are gone now
- the route string for `onAddRoute`/`onRemoveRoute` no longer has the
extra quotes (it's no longer JSON)

---------

Signed-off-by: Francesca Lovebloom <franlovebloom@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-08-07 19:03:28 -05:00
Francesca Lovebloom
30232b5b76 connlib: Log to Console.app on Apple (#1844)
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-08-04 04:39:57 +00:00
Gabi
b563c7ad5a connlib: fix ipv6 (#1855)
Fixes some of the ipv6 handling.

Making this PR I also realized we need to update checksums on UDP and
TCP too, since we're mangling packets.
2023-08-04 03:17:35 +00:00
Thomas Eizinger
632dfdd888 feat(relay): support IPv6 allocations (#1814)
This patch series adds support for IPv6 allocations. If not specified
otherwise in the ALLOCATE request, clients will get an IP4 allocation.
They can also request an IPv6 address or an additional IPv6 address in
addition to their IPv4 address.

Either of those is only possible if the relay actually has a listening
socket for the requested address family. The CLI is designed such that
the user can either specify IP4, IP6 or both of them.

The `Server` component handles all of this logic and responds with
either a successful allocation response or an Address Family Not
Supported error (see
https://www.rfc-editor.org/rfc/rfc8656#name-stun-error-response-codes).

Multiple refactorings were necessary to achieve this design, they are
all extracted into separate PRs:

Depends-On: #1831.
Depends-On: #1832.
Depends-On: #1833.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-08-02 01:50:43 +00:00
dependabot[bot]
5f96858d76 build(deps): bump clap from 4.3.10 to 4.3.19 in /rust (#1838)
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.10 to 4.3.19.
<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.3.19</h2>
<h2>[4.3.19] - 2023-07-21</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parse)</em> Respect <code>value_terminator</code> even in the
presence of later multiple-value positional arguments</li>
</ul>
<h2>v4.3.18</h2>
<h2>[4.3.18] - 2023-07-21</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parse)</em> Suggest <code>--</code> in fewer places where it
won't work</li>
</ul>
<h2>v4.3.17</h2>
<h2>[4.3.17] - 2023-07-19</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Address a regression in wrapping
<code>PossibleValue</code> descriptions in <code>--help</code></li>
</ul>
<h2>v4.3.16</h2>
<h2>[4.3.16] - 2023-07-18</h2>
<h3>Fixes</h3>
<ul>
<li>Don't assert when stateful value parsers fail on defaults (e.g.
checking if a path exists)</li>
</ul>
<h2>v4.3.15</h2>
<h2>[4.3.15] - 2023-07-18</h2>
<h3>Features</h3>
<ul>
<li><em>(unstable-styles)</em> Re-export <code>anstyle</code></li>
</ul>
<h3>Documentation</h3>
<ul>
<li><em>(unstable-styles)</em> Provide more examples</li>
</ul>
<h2>v4.3.14</h2>
<h2>[4.3.14] - 2023-07-17</h2>
<h3>Features</h3>
<ul>
<li><code>ArgAction::HelpShort</code> and
<code>ArgAction::HelpLong</code> for explicitly specifying which style
of help to display</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Skip <code>[OPTIONS]</code> in usage if a help or version
<code>ArgAction</code> is used</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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.3.19] - 2023-07-21</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parse)</em> Respect <code>value_terminator</code> even in the
presence of later multiple-value positional arguments</li>
</ul>
<h2>[4.3.18] - 2023-07-21</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parse)</em> Suggest <code>--</code> in fewer places where it
won't work</li>
</ul>
<h2>[4.3.17] - 2023-07-19</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Address a regression in wrapping
<code>PossibleValue</code> descriptions in <code>--help</code></li>
</ul>
<h2>[4.3.16] - 2023-07-18</h2>
<h3>Fixes</h3>
<ul>
<li>Don't assert when stateful value parsers fail on defaults (e.g.
checking if a path exists)</li>
</ul>
<h2>[4.3.15] - 2023-07-18</h2>
<h3>Features</h3>
<ul>
<li><em>(unstable-styles)</em> Re-export <code>anstyle</code></li>
</ul>
<h3>Documentation</h3>
<ul>
<li><em>(unstable-styles)</em> Provide more examples</li>
</ul>
<h2>[4.3.14] - 2023-07-17</h2>
<h3>Features</h3>
<ul>
<li><code>ArgAction::HelpShort</code> and
<code>ArgAction::HelpLong</code> for explicitly specifying which style
of help to display</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Skip <code>[OPTIONS]</code> in usage if a help or version
<code>ArgAction</code> is used</li>
</ul>
<h2>[4.3.13] - 2023-07-17</h2>
<h2>[4.3.12] - 2023-07-14</h2>
<h3>Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ae5549d61f"><code>ae5549d</code></a>
chore: Release</li>
<li><a
href="4b30a2cfe1"><code>4b30a2c</code></a>
docs: Update changelog</li>
<li><a
href="5540d20286"><code>5540d20</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5037">#5037</a>
from epage/term</li>
<li><a
href="8bee728034"><code>8bee728</code></a>
fix(parser): Value terminator has higher precedence than later multiple
values</li>
<li><a
href="bdf205bff2"><code>bdf205b</code></a>
test(parser): Show one value terminator bug</li>
<li><a
href="727ca29674"><code>727ca29</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5034">#5034</a>
from epage/update</li>
<li><a
href="9856d67541"><code>9856d67</code></a>
chore: Release</li>
<li><a
href="a6267b77a7"><code>a6267b7</code></a>
docs: Update changelog</li>
<li><a
href="e82234162c"><code>e822341</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5033">#5033</a>
from epage/escape</li>
<li><a
href="0137a8be65"><code>0137a8b</code></a>
chore(complete): Update completest</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.3.10...v4.3.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.3.10&new-version=4.3.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 20:12:44 +00:00
dependabot[bot]
eec1018f5a build(deps): bump serde from 1.0.171 to 1.0.179 in /rust (#1839)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.171 to
1.0.179.
<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.179</h2>
<ul>
<li>Support serialization of tuple variants inside a flattened field (<a
href="https://redirect.github.com/serde-rs/serde/issues/2448">#2448</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.178</h2>
<ul>
<li>Fix build error when using serde with &quot;std&quot; feature turned
off and &quot;unstable&quot; feature turned on (<a
href="https://redirect.github.com/serde-rs/serde/issues/2541">#2541</a>)</li>
</ul>
<h2>v1.0.177</h2>
<ul>
<li>Add <code>serde(rename_all_fields = &quot;...&quot;)</code>
attribute to apply a <code>rename_all</code> on every struct variant of
an enum (<a
href="https://redirect.github.com/serde-rs/serde/issues/1695">#1695</a>,
thanks <a
href="https://github.com/jplatte"><code>@​jplatte</code></a>)</li>
<li>Improve diagnostics for attribute parse errors (<a
href="https://redirect.github.com/serde-rs/serde/issues/2536">#2536</a>,
thanks <a
href="https://github.com/jplatte"><code>@​jplatte</code></a>)</li>
</ul>
<h2>v1.0.176</h2>
<ul>
<li>Allow tag field of an internally tagged enum to have same name as a
field inside a skipped struct variant (<a
href="https://redirect.github.com/serde-rs/serde/issues/2266">#2266</a>,
thanks <a
href="https://github.com/flisky"><code>@​flisky</code></a>)</li>
</ul>
<h2>v1.0.175</h2>
<ul>
<li>Restore missing LICENSE files in serde_derive crate (<a
href="https://redirect.github.com/serde-rs/serde/issues/2527">#2527</a>,
thanks <a
href="https://github.com/ankane"><code>@​ankane</code></a>)</li>
</ul>
<h2>v1.0.174</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>v1.0.173</h2>
<ul>
<li>Fix missing trait implementations when using serde derive macro on a
macro-generated data structure, such as via the <code>bitflags</code>
crate (<a
href="https://redirect.github.com/serde-rs/serde/issues/2516">#2516</a>)</li>
</ul>
<h2>v1.0.172</h2>
<ul>
<li>Experiment with precompiling the serde_derive macros to reduce build
time (<a
href="https://redirect.github.com/serde-rs/serde/issues/2514">#2514</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c2b16bfbb0"><code>c2b16bf</code></a>
Release 1.0.179</li>
<li><a
href="e7df53701c"><code>e7df537</code></a>
Resolve doc_markdown clippy lint from PR 2448</li>
<li><a
href="02c34e490b"><code>02c34e4</code></a>
Resolve redundant_field_names clippy lint from PR 2448</li>
<li><a
href="427c839b3d"><code>427c839</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2448">#2448</a>
from Mingun/ser-flatten-enums</li>
<li><a
href="48aa054f53"><code>48aa054</code></a>
Release 1.0.178</li>
<li><a
href="3616860203"><code>3616860</code></a>
Delete broken symlink from precompiled derive sources</li>
<li><a
href="861b0dfea2"><code>861b0df</code></a>
Consistently list StdError under 'Re-exports' heading of rustdoc</li>
<li><a
href="8b3d71ae2d"><code>8b3d71a</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2541">#2541</a>
from dtolnay/de-core-error</li>
<li><a
href="ff5442cd9e"><code>ff5442c</code></a>
Add no-std unstable build in CI</li>
<li><a
href="92d686f9a5"><code>92d686f</code></a>
Fix serde::de::StdError in no-std unstable build</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.171...v1.0.179">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.171&new-version=1.0.179)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 20:12:35 +00:00
dependabot[bot]
1f05c4d5c1 build(deps): bump serde_json from 1.0.99 to 1.0.104 in /rust (#1840)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.99 to
1.0.104.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.104</h2>
<ul>
<li>Provide IntoDeserializer impl for &amp;serde_json::Value (<a
href="https://redirect.github.com/serde-rs/json/issues/1045">#1045</a>,
thanks <a
href="https://github.com/ZetaNumbers"><code>@​ZetaNumbers</code></a>)</li>
</ul>
<h2>v1.0.103</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>v1.0.102</h2>
<ul>
<li>Add a way to customize the serialization of byte arrays (<a
href="https://redirect.github.com/serde-rs/json/issues/1039">#1039</a>)</li>
</ul>
<h2>v1.0.101</h2>
<ul>
<li>Allow f32 and f64 as keys in maps (<a
href="https://redirect.github.com/serde-rs/json/issues/1027">#1027</a>,
thanks <a
href="https://github.com/overdrivenpotato"><code>@​overdrivenpotato</code></a>)</li>
</ul>
<h2>v1.0.100</h2>
<ul>
<li>Support <code>-Z minimal-versions</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ab08483292"><code>ab08483</code></a>
Release 1.0.104</li>
<li><a
href="f6cc4f31a3"><code>f6cc4f3</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1045">#1045</a>
from ZetaNumbers/value-ref-into-deserializer</li>
<li><a
href="8e8db8ce0c"><code>8e8db8c</code></a>
Implement IntoDeserializer for &amp;Value</li>
<li><a
href="8f90eacf6c"><code>8f90eac</code></a>
Delete inline attributes throughout test suite</li>
<li><a
href="54bcb4dc94"><code>54bcb4d</code></a>
Release 1.0.103</li>
<li><a
href="9c2879a848"><code>9c2879a</code></a>
Opt in to generate-link-to-definition when building on docs.rs</li>
<li><a
href="d1a07e29f2"><code>d1a07e2</code></a>
Fix rustdoc::bare_urls lint in lexical code</li>
<li><a
href="658689d36b"><code>658689d</code></a>
Release 1.0.102</li>
<li><a
href="42dbd00016"><code>42dbd00</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1039">#1039</a>
from dtolnay/writebytearray</li>
<li><a
href="a1ca32a5c7"><code>a1ca32a</code></a>
Factor out byte array serialization to a new Formatter method</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/v1.0.99...v1.0.104">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.99&new-version=1.0.104)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 17:11:26 +00:00
dependabot[bot]
9866c1beed build(deps): bump test-strategy from 0.3.0 to 0.3.1 in /rust (#1837)
Bumps [test-strategy](https://github.com/frozenlib/test-strategy) from
0.3.0 to 0.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="19797fdf2b"><code>19797fd</code></a>
Version 0.3.1.</li>
<li><a
href="7a2705c71d"><code>7a2705c</code></a>
Made it possible to use <code>#[proptest(dump)]</code> instead of
<code>#[proptest_dump]</code>.</li>
<li><a
href="c492d62a51"><code>c492d62</code></a>
Add docuemnt for <code>#[proptest(async = ...)]</code>.</li>
<li><a
href="839fe30cc6"><code>839fe30</code></a>
Use <code>#[cfg(test)]</code>.</li>
<li><a
href="2b57ca7262"><code>2b57ca7</code></a>
Merge pull request <a
href="https://redirect.github.com/frozenlib/test-strategy/issues/10">#10</a>
from niklaslong/clippy</li>
<li><a
href="5208cb2bfa"><code>5208cb2</code></a>
Add test for using <code>#[proptest]</code> in areas not enclosed by
<code>#[cfg(test)]</code>.</li>
<li><a
href="e258b67f9f"><code>e258b67</code></a>
Fix clippy unused field warning in proptest <code>Args</code>
structs.</li>
<li><a
href="885013160c"><code>8850131</code></a>
Update expected compile error message.</li>
<li><a
href="5198884aa1"><code>5198884</code></a>
Clippy.</li>
<li><a
href="fd49486cb2"><code>fd49486</code></a>
Support async fn test.</li>
<li>Additional commits viewable in <a
href="https://github.com/frozenlib/test-strategy/compare/v0.3.0...v0.3.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=test-strategy&package-manager=cargo&previous-version=0.3.0&new-version=0.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 17:09:50 +00:00
dependabot[bot]
55da391845 build(deps): bump anyhow from 1.0.71 to 1.0.72 in /rust (#1836)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.71 to 1.0.72.
<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.72</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e458996b0a"><code>e458996</code></a>
Release 1.0.72</li>
<li><a
href="660fb0f068"><code>660fb0f</code></a>
Opt in to generate-link-to-definition when building on docs.rs</li>
<li><a
href="24d9166581"><code>24d9166</code></a>
Add CI job using minimal-versions</li>
<li><a
href="2c913b3078"><code>2c913b3</code></a>
Remove .clippy.toml in favor of respecting rust-version from
Cargo.toml</li>
<li><a
href="1f17666ef1"><code>1f17666</code></a>
Ignore needless_else clippy lint in test suite</li>
<li><a
href="6046674814"><code>6046674</code></a>
Show error details during miri setup in CI</li>
<li><a
href="dffcb4bf6c"><code>dffcb4b</code></a>
Revert &quot;Temporarily disable miri CI&quot;</li>
<li><a
href="438fec6036"><code>438fec6</code></a>
Temporarily disable miri CI</li>
<li>See full diff in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.71&new-version=1.0.72)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 17:09:27 +00:00
Thomas Eizinger
686ccf3107 feat(relay): add some basic prometheus metrics (#1742)
The metrics are available at `http://{listen_addr}:8080/metrics`.
Currently, we collect the following:

- Number of active allocations: We can have an alert once the number of
allocations passes through a certain threshold.
- Outcome (success / error) and message kind (allocation / channel_bind
/ ...) of all responses: Summing all of these up would give you the
total number of requests handled. We might want to have a grafana alert
for an increased number of error responses.
- Total number of bytes relayed: Dividing this by time gives us an
average "internal" bandwidth.

This is just a start, we can explore what else is useful as we have it
operate.

Depends-On: https://github.com/firezone/firezone/pull/1743
2023-07-30 12:04:10 +00:00
Francesca Lovebloom
9fb842ed24 connlib: Fix resource list JSON (#1818)
Addresses one of the issues raised in firezone/product#634

Previously, we were joining a `Vec` of serialized JSON objects into a
comma-separated string, which isn't valid JSON. Now the entire thing is
simply serialized, `Vec` and all.

Additionally, I've moved serialization to happen just before the FFI
boundary, which removes some indirection from connlib and will avoid a
deserialization step when writing non-FFI clients.
2023-07-24 23:17:43 +00:00
dependabot[bot]
5b387df2fa build(deps): bump uuid from 1.4.0 to 1.4.1 in /rust (#1816)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.4.0 to 1.4.1.
<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.4.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix macro hygiene by <a
href="https://github.com/teohhanhui"><code>@​teohhanhui</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/694">uuid-rs/uuid#694</a></li>
<li>Add #[inline] for Uuid::from_bytes[_ref] and Uuid::{as,into}_bytes
by <a
href="https://github.com/jrose-signal"><code>@​jrose-signal</code></a>
in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/693">uuid-rs/uuid#693</a></li>
<li>Print uuids in examples by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/697">uuid-rs/uuid#697</a></li>
<li>Prepare for 1.4.1 release by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/698">uuid-rs/uuid#698</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/teohhanhui"><code>@​teohhanhui</code></a> made
their first contribution in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/694">uuid-rs/uuid#694</a></li>
<li><a
href="https://github.com/jrose-signal"><code>@​jrose-signal</code></a>
made their first contribution in <a
href="https://redirect.github.com/uuid-rs/uuid/pull/693">uuid-rs/uuid#693</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1">https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="97b7f07b3e"><code>97b7f07</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/698">#698</a> from
uuid-rs/cargo/1.4.1</li>
<li><a
href="8e930cf511"><code>8e930cf</code></a>
prepare for 1.4.1 release</li>
<li><a
href="0041b3b0b4"><code>0041b3b</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/697">#697</a> from
uuid-rs/chore/example-printing</li>
<li><a
href="5a1f3f56d3"><code>5a1f3f5</code></a>
use uuid_unstable</li>
<li><a
href="6b0cfb2e28"><code>6b0cfb2</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/693">#693</a> from
jrose-signal/inline-from_bytes</li>
<li><a
href="33f6b3edd9"><code>33f6b3e</code></a>
print uuids in examples</li>
<li><a
href="bd7df72944"><code>bd7df72</code></a>
Merge pull request <a
href="https://redirect.github.com/uuid-rs/uuid/issues/694">#694</a> from
teohhanhui/fix/macro-hygiene</li>
<li><a
href="1d1ae31e6c"><code>1d1ae31</code></a>
Fix macro hygiene</li>
<li><a
href="317d925536"><code>317d925</code></a>
Add #[inline] for Uuid::from_bytes[_ref] and Uuid::{as,into}_bytes</li>
<li>See full diff in <a
href="https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.4.0&new-version=1.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-07-24 22:31:54 +00:00
Gabi
7ad2fb623a connlib: add client dns interception support (#1807) 2023-07-24 21:41:42 +00:00
dependabot[bot]
f01ffaf17b Bump tokio-tungstenite from 0.18.0 to 0.19.0 in /rust (#1787)
Bumps [tokio-tungstenite](https://github.com/snapview/tokio-tungstenite)
from 0.18.0 to 0.19.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snapview/tokio-tungstenite/blob/master/CHANGELOG.md">tokio-tungstenite's
changelog</a>.</em></p>
<blockquote>
<h1>0.19.0</h1>
<ul>
<li>Allow users to enable/disable Nagle algorithm when using
<code>connect()</code> helpers.</li>
<li>Improve the behavior of the <code>Sink</code> for the
<code>WebSocketStream</code>, so it does not return an error when it’s
not necessary (when <code>poll_flush()</code> is called on a connection
that has just been closed).</li>
<li>Workaround an issue where <code>rustls</code> TLS backend expected
domain in a certain format and reject IPv6 addresses if they contained
square brackets in them.</li>
<li>Update dependencies and remove unused errors.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d8101030ac"><code>d810103</code></a>
Update changelog and bump version</li>
<li><a
href="cb11969676"><code>cb11969</code></a>
Remove boilerplace in <code>poll_flush()</code></li>
<li><a
href="e5e8421f1b"><code>e5e8421</code></a>
Merge pull request <a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/280">#280</a>
from mjquigley/support-ipv6</li>
<li><a
href="d6f5d45e64"><code>d6f5d45</code></a>
Merge pull request <a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/281">#281</a>
from CBenoit/fix-poll-flush</li>
<li><a
href="f31c425e29"><code>f31c425</code></a>
Merge pull request <a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/279">#279</a>
from mjquigley/patch-2</li>
<li><a
href="e2e8b94e41"><code>e2e8b94</code></a>
Support IPv6 URIs with rustls</li>
<li><a
href="2c3c6419fc"><code>2c3c641</code></a>
Fix poll_flush on closed connection</li>
<li><a
href="862922ffc1"><code>862922f</code></a>
Revert tokio requirement to 1.0.0</li>
<li><a
href="8803232d81"><code>8803232</code></a>
Merge pull request <a
href="https://redirect.github.com/snapview/tokio-tungstenite/issues/277">#277</a>
from nickelc/deps/webpki</li>
<li><a
href="d447d4620f"><code>d447d46</code></a>
Removed unused <code>webpki</code> dependency</li>
<li>Additional commits viewable in <a
href="https://github.com/snapview/tokio-tungstenite/compare/v0.18.0...v0.19.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-tungstenite&package-manager=cargo&previous-version=0.18.0&new-version=0.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-07-24 19:40:12 +00:00
dependabot[bot]
46aa962773 Bump itertools from 0.10.5 to 0.11.0 in /rust (#1786)
Bumps [itertools](https://github.com/rust-itertools/itertools) from
0.10.5 to 0.11.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md">itertools's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.0</h2>
<h3>Breaking</h3>
<ul>
<li>Make <code>Itertools::merge_join_by</code> also accept functions
returning bool (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/704">#704</a>)</li>
<li>Implement <code>PeekingNext</code> transitively over mutable
references (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/643">#643</a>)</li>
<li>Change <code>with_position</code> to yield <code>(Position,
Item)</code> instead of <code>Position&lt;Item&gt;</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/699">#699</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Add <code>Itertools::take_while_inclusive</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/616">#616</a>)</li>
<li>Implement <code>PeekingNext</code> for <code>PeekingTakeWhile</code>
(<a
href="https://redirect.github.com/rust-itertools/itertools/issues/644">#644</a>)</li>
<li>Add <code>EitherOrBoth::{just_left, just_right, into_left,
into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert,
left_or_insert_with, right_or_insert_with, insert_left, insert_right,
insert_both}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/629">#629</a>)</li>
<li>Implement <code>Clone</code> for <code>CircularTupleWindows</code>
(<a
href="https://redirect.github.com/rust-itertools/itertools/issues/686">#686</a>)</li>
<li>Implement <code>Clone</code> for <code>Chunks</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/683">#683</a>)</li>
<li>Add <code>Itertools::process_results</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/680">#680</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Use <code>Cell</code> instead of <code>RefCell</code> in
<code>Format</code> and <code>FormatWith</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/608">#608</a>)</li>
<li>CI tweaks (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/674">#674</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/675">#675</a>)</li>
<li>Document and test the difference between stable and unstable sorts
(<a
href="https://redirect.github.com/rust-itertools/itertools/issues/653">#653</a>)</li>
<li>Fix documentation error on <code>Itertools::max_set_by_key</code>
(<a
href="https://redirect.github.com/rust-itertools/itertools/issues/692">#692</a>)</li>
<li>Move MSRV metadata to <code>Cargo.toml</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/672">#672</a>)</li>
<li>Implement <code>equal</code> with <code>Iterator::eq</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/591">#591</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="62a6401afd"><code>62a6401</code></a>
chore: Release itertools version 0.11.0</li>
<li><a
href="8f17227193"><code>8f17227</code></a>
remove <code>no-dev-version</code> Cargo release directive</li>
<li><a
href="bb2fc59edd"><code>bb2fc59</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/706">#706</a></li>
<li><a
href="0ef6b7eaad"><code>0ef6b7e</code></a>
prepare v0.11.0 release</li>
<li><a
href="c5b64c9ed7"><code>c5b64c9</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/616">#616</a></li>
<li><a
href="eb561e537b"><code>eb561e5</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/704">#704</a></li>
<li><a
href="3e92550903"><code>3e92550</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/643">#643</a></li>
<li><a
href="8184e4c3f6"><code>8184e4c</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/644">#644</a></li>
<li><a
href="ae31559af5"><code>ae31559</code></a>
<code>MergeJoinBy</code> also accept functions returning
<code>bool</code></li>
<li><a
href="8bc377efe4"><code>8bc377e</code></a>
Merge <a
href="https://redirect.github.com/rust-itertools/itertools/issues/629">#629</a></li>
<li>Additional commits viewable in <a
href="https://github.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=itertools&package-manager=cargo&previous-version=0.10.5&new-version=0.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-07-24 18:56:13 +00:00
dependabot[bot]
44dd682569 Bump async-trait from 0.1.69 to 0.1.71 in /rust (#1783)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.69
to 0.1.71.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.71</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>0.1.70</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="11dfe16292"><code>11dfe16</code></a>
Release 0.1.71</li>
<li><a
href="85172d3b7b"><code>85172d3</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/async-trait/issues/249">#249</a>
from erer1243/update-docs-lifetime</li>
<li><a
href="92acf8138a"><code>92acf81</code></a>
Update doc comments to use lifetime 'async_trait instead of 'async</li>
<li><a
href="f8ce3fb309"><code>f8ce3fb</code></a>
Release 0.1.70</li>
<li><a
href="46631ccd5c"><code>46631cc</code></a>
Eliminate syn 1 from minimal-versions</li>
<li><a
href="eb21940ebf"><code>eb21940</code></a>
Add CI job using minimal-versions</li>
<li>See full diff in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.69...0.1.71">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.69&new-version=0.1.71)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-24 17:26:32 +00:00
dependabot[bot]
7a19cc4779 Bump serde from 1.0.165 to 1.0.171 in /rust (#1785)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.165 to
1.0.171.
<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.171</h2>
<ul>
<li>Support <code>derive(Deserialize)</code> on unit structs that have
const generics (<a
href="https://redirect.github.com/serde-rs/serde/issues/2500">#2500</a>,
thanks <a
href="https://github.com/Baptistemontan"><code>@​Baptistemontan</code></a>)</li>
</ul>
<h2>v1.0.170</h2>
<ul>
<li>Produce error message on suffixed string literals inside serde
attributes (<a
href="https://redirect.github.com/serde-rs/serde/issues/2242">#2242</a>)</li>
<li>Support single identifier as unbraced default value for const
generic parameter (<a
href="https://redirect.github.com/serde-rs/serde/issues/2449">#2449</a>)</li>
</ul>
<h2>v1.0.169</h2>
<ul>
<li>Add Deserializer::deserialize_identifier support for adjacently
tagged enums (<a
href="https://redirect.github.com/serde-rs/serde/issues/2475">#2475</a>,
thanks <a
href="https://github.com/Baptistemontan"><code>@​Baptistemontan</code></a>)</li>
<li>Fix unused_braces lint in generated Deserialize impl that uses
braced const generic expressions (<a
href="https://redirect.github.com/serde-rs/serde/issues/2414">#2414</a>)</li>
</ul>
<h2>v1.0.168</h2>
<ul>
<li>Allow <code>serde::de::IgnoredAny</code> to be the type for a
<code>serde(flatten)</code> field (<a
href="https://redirect.github.com/serde-rs/serde/issues/2436">#2436</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
<li>Allow larger preallocated capacity for smaller elements (<a
href="https://redirect.github.com/serde-rs/serde/issues/2494">#2494</a>)</li>
</ul>
<h2>v1.0.167</h2>
<ul>
<li>Add serialize and deserialize impls for <code>RangeFrom</code> and
<code>RangeTo</code> (<a
href="https://redirect.github.com/serde-rs/serde/issues/2471">#2471</a>,
thanks <a href="https://github.com/tbu"><code>@​tbu</code></a>-)</li>
</ul>
<h2>v1.0.166</h2>
<ul>
<li>Add <code>no-alloc</code> category to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="03da66c805"><code>03da66c</code></a>
Release 1.0.171</li>
<li><a
href="f75426f47e"><code>f75426f</code></a>
Inline visitor_expr of unit struct deserialize impl</li>
<li><a
href="662fc3861c"><code>662fc38</code></a>
Add test of const-generic unit struct where-clause edge case</li>
<li><a
href="28c10020b9"><code>28c1002</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2500">#2500</a>
from Baptistemontan/derive_generic_unit_struct</li>
<li><a
href="89c8d85de9"><code>89c8d85</code></a>
allow Deserialize derive to handle generic unit structs</li>
<li><a
href="6502838f27"><code>6502838</code></a>
Release 1.0.170</li>
<li><a
href="c93a0f335a"><code>c93a0f3</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2499">#2499</a>
from dtolnay/strsuffix</li>
<li><a
href="8264e002a7"><code>8264e00</code></a>
Reject suffixed string literals inside serde attrs</li>
<li><a
href="117ef22142"><code>117ef22</code></a>
Add ui test with suffixed string literals in attribute</li>
<li><a
href="3fb5e71c33"><code>3fb5e71</code></a>
Release 1.0.169</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.165...v1.0.171">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.165&new-version=1.0.171)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-24 17:21:04 +00:00
Francesca Lovebloom
e5e18e78a3 connlib: Disconnect on fatal error (#1801)
Resolves firezone/product#619

This additionally removes `ErrorType`:
- `on_error` is now exclusively used for recoverable errors, and no
longer has an `error_type` parameter.
- `on_disconnect` now has an optional `error` parameter, which specifies
the fatal error that caused the disconnect if relevant.
2023-07-19 22:36:06 +00:00
Francesca Lovebloom
58c2ce5e80 connlib: Hook up callbacks (#1744)
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-11 19:40:35 +00:00
Francesca Lovebloom
a71309a02a connlib: Use latest swift-bridge release (#1753)
A new version of `swift-bridge` released today, so we don't need it to
be a git dependency anymore.
2023-07-11 17:57:25 +00:00
Gabi
45c921b69e Feat/expire peers (#1739)
This PR takes care of expiring connections with peer from the gateway
side.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-10 22:28:32 +00:00
Thomas Eizinger
f5c1b5a78e feat(relay): use structured logging (#1741)
With this patch, the relay exposes a `--json` and `JSON_LOG` env
variable that will activate logs in JSON format the way it is expected
by google cloud:
https://cloud.google.com/logging/docs/structured-logging

In addition, we make use of spans to record contextual information as
first-class variables that are available in the context of every
message. An example output here is:

```
{"time":"2023-07-06T19:54:42.643694430Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/main.rs","line":"156"},"severity":"INFO","message":"Seeding RNG from '0'"}
{"time":"2023-07-06T19:54:42.644408014Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/main.rs","line":"130"},"severity":"INFO","message":"Listening for incoming traffic on UDP port 3478"}
{"time":"2023-07-06T19:54:42.843247996Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/server.rs","line":"417"},"span":{"lifetime":"600","name":"allocate"},"spans":[{"sender":"127.0.0.1:46406","transaction_id":"0531a911a24d1e5297b94cb2","name":"client"},{"lifetime":"600","name":"allocate"}],"severity":"INFO","ip4RelayAddress":"127.0.0.1:65460","message":"Created new allocation"}
{"time":"2023-07-06T19:54:42.851623041Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/server.rs","line":"569"},"span":{"allocation":"AID-1","peer_address":"127.0.0.1:42314","requested_channel":"16384","name":"channel_bind"},"spans":[{"sender":"127.0.0.1:46406","transaction_id":"e99e07e482789cdc30bd2b50","name":"client"},{"allocation":"AID-1","peer_address":"127.0.0.1:42314","requested_channel":"16384","name":"channel_bind"}],"severity":"INFO","message":"Successfully bound channel"}
{"time":"2023-07-06T19:54:42.852889208Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/server.rs","line":"288"},"span":{"allocation_id":"AID-1","channel":16384,"recipient":"127.0.0.1:46406","sender":"127.0.0.1:42314","name":"peer"},"spans":[{"allocation_id":"AID-1","channel":16384,"recipient":"127.0.0.1:46406","sender":"127.0.0.1:42314","name":"peer"}],"severity":"DEBUG","message":"Relaying 32 bytes"}
{"time":"2023-07-06T19:54:42.854625857Z","target":"relay","logging.googleapis.com/sourceLocation":{"file":"relay/src/server.rs","line":"619"},"span":{"channel":"16384","recipient":"127.0.0.1:42314","name":"channel_data"},"spans":[{"sender":"127.0.0.1:46406","name":"client"},{"channel":"16384","recipient":"127.0.0.1:42314","name":"channel_data"}],"severity":"DEBUG","message":"Relaying 32 bytes"}
```

For some reason, the current `span` is always duplicated but I don't
think that is a big issue. When run using the regular log formatter, it
looks like this:

```
2023-07-06T20:02:33.939273Z  INFO relay: Seeding RNG from '0'
2023-07-06T20:02:33.940153Z  INFO relay: Listening for incoming traffic on UDP port 3478
2023-07-06T20:02:34.135801Z  INFO client{sender=127.0.0.1:33919 transaction_id="7092a2363377709cd18b9d98"}:allocate{lifetime=600}: relay: Created new allocation ip4_relay_address=127.0.0.1:65460
2023-07-06T20:02:34.144833Z  INFO client{sender=127.0.0.1:33919 transaction_id="4e1a18e58953242c92a075a3"}:channel_bind{requested_channel=16384 peer_address=127.0.0.1:47859 allocation="AID-1"}: relay: Successfully bound channel
2023-07-06T20:02:34.145501Z DEBUG peer{sender=127.0.0.1:47859 allocation_id=AID-1 recipient=127.0.0.1:33919 channel=16384}: relay: Relaying 32 bytes
2023-07-06T20:02:34.146863Z DEBUG client{sender=127.0.0.1:33919}:channel_data{channel=16384 recipient=127.0.0.1:47859}: relay: Relaying 32 bytes
```

This provides lots of contextual information in a DRY and easily
parse-able way.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-07 18:15:18 +00:00
Gabi
8967b53170 Feat/connlib full flow (#1722)
With this PR the full control-plane message flow is working.

Meaning that if you do:

```
docker compose up -d
docker compose exec -it client "ping 172.20.0.2" # will fix this IP later
```

Messages start flowing to gateway. The gateway still not correctly
forwards the messages to the resource since masquerading is still not
working, although I suspect there might be an additional problem. Will
fix this in my next PR along with a README on how to test this whole
flow.

This PR also fixes how we sent the stamp secret to the gateway from the
relay, but I still see some warnings in the webrtc that I'm sure that
are due to a mismatch between how webrtc-rs and the relay handle
messages (The most important being `bind() failed: unexpected response
type`), I will take a look at that and a way to test that the flow works
when:
1. hole-punching is available
2. through relay when it's not
Since the flow right now works without hole-punching or relay since the
gateway is in the same network in the docker compose.
2023-07-03 19:25:37 +00:00
Gabi
720b2f8cd9 Fix/docker compose up (#1705)
This PR fixes `docker compose up` but it doesn't have the test client ->
resource flow working but it prevent anything from erroring at startup.

This fixes:
* tokens (use the correct token for the client user agent we are using)
* randomize `name_suffix` at start up for connlib (we will eventually
allow options to set it manually)
* remove port ranges for relay (see firezone/product#613)
2023-06-28 18:48:33 +00:00
Francesca Lovebloom
a4810986c7 connlib: Improve FFI bridges for Apple and Android (#1691)
This makes it possible to build the Apple/Android FFI bridges and
integrate them with their respective client apps.

---------

Signed-off-by: Francesca Lovebloom <franlovebloom@gmail.com>
Co-authored-by: Roopesh Chander <roop@roopc.net>
2023-06-28 11:29:59 -06:00
Gabi
e9be4b9ef5 connlib: moves it to the main firezone library
This brindgs connlib from its own separated repo to firezone's monorepo.
    
 On top of bringing connlib we also add and unify the Dockerfile for all
 rust binaries and add a docker-compose that can run a headless client, a
 relay and a gateway which eventually will test the whole flow between a
 client and a resource. For this to work we also incorporated some elixir
 scripts to generate portal tokens for those components.
2023-06-23 16:39:58 -06:00
Thomas Eizinger
247633ed33 feat(relay): connect to portal on startup (#1643)
With this PR, the relay can be configured with a WebSocket URL on startup. If given, it will attempt to connect to it and join the `relay` room with its `stamp_secret`. Once the `init` message is received, regular relay operation will begin.
2023-06-21 16:10:39 -03:00
Thomas Eizinger
6491ad13c9 feat(relay): provide a commandline interface using clap (#1658)
This saves us several lines of code and allows usage of the relay via
commandline arguments in addition to env variables. Note that because of
`#[arg(env)]`, all of these can still be configured via environment
variables too.
2023-06-15 18:17:02 +02:00
Thomas Eizinger
5090d207c2 feat(relay): implement nonces for authentication (#1654)
To complete the authentication scheme for the relay, we need to prompt
the client with a nonce when they send an unauthenticated request. The
semantic meaning of a nonce is opaque to the client. As a starting
point, we implement a count-based scheme. Each nonce is valid for 10
requests. After that, a request will be rejected with a 401 and the
client has to authenticate with a new nonce.

This scheme provides a basic form of replay-protection.
2023-06-15 09:11:08 -07:00
Thomas Eizinger
16156a6448 relay: implement authentication (#1641) 2023-06-07 06:17:20 -07:00
Thomas Eizinger
d27856a8f1 refactor(relay): introduce type-safe Server APIs (#1630)
We introduce dedicated types for each message that the `Server` can
handle. This allows us to make the functions public because the
type-system now guarantees that those are either parsed from bytes or
constructed with the correct data.

The latter will be useful to write tests against a richer API.
2023-05-31 15:18:20 +01:00
Thomas Eizinger
f5fdd56812 relay: create channel bindings and relay data (#1618)
Here is a short demo:


[Relay](https://github.com/firezone/firezone/assets/5486389/c0199294-70ca-47b4-90ae-2c96428bdb56)

You can run this locally using the `./run_smoke_test.sh` shell-script.
It is not reliable enough yet to be used in CI but I used one if its
outputs to make a regression test.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-05-22 17:25:16 -07:00
Thomas Eizinger
675cb2dd54 relay: refresh allocations (#1610) 2023-05-16 07:21:02 +10:00