Why:
* Policies are needed to make sure devices are allowed to connect to a
given resource.
---------
Signed-off-by: bmanifold <bmanifold@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
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 />
[](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>
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<OsStr></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 />
[](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>
Previously, I thought it might be helpful to refuse a insecure
connections to the portal unless the user explicitly opts-in to this. In
our CI and testing environment, this however proved to cause more
headaches than it helps.
This PR removes this flag and assumes that users are smart enough that
they should protect self-hosted portals with transport-level encryption.
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>
This PR sets the network settings, split-DNS, and macOS UI resources
using the data from connlib callbacks.
This should enable connlib to be developed / tested in Apple platforms
(Caveat: There's no UI to see resources in iOS yet).
Some assumptions being made are:
- It's ok to call disconnect() before onTunnelReady(), but after
connect()
- CIDR addresses don't include enclosing quotes (they currently include
the quotes, like: `"8.8.4.4/32"`)
- CIDR addresses in routes always end with “/n”
- Connlib calls can be made from a queue (non-main thread)
---------
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
Why:
* The previous Actor and Device Liveviews had used static views and data
as a starting point for fleshing out the web UI. This commit builds on
that and replaces (most) of the static data with data from the database,
as well as updating the static Liveview templates to use components
where possible.
Some programs(such as `ping`) after resolving the dns name do a reverse
dns lookup using PTR, if this doesn't respond the program hangs making
performance slower.
This PR fixes it by handling PTR queries.
---------
Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Francesca Lovebloom <franlovebloom@gmail.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
Removes functions from the android FFI that aren't needed. Why? These
were mistakenly copied from the apple FFI when I was prototyping this
back in April.
`webrtc-rs` has a race condition where `send_to` does not actually await
the channel binding, thus attempting to send something through the
channel from the other end my fail because we receive the bytes from the
relay before the library registers that there is an active channel.
This should hopefully fix the flakiness of the smoke test script.
Will open another PR with the early access page changes.
* Use abridged logo in navbar on mobile devices
* Fix font size for early access page title
* Use hero hamburger icon for collapse button instead of `<svg>`
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>
This PR implements the reverse lookup for DNS from the gateway side (the
other part of #1807)
Also, adds a fix in general for Ipv6 DNS packets (nothing to do with
AAAA, only DNS packets using ipv6), and removes resource candidates from
SDP.
Although there are still a few fixes coming related to this PR, if you
do `docker compose exec client ping google.com` it should work now
(given that the seeds include google) as Client -> Gateway -> google.com
---------
Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Signed-off-by: conectado <gabrielalejandro7@gmail.com>
Co-authored-by: Francesca Lovebloom <franlovebloom@gmail.com>
Didn't catch this earlier, but I'd like to use this naming convention
for jobs going forward since they're easier to identify in the Branch
protection rules settings and Actions settings.
This patch series refactors how we handle allocations in the relay to
make it easier to forward a failure to the `Server`. Each allocation
runs in a separate task (to allow for parallelization). If the
allocation fails, this channel is automatically closed.
Previously, this would erroneously trigger a `debug_assert!`. Now, we
invoke a callback on `Server` to allow it to clean up its internal
resources for the allocation.
At the same time, we simplify the buffering around data that is destined
for a certain allocation. Instead of having an additional buffer in the
event-loop, we increase the channel size to 10. Any exceeding items will
be dropped to avoid memory growth. This means that the `Server` is never
blocked on a slow allocation.
Given that we are running on top of an unreliable protocol anyway, I'd
say this is fine.
Currently, the primary UDP socket is polled within the `Eventloop`. In
order to not block the `Server` on the readiness of the socket, we
buffer all outgoing packets in a `VecDeque`.
This isn't particularly ergonomic.
In addition, whilst implementing the IPv6 support, I ran into a
limitation with this model. In case we operate in dual-stack mode, I
need to poll two UDP sockets but it is not clear in which order they
should be polled. The solution I am going for now is to have two
separate tasks, one per IP family and have them both write into the same
channel.
In order to keep #1814 smaller, I this PR represents a pure refactoring
towards that solution.
While developing IPv6 support, I ran into a limitations with how I
designed the prometheus metrics integration. Currently, we just use the
IPv4 listen socket to server the metrics. That however no longer works
with IPv6 support because the relay may now operate in IPv6 only mode
for example.
To circumvent this, we introduce a dedicated configuration option where
the user needs to pass the socket addr for the metrics endpoint. If
omitted, the metrics won't be served at all.
I finally figured out why the smoke test script was being funny. It
turns out that the TURN client I still had lying around in the `gateway`
binary was reading from the UDP socket in the background and thus
sometimes grabbed the relayed data and wanted to interpret it as a STUN
packet.
However, for this test, the `gateway` doesn't actually need a TURN
client at all. It communicates with the relay as if it were the `client`
itself.
By modifying the script to only work on localhost, we can avoid use of a
TURN client altogether in the relay and make this script deterministic
which is a big win for our CI confidence!
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 />
[](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>
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 "std" feature turned
off and "unstable" 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 = "...")</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 />
[](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>
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 &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 &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 />
[](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>
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 />
[](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>
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 "Temporarily disable miri CI"</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 />
[](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>
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
As per discussion from the client sync,
- this removes `TunnelAddresses` in favor of simply passing the IPv4 and
IPv6 addresses as two separate strings.
- this changes `onDisconnect`'s semantics to be called _after_
disconnect instead of before.
Additionally, as per earlier discussion, errors are now passed as
strings. These errors already weren't intended to be actionable on the
client side, so the ability to handle them programmatically is
unnecessary. When internationalization is added down the road, we'll
likely replace these with error codes for looking up localized strings;
until then, this design improves diagnostics and reduces complexity.
Closes#1796Closes#1822