Commit Graph

3324 Commits

Author SHA1 Message Date
Jamil
b5e591dfd3 fix(ci): Revert runtime to musl (#3278)
Turns out #3276 was only part of the problem. After that was fixed, the
issue did turn out to be the statically-linked libc runtime. Staging was
using dynamic linking and so didn't hit the issue.

This reverts back to musl which has been tested as @AndrewDryga noted.
2024-01-17 02:58:26 -08:00
Andrew Dryga
1452fb8511 Do not refresh access token when refresh token is invalid (#3275) 2024-01-17 01:30:51 -08:00
Jamil
666cb45724 fix(ci): Be explicit about which Docker platforms to pull and push for (#3276) 2024-01-17 00:59:32 -08:00
Jamil Bou Kheir
fda49a17d6 Don't escape args 2024-01-17 00:12:05 -08:00
Andrew Dryga
3c1d6f003d chore(portal): Fix resources UX (#3267)
Closes #3132
2024-01-16 23:24:41 -08:00
Jamil
41bdc1f0f9 fix(apple): Reset cached system resolvers while tunnel is reasserting (#3274)
Fixes an issue where the DNS resolvers returned could be Connlib's if
the network connectivity changed while Firezone was connected.
2024-01-16 23:01:50 -08:00
Andrew Dryga
98930cc1ba Fix lost client auth state for OIDC redirects (#3273) 2024-01-17 00:54:07 -06:00
Andrew Dryga
5569be4715 Stop storing client tokens in sessions (#3272) 2024-01-16 23:34:26 -06:00
dependabot[bot]
dc57206027 build(deps): Bump redis from 0.23.3 to 0.24.0 in /rust (#2864)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.23.3 to
0.24.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/redis-rs/redis-rs/releases">redis's
releases</a>.</em></p>
<blockquote>
<h2>v0.24.0</h2>
<h3>0.24.0 (2023-12-05)</h3>
<h4>Features</h4>
<ul>
<li><strong>Breaking change</strong>: Support Mutual TLS (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/858">#858</a>
<a href="https://github.com/sp-angel"><code>@​sp-angel</code></a>)</li>
<li>Implement <code>FromRedisValue</code> for
<code>Box&lt;[T]&gt;</code> and <code>Arc&lt;[T]&gt;</code> (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/799">#799</a>
<a href="https://github.com/JOT85"><code>@​JOT85</code></a>)</li>
<li>Sync Cluster: support multi-slot operations. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/967">#967</a>)</li>
<li>Execute multi-node requests using try_request. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/919">#919</a>)</li>
<li>Sorted set blocking commands (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/962">#962</a>
<a
href="https://github.com/gheorghitamutu"><code>@​gheorghitamutu</code></a>)</li>
<li>Allow passing routing information to cluster. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/899">#899</a>)</li>
<li>Add <code>tcp_nodelay</code> feature (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/941">#941</a>
<a
href="https://github.com/PureWhiteWu"><code>@​PureWhiteWu</code></a>)</li>
<li>Add support for multi-shard commands. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/900">#900</a>)</li>
</ul>
<h4>Changes</h4>
<ul>
<li>Order in usage of ClusterParams. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/997">#997</a>)</li>
<li><strong>Breaking change</strong>: Fix StreamId::contains_key
signature (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/783">#783</a>
<a
href="https://github.com/Ayush1325"><code>@​Ayush1325</code></a>)</li>
<li><strong>Breaking change</strong>: Update Command expiration values
to be an appropriate type (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/589">#589</a>
<a href="https://github.com/joshleeb"><code>@​joshleeb</code></a>)</li>
<li><strong>Breaking change</strong>: Bump aHash to v0.8.6 (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/966">#966</a>
<a href="https://github.com/aumetra"><code>@​aumetra</code></a>)</li>
<li>Fix features for <code>load_native_certs</code>. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/996">#996</a>)</li>
<li>Revert redis-test versioning changes (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/993">#993</a>)</li>
<li>Tests: Add retries to test cluster creation (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/994">#994</a>)</li>
<li>Fix sync cluster behavior with transactions. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/983">#983</a>)</li>
<li>Sync Pub/Sub - cache received pub/sub messages. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/910">#910</a>)</li>
<li>Prefer routing to primary in a transaction. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/986">#986</a>)</li>
<li>Accept iterator at <code>ClusterClient</code> initialization (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/987">#987</a>
<a
href="https://github.com/ruanpetterson"><code>@​ruanpetterson</code></a>)</li>
<li><strong>Breaking change</strong>: Change timeouts from usize and
isize to f64 (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/988">#988</a>
<a
href="https://github.com/eythorhel19"><code>@​eythorhel19</code></a>)</li>
<li>Update minimal rust version to 1.6.5 (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/982">#982</a>)</li>
<li>Disable JSON module tests for redis 6.2.4. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/980">#980</a>)</li>
<li>Add connection string examples (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/976">#976</a>
<a
href="https://github.com/NuclearOreo"><code>@​NuclearOreo</code></a>)</li>
<li>Move response policy into multi-node routing. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/952">#952</a>)</li>
<li>Added functions that allow tests to check version. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/963">#963</a>)</li>
<li>Fix XREADGROUP command ordering as per Redis Docs, and compatibility
with Upstash Redis (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/960">#960</a>
<a
href="https://github.com/prabhpreet"><code>@​prabhpreet</code></a>)</li>
<li>Optimize make_pipeline_results by pre-allocate memory (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/957">#957</a>
<a
href="https://github.com/PureWhiteWu"><code>@​PureWhiteWu</code></a>)</li>
<li>Run module tests sequentially. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/956">#956</a>)</li>
<li>Log cluster creation output in tests. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/955">#955</a>)</li>
<li>CI: Update and use better maintained github actions. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/954">#954</a>)</li>
<li>Call CLIENT SETINFO on new connections. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/945">#945</a>)</li>
<li>Deprecate functions that erroneously use <code>tokio</code> in their
name. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/913">#913</a>)</li>
<li>CI: Increase timeouts and use newer redis. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/949">#949</a>)</li>
<li>Remove redis version from redis-test. (<a
href="https://redirect.github.com/redis-rs/redis-rs/pull/943">#943</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="37ba5614c9"><code>37ba561</code></a>
Release redis 0.24.0 / redis-test 0.3.0 (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/998">#998</a>)</li>
<li><a
href="bcc6e3ba59"><code>bcc6e3b</code></a>
Order in usage of ClusterParams. (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/997">#997</a>)</li>
<li><a
href="db19291263"><code>db19291</code></a>
Fix StreamId::contains_key signature (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/783">#783</a>)</li>
<li><a
href="413f4d947e"><code>413f4d9</code></a>
Update Command expiration values to be an appropriate type (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/589">#589</a>)</li>
<li><a
href="f4f5344d2c"><code>f4f5344</code></a>
Bump aHash to v0.8.6 (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/966">#966</a>)</li>
<li><a
href="439118e73e"><code>439118e</code></a>
Fix features for <code>load_native_certs</code>. (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/996">#996</a>)</li>
<li><a
href="a26373b145"><code>a26373b</code></a>
Revert redis-test versioning changes (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/993">#993</a>)</li>
<li><a
href="882ecf9c5d"><code>882ecf9</code></a>
Tests: Add retries to test cluster creation (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/994">#994</a>)</li>
<li><a
href="d8a5ca95e5"><code>d8a5ca9</code></a>
Release redis 0.23.4 / redis-test 0.2.4 (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/992">#992</a>)</li>
<li><a
href="a6df6e273c"><code>a6df6e2</code></a>
Fix sync cluster behavior with transactions. (<a
href="https://redirect.github.com/redis-rs/redis-rs/issues/983">#983</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/redis-rs/redis-rs/compare/redis-0.23.3...redis-0.24.0">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.3&new-version=0.24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR 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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-01-17 03:37:38 +00:00
Jamil
6c72447b4f fix(rust): Use -n for POSIX shells to handle building for different TARGETs (#3270) 2024-01-16 17:52:30 -08:00
Andrew Dryga
2e92174697 Update script to rotate global relays token 2024-01-16 19:09:28 -06:00
Andrew Dryga
ba470c22ca fix(portal): Fix auth redirect and test client auth using acceptance tests (#3269) 2024-01-16 19:00:46 -06:00
Thomas Eizinger
5a679ad264 feat(connection-tests): dynamically discover network interfaces (#3241)
Currently, we are hardcoding the network interface to use in the docker
compose file. This doesn't scale pariticularly well because
docker-compose doesn't like it when networks have overlapping address
ranges. Instead of hard-coding the address, we let docker compose choose
a network range and assign addresses to us.

---------

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-01-16 23:05:16 +00:00
Jamil
0f613d4378 fix(gateway): Fix gateway systemd command for non-bash shells (#3264)
Fixes a couple issues detected when running the command under the plain
POSIX shell `/bin/sh`.
2024-01-16 22:40:05 +00:00
Reactor Scram
d83afe2f84 fix(windows): when the token expires, change the GUI to signed-out state (#3142)
Fixes #3128 

Will mark ready for review in an hour or two when it replicates on my
dev laptop
2024-01-16 22:14:03 +00:00
Andrew Dryga
832fc3f2e3 Implement rest of TODOs after token refactoring (#3160)
- [x] Introduce api_client actor type and code to create and
authenticate using it's token
- [x] Unify Tokens usage for Relays and Gateways
- [x] Unify Tokens usage for magic links


Closes #2367
Ref #2696
2024-01-16 21:39:00 +00:00
Jamil
5551eece5d fix(devops): Use webpki roots instead of OS cert store (#3266)
Fixes 

```json
{
  "insertId": "1lzwe6ffj77v9n",
  "jsonPayload": {
    "cos.googleapis.com/container_name": "klt-relay-vmkr",
    "cos.googleapis.com/stream": "stderr",
    "cos.googleapis.com/container_id": "29e6fd8f9a4ed1ce390e8a25561d73b0fd8cbcdf17344e999637301175c41fdc",
    "message": "    1: invalid peer certificate: UnknownIssuer\n",
    "time": "2024-01-16T20:21:49.992901207Z"
  },
  "resource": {
    "type": "gce_instance",
    "labels": {
      "zone": "asia-south1-a",
      "instance_id": "4570479834747179906",
      "project_id": "firezone-staging"
    }
  },
  "timestamp": "2024-01-16T20:21:49.992901207Z",
  "logName": "projects/firezone-staging/logs/cos_containers",
  "receiveTimestamp": "2024-01-16T20:21:50.930410255Z"
}
```
2024-01-16 13:11:13 -08:00
Jamil
9d476d83e4 fix(devops): Fix shellcheck errors for docker-init.sh script (#3265) 2024-01-16 12:05:40 -08:00
Jamil
856f72cd4b fix(ci): shell is dash on debian slim (#3261) 2024-01-16 11:27:46 -08:00
Antoine
53fb48741c fix(portal): dump smtp tls_options correctly (#3214)
Resolves #3208
2024-01-16 11:38:19 -06:00
dependabot[bot]
32f1981dd0 build(deps): Bump phoenix_html from 3.3.3 to 4.0.0 in /elixir (#3219)
Bumps [phoenix_html](https://github.com/phoenixframework/phoenix_html)
from 3.3.3 to 4.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_html/blob/main/CHANGELOG.md">phoenix_html's
changelog</a>.</em></p>
<blockquote>
<h2>v4.0.0 (2023-12-19)</h2>
<p>This version removes deprecated functionality and moved all HTML
helpers to a separate library. HTML Helpers are no longer used in new
apps from Phoenix v1.7. Older applications who wish to maintain
compatibility, add <code>{:phoenix_html_helpers, &quot;~&gt;
1.0&quot;}</code> to your <code>mix.exs</code> and then replace
<code>use Phoenix.HTML</code> in your applications by:</p>
<pre lang="elixir"><code>import Phoenix.HTML
import Phoenix.HTML.Form
use PhoenixHTMLHelpers
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0687606d16"><code>0687606</code></a>
Release v4.0.0</li>
<li><a
href="3d7cc4ed0d"><code>3d7cc4e</code></a>
Improve to_form/4 coverage</li>
<li><a
href="071dd38489"><code>071dd38</code></a>
More tests</li>
<li><a
href="478d310fd7"><code>478d310</code></a>
Update description</li>
<li><a
href="0be2c6f1fa"><code>0be2c6f</code></a>
Prepare v4.0</li>
<li><a
href="ec3764e02f"><code>ec3764e</code></a>
Improve docs</li>
<li><a
href="06e9840407"><code>06e9840</code></a>
Fix tests</li>
<li>See full diff in <a
href="https://github.com/phoenixframework/phoenix_html/compare/v3.3.3...v4.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_html&package-manager=hex&previous-version=3.3.3&new-version=4.0.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>
2024-01-16 11:36:14 -06:00
Reactor Scram
d5f09ab342 feat(Windows): #2998, add 'signing in' state to system tray menu (#3157)
Depends on the new auth flow in #3147 

I couldn't find the UI mockups so I just modified the "Sign In" menu to
create this.
2024-01-16 17:08:40 +00:00
Jamil
ddf10cd502 fix(ci): Use a new branch name to merge (GitHub merge bug?) (#3255) 2024-01-16 09:08:50 -08:00
Jamil
44edf30a09 fix(ci): Fix target another time (#3254) 2024-01-16 09:06:23 -08:00
Jamil
fde438ef4d Fix target (#3253) 2024-01-16 09:05:02 -08:00
Jamil
b242b5c81b Fix target: specifier (#3252) 2024-01-16 09:03:55 -08:00
Jamil
36209c7d2d fix(rust): Check /proc for health checks (#3250)
Debian slim is slimmer than we could ever have imagined.
2024-01-16 16:46:44 +00:00
Jamil
4ff70746c8 Revert "build(deps): Bump tokio-tungstenite from 0.20.1 to 0.21.0 in /rust" (#3248)
Reverts firezone/firezone#3191
2024-01-15 23:36:56 -08:00
Jamil
65b07701c0 fix(rust): Fix continuous deployments targets to use gnu target (#3247)
Fixes an issue introduced by #3243
2024-01-15 22:26:32 -08:00
dependabot[bot]
e9a86fe1e7 build(deps): Bump tokio-tungstenite from 0.20.1 to 0.21.0 in /rust (#3191)
Bumps [tokio-tungstenite](https://github.com/snapview/tokio-tungstenite)
from 0.20.1 to 0.21.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.21.0</h1>
<ul>
<li>Update TLS dependencies.</li>
<li>Update <code>tungstenite</code> to <code>0.21.0</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52e59dd732"><code>52e59dd</code></a>
Release version 0.21.0</li>
<li><a
href="7b2cf20a10"><code>7b2cf20</code></a>
Update <code>rustls</code> to 0.22 and <code>tokio-rustls</code> to
0.25</li>
<li><a
href="ecf7a7ebae"><code>ecf7a7e</code></a>
Update <code>webpki-roots</code> to 0.26</li>
<li>See full diff in <a
href="https://github.com/snapview/tokio-tungstenite/compare/v0.20.1...v0.21.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.20.1&new-version=0.21.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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</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>
2024-01-16 04:24:01 +00:00
Jamil
d3652408a9 fix(apple): Persist Firezone ID to disk instead of using hardware tracking methods (#3244)
Fixes #2981
2024-01-16 02:04:53 +00:00
Jamil
b1738bdd46 feat(ci): Add e2e test bed (#3135)
- [x] Launch control plane via docker compose
- [x] Ensure all clients build
2024-01-16 01:57:41 +00:00
Jamil
b8e2a59570 fix(connlib): Use debian:12-slim for Rust base image (#3243)
Fixes #3215
2024-01-16 01:53:32 +00:00
Thomas Eizinger
247c907da7 fix(connection): set a Connections remote-socket from WG activity (#3245)
It appears that sometimes, the dialer already considers the connection
as connected whilst the other party is still finishing the ICE
handshake. In that case, the dialer will start wireguard activity. Once
the tunnel is fully established, the dialer will then start to send data
which can lead to a `NotConnected` error in case the listener hasn't yet
finished the handshake and updated the state. This is only a local
inconsistency which we can fix by also updating the `remote_socket`
field based on activity on the wireguard tunnel.

For future debugging, we also raise the log level of `str0m` to see the
STUN messages that are being exchanged.

Fixes: #3178.
2024-01-16 01:50:10 +00:00
Jamil
eceb2f6105 fix(connlib): Fix getSystemDefaultResolvers while tunnel session is active (#3236)
Reverts firezone/firezone#3198

This was actually functioning well for non-Apple platforms. Marking as a
draft until #3235 PR is opened

Fixes #3235

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-01-15 23:29:46 +00:00
Reactor Scram
53d43329c3 feat(windows): implement Clear Logs, closes #3224 (#3237) 2024-01-15 23:25:53 +00:00
Jamil
48a2387b10 docs(website): Document session lifetimes (#3197)
Have had a few customers ask about this now.

Ideally all lifetimes would be configurable. See #3179
2024-01-15 19:47:08 +00:00
Antoine
b6f72a5fa8 feat(portal): add Kubernetes cluster strategy support (#3212)
Resolves #3209
2024-01-15 11:07:39 -06:00
Andrew Dryga
3bb5e71b9c Honour "as" option when fetching subject (#3234) 2024-01-15 11:05:19 -06:00
Jamil
397c2ba497 chore(windows): Use version from Cargo toml to support automatic versioning (#3231)
JSON doesn't support comments, so we can't easily maintain the package
version like we do elsewhere in the codebase.

Luckily Tauri [will pull
this](https://tauri.app/v1/api/config/#packageconfig) from the toml if
it's missing in the JSON config.

Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-01-15 16:39:21 +00:00
Jamil
17371b2c10 feat(windows): Add Windows iconset (#3225)
Refs #3017 

Generated with `cargo tauri icon` with a 1024x1024 input from our Figma
assets

Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-01-15 16:37:43 +00:00
dependabot[bot]
5fce5dd267 chore(deps): bump base64 from 0.21.6 to 0.21.7 in /rust (#3228)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from
0.21.6 to 0.21.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's
changelog</a>.</em></p>
<blockquote>
<h1>0.21.7</h1>
<ul>
<li>Support getting an alphabet's contents as a str via
<code>Alphabet::as_str()</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9652c78773"><code>9652c78</code></a>
v0.21.7</li>
<li><a
href="08deccf703"><code>08deccf</code></a>
provide as_str() method to return the alphabet characters (<a
href="https://redirect.github.com/marshallpierce/rust-base64/issues/264">#264</a>)</li>
<li>See full diff in <a
href="https://github.com/marshallpierce/rust-base64/compare/v0.21.6...v0.21.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.21.6&new-version=0.21.7)](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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 14:54:55 +00:00
Thomas Eizinger
2f64b150e5 chore(connlib): fix clippy warning (#3227) 2024-01-15 14:54:17 +00:00
dependabot[bot]
d76c94d057 chore(deps): bump axum from 0.6.20 to 0.7.3 in /rust (#3068)
Bumps [axum](https://github.com/tokio-rs/axum) from 0.6.20 to 0.7.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/axum/releases">axum's
releases</a>.</em></p>
<blockquote>
<h2>axum-extra - v0.7.3</h2>
<ul>
<li><strong>added:</strong> Implement <code>Deref</code> and
<code>DerefMut</code> for built-in extractors (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1922">#1922</a>)</li>
<li><strong>added:</strong> Add <code>OptionalPath</code> extractor (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1889">#1889</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/1889">#1889</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/1889">tokio-rs/axum#1889</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/1922">#1922</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/1922">tokio-rs/axum#1922</a></p>
<h2>axum - v0.7.3</h2>
<ul>
<li><strong>added:</strong> <code>Body</code> implements
<code>From&lt;()&gt;</code> now (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2411">#2411</a>)</li>
<li><strong>change:</strong> Update version of multer used internally
for multipart (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2433">#2433</a>)</li>
<li><strong>change:</strong> Update tokio-tungstenite to 0.21 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2435">#2435</a>)</li>
<li><strong>added:</strong> Enable <code>tracing</code> feature by
default (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2460">#2460</a>)</li>
<li><strong>added:</strong> Support graceful shutdown on
<code>serve</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2398">#2398</a>)</li>
<li><strong>added:</strong> <code>RouterIntoService</code> implements
<code>Clone</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2456">#2456</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2411">#2411</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2411">tokio-rs/axum#2411</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2433">#2433</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2433">tokio-rs/axum#2433</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2435">#2435</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2435">tokio-rs/axum#2435</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2460">#2460</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2460">tokio-rs/axum#2460</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2398">#2398</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2398">tokio-rs/axum#2398</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2456">#2456</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2456">tokio-rs/axum#2456</a></p>
<h2>axum-extra - v0.7.2</h2>
<ul>
<li><strong>added:</strong> Implement <code>IntoResponse</code> for
<code>MultipartError</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1861">#1861</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/1861">#1861</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/1861">tokio-rs/axum#1861</a></p>
<h2>axum - v0.7.2</h2>
<ul>
<li><strong>added:</strong> Add <code>axum::body::to_bytes</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2373">#2373</a>)</li>
<li><strong>fixed:</strong> Gracefully handle accept errors in
<code>serve</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2400">#2400</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/2373">#2373</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2373">tokio-rs/axum#2373</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/2400">#2400</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/2400">tokio-rs/axum#2400</a></p>
<h2>axum-extra - v0.7.1</h2>
<ul>
<li>Updated to latest <code>axum-macros</code></li>
</ul>
<h2>axum - v0.7.1</h2>
<ul>
<li><strong>fix</strong>: Fix readme.</li>
</ul>
<h2>axum-extra - v0.7.0</h2>
<ul>
<li><strong>breaking:</strong> Remove the <code>spa</code> feature which
should have been removed in 0.6.0 (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1802">#1802</a>)</li>
<li><strong>added:</strong> Add <code>Multipart</code>. This is similar
to <code>axum::extract::Multipart</code>
except that it enforces field exclusivity at runtime instead of compile
time,
as this improves usability (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1692">#1692</a>)</li>
<li><strong>added:</strong> Implement <code>Clone</code> for
<code>CookieJar</code>, <code>PrivateCookieJar</code> and
<code>SignedCookieJar</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1808">#1808</a>)</li>
<li><strong>fixed:</strong> Add <code>#[must_use]</code> attributes to
types that do nothing unless used (<a
href="https://redirect.github.com/tokio-rs/axum/issues/1809">#1809</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/axum/issues/1692">#1692</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/1692">tokio-rs/axum#1692</a>
<a
href="https://redirect.github.com/tokio-rs/axum/issues/1802">#1802</a>:
<a
href="https://redirect.github.com/tokio-rs/axum/pull/1802">tokio-rs/axum#1802</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fe89ab5592"><code>fe89ab5</code></a>
Release (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2461">#2461</a>)</li>
<li><a
href="b494d455cc"><code>b494d45</code></a>
Implement <code>Clone</code> for <code>RouterIntoService</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2456">#2456</a>)</li>
<li><a
href="560213a7b7"><code>560213a</code></a>
docs: add clarification about building middleware and error types (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2448">#2448</a>)</li>
<li><a
href="ea6dd51e98"><code>ea6dd51</code></a>
Enable tracing by default (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2460">#2460</a>)</li>
<li><a
href="12e8c6219d"><code>12e8c62</code></a>
Support graceful shutdown on <code>serve</code> (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2398">#2398</a>)</li>
<li><a
href="56159b0d4e"><code>56159b0</code></a>
JsonDeserializer extractor for zero-copy deserialization (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2431">#2431</a>)</li>
<li><a
href="c3db223532"><code>c3db223</code></a>
Rework error handling example (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2382">#2382</a>)</li>
<li><a
href="6c276c3ff0"><code>6c276c3</code></a>
Updated docs regarding constraints of Handler arguments (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2451">#2451</a>)</li>
<li><a
href="4f010d9b2d"><code>4f010d9</code></a>
Updating <code>tls-rustls</code> example (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2457">#2457</a>)</li>
<li><a
href="3fda093806"><code>3fda093</code></a>
Use separate lexical scope for lock guard in docs (<a
href="https://redirect.github.com/tokio-rs/axum/issues/2439">#2439</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/axum/compare/axum-v0.6.20...axum-v0.7.3">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.20&new-version=0.7.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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-01-15 03:31:32 +00:00
Jamil
91d9e86773 fix(windows): Remove exec perms on Windows files (#3223)
Somehow these files keep getting `755` permissions applied to them --
maybe there's a `chmod -R 0755` script being run somewhere?
2024-01-14 14:29:35 +00:00
Jamil
9ed0e62f59 fix(website): Improve text legibility (#3222) 2024-01-13 05:51:29 -08:00
Jamil
a63801718f chore(deps): Bump terraform google dependencies as a group (#3202) 2024-01-13 00:48:49 +00:00
Reactor Scram
de2d9c1ce9 ci(windows): add SHA256 hashes for artifacts (#3201)
Fulfills #2997 

cd.yml changes are always blind so it may break the draft release when
it goes into main. Just let me know.

I should probably just switch it to Bash so it's easier to test.
2024-01-12 21:32:50 +00:00
Jamil
ff992ab8e5 chore(deps): Bump com.android libs and set dependabot group (#3199)
Just more dependabot tuning
2024-01-12 21:06:57 +00:00
Jamil
f4efa51f10 fix(android): Don't minify release build (#3218)
Fixes #3213
2024-01-12 12:56:17 -08:00