Commit Graph

560 Commits

Author SHA1 Message Date
Reactor Scram
0d134a4f01 chore(rust/gui-client): bump GUI to 1.3.9 to fix a crash (#6993)
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-10-09 21:44:40 +00:00
Thomas Eizinger
0825055ff2 fix(rust/gui-client): allow GUI process to read the firezone-id file from disk (#6987)
Closes #6989

- The tunnel daemon (IPC service) now explicitly sets the ID file's
perms to 0o640, even if the file already exists.
- The GUI error is now non-fatal. If the file can't be read, we just
won't get the device ID in Sentry.
- More specific error message when the GUI fails to read the ID file

We attempted to set the tunnel daemon's umask, but this caused the smoke
tests to fail. Fixing the regression is more urgent than getting the
smoke tests to match local debugging.

---------

Co-authored-by: _ <ReactorScram@users.noreply.github.com>
2024-10-09 20:04:24 +00:00
Jamil
f5362ce009 docs: Remove known DoH issue with Firefox (#6832)
This has been a long-standing issue.

The base PR fixes the issue for Firefox, and apparently all other
browsers will _not_ change your DNS server, only opportunistically
enable DoH if it finds your current servers to support it.
2024-10-09 19:31:38 +00:00
dependabot[bot]
9f2a2c4172 build(deps): Bump micromatch from 4.0.7 to 4.0.8 in /website in the npm_and_yarn group (#6934)
Bumps the npm_and_yarn group in /website with 1 update:
[micromatch](https://github.com/micromatch/micromatch).

Updates `micromatch` from 4.0.7 to 4.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/micromatch/micromatch/releases">micromatch's
releases</a>.</em></p>
<blockquote>
<h2>4.0.8</h2>
<p>Ultimate release that fixes both CVE-2024-4067 and CVE-2024-4068. We
consider the issues low-priority, so even if you see automated scanners
saying otherwise, don't be scared.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md">micromatch's
changelog</a>.</em></p>
<blockquote>
<h2>[4.0.8] - 2024-08-22</h2>
<ul>
<li>backported CVE-2024-4067 fix (from v4.0.6) over to 4.x branch</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8bd704ec0d"><code>8bd704e</code></a>
4.0.8</li>
<li><a
href="a0e68416a4"><code>a0e6841</code></a>
run verb to generate README documentation</li>
<li><a
href="4ec288484f"><code>4ec2884</code></a>
Merge branch 'v4' into hauserkristof-feature/v4.0.8</li>
<li><a
href="03aa805217"><code>03aa805</code></a>
Merge pull request <a
href="https://redirect.github.com/micromatch/micromatch/issues/266">#266</a>
from hauserkristof/feature/v4.0.8</li>
<li><a
href="814f5f70ef"><code>814f5f7</code></a>
lint</li>
<li><a
href="67fcce6a10"><code>67fcce6</code></a>
fix: CHANGELOG about braces &amp; CVE-2024-4068, v4.0.5</li>
<li><a
href="113f2e3fa7"><code>113f2e3</code></a>
fix: CVE numbers in CHANGELOG</li>
<li><a
href="d9dbd9a266"><code>d9dbd9a</code></a>
feat: updated CHANGELOG</li>
<li><a
href="2ab13157f4"><code>2ab1315</code></a>
fix: use actions/setup-node@v4</li>
<li><a
href="1406ea38f3"><code>1406ea3</code></a>
feat: rework test to work on macos with node 10,12 and 14</li>
<li>Additional commits viewable in <a
href="https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=micromatch&package-manager=npm_and_yarn&previous-version=4.0.7&new-version=4.0.8)](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
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>
2024-10-09 18:49:52 +00:00
Reactor Scram
c4ddae7da2 chore(rust/gui-client): cut a GUI release to fix the WSL issue (#6972) 2024-10-08 17:42:46 +00:00
Reactor Scram
754cdf06e7 docs(rust/gui-client): correct changelog (#6956)
I forgot to add a couple of my recent PRs to the changelog

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-10-07 20:33:31 +00:00
Reactor Scram
2fa0ab21d1 docs(rust/client/windows): known issue, DNS Resources don't work inside WSL (#6930)
#6777 includes a workaround that isn't quite good enough to publish, and
some theory on how we can fix it.
2024-10-03 21:47:16 +00:00
Jamil
613127d298 ci: Bump all clients and gateway (#6923)
Main fix: idle connection timing. These have already been released.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-10-03 07:12:52 -07:00
Reactor Scram
9ff1b2aa78 docs(rust/gui-client/linux): clarify supported Ubuntu versions (#6904)
Ubuntu 20.04 ARM doesn't work because we're building on 22.04 in CI
against a newer glibc

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-10-02 21:08:43 +00:00
Gabi
3501d5b287 feat(clients): use hardware id for device verification (#6857)
We want to associate additional device information for the device
verification, these are all parameters that tries to uniquely identify
the hardware.

For that reason we read system information and send it as part of the
query params to the portal, that way the portal can store this when
device is verified and match against that later on.

These are the parameters according to each platform:

|Platform|Query Field|Field Meaning|
|-----|----|-----|
|MacOS|`device_serial`|Hardware's Serial|
|MacOS| `device_uuid`|Hardware's UUID|
|iOS|`identifier_for_vendor`| Identifier for vendor, resets only on
uninstall/install|
|Android|`firebase_installation_id`| Firebase installation ID, resets
only on uninstall/install|
|Windows|`device_serial`|Motherboard's Serial|
|Linux|`device_serial`|Motherboard's Serial|


Fixes #6837
2024-10-02 08:44:26 +00:00
dependabot[bot]
3404b886de build(deps): Bump fast-xml-parser from 4.4.1 to 4.5.0 in /website (#6894)
Bumps
[fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser)
from 4.4.1 to 4.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md">fast-xml-parser's
changelog</a>.</em></p>
<blockquote>
<p><!-- raw HTML omitted -->Note: If you find missing information about
particular minor version, that version must have been changed without
any functional change in this library.<!-- raw HTML omitted --></p>
<p><strong>4.5.0 / 2024-09-03</strong></p>
<ul>
<li>feat <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/666">#666</a>:
ignoreAttributes support function, and array of string or regex (By <a
href="https://github.com/mav-rik">ArtemM</a>)</li>
</ul>
<p><strong>4.4.1 / 2024-07-28</strong></p>
<ul>
<li>v5 fix: maximum length limit to currency value</li>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/634">#634</a>:
build attributes with oneListGroup and attributesGroupName (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/653">#653</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
<li>fix: get oneListGroup to work as expected for array of strings (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/662">#662</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
</ul>
<p><strong>4.4.0 / 2024-05-18</strong></p>
<ul>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/654">#654</a>:
parse attribute list correctly for self closing stop node.</li>
<li>fix: validator bug when closing tag is not opened. (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/647">#647</a>)
(By <a href="https://github.com/RyosukeFukatani">Ryosuke
Fukatani</a>)</li>
<li>fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/581">#581</a>:
typings; return type of <code>tagValueProcessor</code> &amp;
<code>attributeValueProcessor</code> (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/582">#582</a>)
(By <a href="">monholm</a>)</li>
</ul>
<p><strong>4.3.6 / 2024-03-16</strong></p>
<ul>
<li>Add support for parsing HTML numeric entities (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/645">#645</a>)
(By <a href="https://github.com/DerZade">Jonas Schade </a>)</li>
</ul>
<p><strong>4.3.5 / 2024-02-24</strong></p>
<ul>
<li>code for v5 is added for experimental use</li>
</ul>
<p><strong>4.3.4 / 2024-01-10</strong></p>
<ul>
<li>fix: Don't escape entities in CDATA sections (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/633">#633</a>)
(By <a href="https://github.com/wackbyte">wackbyte</a>)</li>
</ul>
<p><strong>4.3.3 / 2024-01-10</strong></p>
<ul>
<li>Remove unnecessary regex</li>
</ul>
<p><strong>4.3.2 / 2023-10-02</strong></p>
<ul>
<li>fix <code>jObj.hasOwnProperty</code> when give input is null (By <a
href="https://github.com/ardatan">Arda TANRIKULU</a>)</li>
</ul>
<p><strong>4.3.1 / 2023-09-24</strong></p>
<ul>
<li>revert back &quot;Fix typings for builder and parser to make return
type generic&quot; to avoid failure of existing projects. Need to decide
a common approach.</li>
</ul>
<p><strong>4.3.0 / 2023-09-20</strong></p>
<ul>
<li>Fix stopNodes to work with removeNSPrefix (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/607">#607</a>)
(<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/608">#608</a>)
(By [Craig Andrews]<a
href="https://github.com/candrews">https://github.com/candrews</a>))</li>
<li>Fix <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/610">#610</a>
ignore properties set to Object.prototype</li>
<li>Fix typings for builder and parser to make return type generic (By
<a href="https://github.com/sarahdayan">Sarah Dayan</a>)</li>
</ul>
<p><strong>4.2.7 / 2023-07-30</strong></p>
<ul>
<li>Fix: builder should set text node correctly when only textnode is
present (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/589">#589</a>)
(By <a href="https://github.com/joneqian">qianqing</a>)</li>
<li>Fix: Fix for null and undefined attributes when building xml (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/585">#585</a>)
(<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/598">#598</a>).
A null or undefined value should be ignored. (By <a
href="https://github.com/cecia234">Eugenio Ceschia</a>)</li>
</ul>
<p><strong>4.2.6 / 2023-07-17</strong></p>
<ul>
<li>Fix: Remove trailing slash from jPath for self-closing tags (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/595">#595</a>)
(By <a href="https://github.com/m-radzikowski">Maciej
Radzikowski</a>)</li>
</ul>
<p><strong>4.2.5 / 2023-06-22</strong></p>
<ul>
<li>change code implementation</li>
</ul>
<p><strong>4.2.4 / 2023-06-06</strong></p>
<ul>
<li>fix security bug</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7ed4606dd5"><code>7ed4606</code></a>
update package detail</li>
<li><a
href="98d8f47056"><code>98d8f47</code></a>
feat <a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/666">#666</a>:
add selective ignoreAttributes by pattern or callback (<a
href="https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/668">#668</a>)</li>
<li>See full diff in <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.4.1...v4.5.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-xml-parser&package-manager=npm_and_yarn&previous-version=4.4.1&new-version=4.5.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-10-01 18:34:47 +00:00
dependabot[bot]
66f8693884 build(deps): Bump framer-motion from 11.3.31 to 11.9.0 in /website (#6896)
Bumps [framer-motion](https://github.com/framer/motion) from 11.3.31 to
11.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/framer/motion/blob/main/CHANGELOG.md">framer-motion's
changelog</a>.</em></p>
<blockquote>
<h2>[11.9.0] 2024-09-27</h2>
<h3>Added</h3>
<ul>
<li>Mini <code>animate</code> and <code>useAnimate</code>
functions.</li>
</ul>
<h2>[11.8.0] 2024-09-25</h2>
<h3>Added</h3>
<ul>
<li>Easing functions now get compiled into <code>linear()</code> easings
when animating via WAAPI.</li>
</ul>
<h2>[11.7.0] 2024-09-25</h2>
<h3>Added</h3>
<ul>
<li>Added support for custom animation generators via
<code>type</code>.</li>
</ul>
<h2>[11.6.0] 2024-09-24</h2>
<h3>Added</h3>
<ul>
<li>Added <code>info</code> and element tracking to
<code>scroll</code>.</li>
<li>Added <code>steps</code> easing.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Values added to <code>will-change</code> now stay there for their
lifespan to prevent GPU thrashing and weird Safari subpixel
jitters.</li>
</ul>
<h2>[11.5.6] 2024-09-20</h2>
<h3>Fixed</h3>
<ul>
<li>Ensuring updating motion values during <code>render</code> doesn't
lock rendering for an element.</li>
</ul>
<h2>[11.5.5] 2024-09-19</h2>
<h3>Fixed</h3>
<ul>
<li>Changed values of child variants now animate even when the parent
variant name hasn't changed.</li>
</ul>
<h2>[11.5.4] 2024-09-05</h2>
<h3>Fixed</h3>
<ul>
<li>Improving tree-shakability.</li>
</ul>
<h2>[11.5.3] 2024-09-05</h2>
<h3>Fixed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="33fbeb904c"><code>33fbeb9</code></a>
v11.9.0</li>
<li><a
href="77077d10f2"><code>77077d1</code></a>
Updating changelog</li>
<li><a
href="c3d7fd4703"><code>c3d7fd4</code></a>
Featherweight API (<a
href="https://redirect.github.com/framer/motion/issues/2814">#2814</a>)</li>
<li><a
href="b544cce137"><code>b544cce</code></a>
Enlarging bundlesize</li>
<li><a
href="bff50291f7"><code>bff5029</code></a>
v11.8.0</li>
<li><a
href="94f4d7c09d"><code>94f4d7c</code></a>
Updating changelog</li>
<li><a
href="c14c9dac14"><code>c14c9da</code></a>
Support for <code>linear()</code> easing function (<a
href="https://redirect.github.com/framer/motion/issues/2812">#2812</a>)</li>
<li><a
href="bc91591aad"><code>bc91591</code></a>
Updating filesize</li>
<li><a
href="aa6f494dfb"><code>aa6f494</code></a>
v11.7.0</li>
<li><a
href="b716a433d1"><code>b716a43</code></a>
Updating changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/framer/motion/compare/v11.3.31...v11.9.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=framer-motion&package-manager=npm_and_yarn&previous-version=11.3.31&new-version=11.9.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-10-01 18:34:44 +00:00
dependabot[bot]
46da994012 build(deps): Bump @types/react from 18.3.3 to 18.3.10 in /website (#6897)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 18.3.3 to 18.3.10.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=18.3.3&new-version=18.3.10)](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-10-01 18:33:27 +00:00
dependabot[bot]
17aba4873f build(deps): Bump @docsearch/react from 3.6.1 to 3.6.2 in /website (#6898)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [@docsearch/react](https://github.com/algolia/docsearch) from
3.6.1 to 3.6.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/algolia/docsearch/releases"><code>@​docsearch/react</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v3.6.2</h2>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.6.1...v3.6.2">3.6.2</a>
(2024-09-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>email:</strong> <a
href="mailto:docsearch@algolia.com">docsearch@algolia.com</a> is being
retired (<a
href="https://redirect.github.com/algolia/docsearch/issues/2280">#2280</a>)
(<a
href="698c1cd8cd">698c1cd</a>)</li>
<li><strong>hits:</strong> default to hierarchy lvl0 if highlights
present (<a
href="https://redirect.github.com/algolia/docsearch/issues/2309">#2309</a>)
(<a
href="5260d1e5c2">5260d1e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/algolia/docsearch/blob/main/CHANGELOG.md"><code>@​docsearch/react</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/algolia/docsearch/compare/v3.6.1...v3.6.2">3.6.2</a>
(2024-09-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>email:</strong> <a
href="mailto:docsearch@algolia.com">docsearch@algolia.com</a> is being
retired (<a
href="https://redirect.github.com/algolia/docsearch/issues/2280">#2280</a>)
(<a
href="698c1cd8cd">698c1cd</a>)</li>
<li><strong>hits:</strong> default to hierarchy lvl0 if highlights
present (<a
href="https://redirect.github.com/algolia/docsearch/issues/2309">#2309</a>)
(<a
href="5260d1e5c2">5260d1e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="86281d6f1c"><code>86281d6</code></a>
chore: release v3.6.2 (<a
href="https://redirect.github.com/algolia/docsearch/issues/2310">#2310</a>)</li>
<li><a
href="5260d1e5c2"><code>5260d1e</code></a>
fix(hits): default to hierarchy lvl0 if highlights present (<a
href="https://redirect.github.com/algolia/docsearch/issues/2309">#2309</a>)</li>
<li><a
href="9733ba9a50"><code>9733ba9</code></a>
Update DocSearch-program.md</li>
<li><a
href="d56a532413"><code>d56a532</code></a>
docs(showcase): Add ScalarDB and ScalarDL to showcase (<a
href="https://redirect.github.com/algolia/docsearch/issues/2297">#2297</a>)</li>
<li><a
href="3067715a6b"><code>3067715</code></a>
docs(showcase) - add astro (<a
href="https://redirect.github.com/algolia/docsearch/issues/2283">#2283</a>)</li>
<li><a
href="660f53c231"><code>660f53c</code></a>
Update templates.mdx</li>
<li><a
href="580e14f39b"><code>580e14f</code></a>
fix(showcase list) - now they're sorted (<a
href="https://redirect.github.com/algolia/docsearch/issues/2282">#2282</a>)</li>
<li><a
href="698c1cd8cd"><code>698c1cd</code></a>
fix(email): <a
href="mailto:docsearch@algolia.com">docsearch@algolia.com</a> is being
retired (<a
href="https://redirect.github.com/algolia/docsearch/issues/2280">#2280</a>)</li>
<li>See full diff in <a
href="https://github.com/algolia/docsearch/compare/v3.6.1...v3.6.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@docsearch/react&package-manager=npm_and_yarn&previous-version=3.6.1&new-version=3.6.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>
2024-10-01 17:57:25 +00:00
dependabot[bot]
b9dbc0b697 build(deps): Bump @next/mdx from 14.2.5 to 14.2.13 in /website (#6895)
Bumps
[@next/mdx](https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx)
from 14.2.5 to 14.2.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases"><code>@​next/mdx</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v14.2.13</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Fix missing cache-control on SSR app route (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70265">#70265</a>)</li>
<li>feat: add polyfill of URL.canParse for browser compatibility (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70228">#70228</a>)</li>
<li>Fix vercel og package memory leak (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70214">#70214</a>)</li>
<li>Fix startTime error on Android 9 with Chrome 74 (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/67391">#67391</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/raeyoung-kim"><code>@​raeyoung-kim</code></a>,
<a href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/devjiwonchoi"><code>@​devjiwonchoi</code></a>,
and <a href="https://github.com/ijjk"><code>@​ijjk</code></a> for
helping!</p>
<h2>v14.2.12</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>update prefetching jsdoc &amp; documentation (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/68047">#68047</a>)</li>
<li>Ensure we chunk revalidate tag requests (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70189">#70189</a>)</li>
<li>(backport) fix(eslint): allow typescript-eslint v8 (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70090">#70090</a>)</li>
<li>[ppr] Don't mark RSC requests as /_next/data requests (backport of
<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/66249">#66249</a>)
(<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70083">#70083</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/alvarlagerlof"><code>@​alvarlagerlof</code></a>,
<a href="https://github.com/wyattjoh"><code>@​wyattjoh</code></a>, <a
href="https://github.com/delbaoliveira"><code>@​delbaoliveira</code></a>,
and <a href="https://github.com/ijjk"><code>@​ijjk</code></a> for
helping!</p>
<h2>v14.2.11</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>fix: correct metadata url suffix (<a
href="https://redirect.github.com/vercel/next.js/pull/69959">vercel/next.js#69959</a>)</li>
<li>fix: setting assetPrefix to URL format breaks HMR (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/70040">#70040</a>)</li>
<li>Update revalidateTag to batch tags in one request (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/65296">#65296</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/devjiwonchoi"><code>@​devjiwonchoi</code></a>,
and <a href="https://github.com/ijjk"><code>@​ijjk</code></a> for
helping!</p>
<h2>v14.2.10</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/pull/69990">vercel/next.js#69990</a>)</li>
<li>Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/pull/69925">vercel/next.js#69925</a>)</li>
<li>Add ability to customize Cache-Control (<a
href="https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx/issues/69802">#69802</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a> and <a
href="https://github.com/ijjk"><code>@​ijjk</code></a> for helping!</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f550237aa5"><code>f550237</code></a>
v14.2.13</li>
<li><a
href="6d7ced47ba"><code>6d7ced4</code></a>
v14.2.12</li>
<li><a
href="bfbc92aab5"><code>bfbc92a</code></a>
v14.2.11</li>
<li><a
href="937651fede"><code>937651f</code></a>
v14.2.10</li>
<li><a
href="6fa8982f8e"><code>6fa8982</code></a>
v14.2.9</li>
<li><a
href="63b999c3ba"><code>63b999c</code></a>
v14.2.8</li>
<li><a
href="a1c3a0370e"><code>a1c3a03</code></a>
v14.2.7</li>
<li><a
href="427c01de1b"><code>427c01d</code></a>
v14.2.6</li>
<li>See full diff in <a
href="https://github.com/vercel/next.js/commits/v14.2.13/packages/next-mdx">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@next/mdx&package-manager=npm_and_yarn&previous-version=14.2.5&new-version=14.2.13)](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-10-01 10:56:17 -07:00
Reactor Scram
05acdd5a03 fix(gui-client): defer GUI exit until tunnel closes (#6874)
Closes #6873

The issue seems to be a race between flushing Sentry in the GUI process
and shutting down Firezone in the tunnel daemon (IPC service).

With this change, the GUI waits to hear `DisconnectedGracefully` from
the tunnel daemon before flushing Sentry, and the issue is prevented.

Adding the new state and new IPC message required small changes in
several places

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-10-01 16:01:43 +00:00
Jamil
c10a457672 docs: Add note on resource address match order (#6818)
Documents how overlapping addresses are matched.

Draft until #6809 is merged and published.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-09-28 00:19:41 +00:00
Thomas Eizinger
6736bb7866 feat(connlib): always-on, low-power connections (#6845)
Within `snownet` - `connlib`'s connectivity library - we use ICE to set
up a UDP "connection" between a client and a gateway. UDP is an
unreliable transport, meaning the only way how can detect that the
connection is broken is for both parties to constantly send messages and
acknowledgements back and forth. ICE uses STUN binding requests for
this.

In the default configuration of `str0m`, a STUN binding is sent every
3s, and we tolerate at most 9 missing responses before we consider the
connection broken. As these responses go missing, `str0m` halves this
interval, which results in a total ICE timeout of around 17 seconds. We
already tweak these values by reducing the number of requests to 8 and
setting the interval to 1.5s. This results in a total ICE timeout of
~10s which effectively means that there is at most a 10s lag between the
connection breaking and us considering it broken at which point new
packets arriving at the TUN interface can trigger the setup of a new
connection with the gateway.

Lowering these timeouts improves the user experience in case of a broken
connection because the user doesn't have to wait as long before they can
access their resources again. The downside of lowering these timeouts is
that we generate a lot of background noise. Especially on mobile
devices, this is bad because it prevents the CPU from going to sleep and
thus simply being signed into Firezone will drain your battery, even if
you don't use it.

Note that this doesn't apply at all if the client application on top
detects a network change. In that case, we hard-reset all connections
and instantly create new ones.

We attempted to fix this in #5576 by closing idle connections after 5
minutes. This however created new problems such as #6778.

The original problem here is that we send too many STUN messages as soon
as a connection is established. Simply increasing the timeout is not an
option because it would make the user experience really bad in case the
connection actually drops for reasons that the client app can't detect.

In this patch, we attempt to solve this in a different way: Detecting a
broken connection is only critical if the user is actively using the
tunnel (i.e. sending traffic). If there is no traffic, it doesn't matter
if we need longer to detect a broken connection. The user won't notice
because their phone is probably in their pocket or something.

With this patch, we now implement the following behaviour:

- A connection is considered idle after 10s of no application traffic.
- On idle connections, we send a STUN requests every 60s
- On idle connections, we wait for at most 4 missing responses before
considering the connection broken.
- Every connection will perform a client-initiated WireGuard keep-alive
every 25s, unless there is application traffic.

These values have been chosen while considering the following sources:

1. [RFC4787,
REQ-5](https://www.rfc-editor.org/rfc/rfc4787.html#section-12) requires
NATs to keep UDP NAT mappings alive for at least 2 minutes.
2.
[`conntrack`](https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.rst)
adopts this requirement via the `nf_conntrack_udp_timeout_stream`
configuration.
3. 25s is the default keep-alive of the WireGuard kernel module.

In theory the WireGuard keep-alive itself should be good enough to keep
all NAT bindings alive. In practice, missed keep-alives are not exposed
by boringtun (the WireGuard implementation we rely on) and thus we need
the additional STUN keep-alives to detect broken connections. We set
those somewhat conservatively to 60s.

As soon as the user triggers new application traffic, these values are
reverted back to their defaults, meaning even if the connection died
just before the user is starting to use it again, we will know within
the usual 10s because we are triggering new STUN requests more often.

Note that existing gateways still implement the "close idle connections
after 5 minutes" behaviour. Customers will need to upgrade to a new
gateway version to fully benefit from these new always-on, low-power
connections.

Resolves: #6778.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2024-09-27 23:27:34 +00:00
Reactor Scram
05a2b28d9f feat(rust/gui-client): add sentry.io error reporting (#6782)
Refs #6138 

Sentry is always enabled for now. In the near future we'll make it
opt-out per device and opt-in per org (see #6138 for details)

- Replaces the `crash_handling` module
- Catches panics in GUI process, tunnel daemon, and Headless Client
- Added a couple "breadcrumbs" to play with that feature
- User ID is not set yet
- Environment is set to the API URL, e.g. `wss://api.firezone.dev`
- Reports panics from the connlib async task
- Release should be automatically pulled from the Cargo version which we
automatically set in the version Makefile

Example screenshot of sentry.io with a caught panic:

<img width="861" alt="image"
src="https://github.com/user-attachments/assets/c5188d86-10d0-4d94-b503-3fba51a21a90">
2024-09-27 16:34:54 +00:00
Jamil
2d2945ab27 fix(cd): sed doesn't like dealing with multiple files (#6847)
This was preventing versions from being updated. Strange issue.
2024-09-27 06:10:36 -07:00
Jamil
8b81711d19 docs: Add Changelog for #6733 (#6844) 2024-09-27 01:13:48 +00:00
Thomas Eizinger
20cea883c4 docs: add changelog entry for #6831 (#6843) 2024-09-27 01:13:11 +00:00
Jamil
9a5d87739a fix(website): Sign in -> Admin portal and fix mobile safari SVG crash (#6839)
- Address customer feedback re: sign in link
- Mobile safari crash fixed with simplified/optimized SVG
2024-09-26 22:58:33 +00:00
Jamil
e7dddee78f ci: bump android apple dns match (#6833)
Bumps Android -> 1.3.4, Apple -> 1.3.5

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-09-26 09:32:41 -07:00
Thomas Eizinger
e38bb4bbe5 refactor(website): better changelog writing UX (#6827)
Currently, our changelog components have a lot of duplication.
Additionally, keeping a "commented out" `Entry` around leads to many
merge conflicts because the formatter doesn't pick up code within
comments.

To fix this, we introduce an `Unreleased` components that doesn't render
its children. Furthermore, we move the `<ul>` into the `Entry`
components to avoid duplicating it for every changelog entry.
2024-09-26 06:40:03 +00:00
Jamil
c5561163e1 ci: Bump GUI and Headless for DNS ambiguity fix (#6829)
Bump gui/headless clients for #6809
2024-09-26 03:13:55 +00:00
Thomas Eizinger
42a13789b1 fix(connlib): match exact domains before wildcard ones (#6809)
Currently, the order in which connlib matches against the patterns of
DNS resources is not specified. We simply iterate over all patterns and
take the first one that matches. Due to the iteration order of
`HashMap`s, this also isn't deterministic.

With this patch, we introduce a defined order in which we attempt to
match a particular domain against the defined DNS resources:

- Resources without wildcards are always prioritised over wildcard
domains
- Single-char wildcards (`?`) take priority over label wildcards (`*`)
- Label wildcards (`*`) take priority over catch-all wildcards (`**`)

By matching against the DNS resources in a defined order, we ensure that
DNS resources that overlap always resolve to the most specific resource.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-09-26 00:10:37 +00:00
Thomas Eizinger
4ae29c604c fix(windows): only consider online adapters (#6810)
When deciding which interface we are going to use for connecting to the
portal API, we need to filter through all adapters on Windows and
exclude our own TUN adapter to avoid routing loops. In addition, we also
need to filter for only online adapters, otherwise we might pick one
that is not actually routable.

Resolves: #6802.
2024-09-25 21:19:15 +00:00
Jamil
332a9fe352 ci: bump all clients to include fix for #6781 (#6820)
bump all clients to include #6781 fix

---------

Co-authored-by: Not Applicable <ReactorScram@users.noreply.github.com>
2024-09-25 19:27:50 +00:00
Reactor Scram
86910f477d fix(rust/gui-client/auth): destroy the connlib session on disconnect (#6795)
Closes #6791

We weren't closing the connlib session immediately when we get
`on_disconnect`, this patch fixes that.

This passes the manual test established in #6792. I also cycled through
sign-in, close, open, sign-out, and it looks fine.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-09-24 14:13:01 +00:00
Reactor Scram
c53d1abab3 fix(client/linux): bump atomicwrites to fix behavior on ZFS (#6780)
Closes #6704
2024-09-20 14:14:14 +00:00
Gabi
c0f451ebea fix(connlib): blackhole DNS HTTPS type queries for resources (#6788)
Fix #6781
Fix #6375

The problem was that browsers in iOS(and possible other OSes) queries
for A, AAAA and HTTPS, and we correctly intercept A and AAAA.

Correctly intercepting HTTPS queries is more tricky since we need the
server's alpn, before this PR we were just forwarding those and then the
response back but the problem with that is that it'd return the real IP
for the service instead of our proxy IP.

So to quickly fix this we simply blackhole the query so the browser
never use that response.

In the future an improvement over this would be to intercept the
response instead of the query and mangle the ips there.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-09-19 23:20:17 +00:00
Jamil
c7429b3982 docs: Add known issue regarding macOS and SentinelOne agent (#6784)
Refs:
https://firezonehq.slack.com/archives/C069H865MHP/p1726599863041099
2024-09-19 18:44:05 +00:00
Reactor Scram
4a5061b297 docs(client/linux): document known issue with ZFS (#6756)
`atomicwrites` will have a fix soon probably
https://github.com/untitaker/rust-atomicwrites/pull/64, but if they
don't, we should document it
2024-09-19 15:29:55 +00:00
Jamil
4a1dc23a7e ci: Bump Apple and GUI versions (#6776)
Mainly to get DNS logging improvements out.
2024-09-19 07:13:33 -07:00
Jamil
7c806f7602 chore: Bump Apple to 1.3.2 (#6750)
Adds update notifications and fixes resource menu bug.
2024-09-19 01:40:38 +00:00
Jamil
e73f3de7ee fix(website): Fix full-route desc; remove Relay speed (#6728)
- Fix full-route description
- Remove relay speed differentiator
2024-09-18 16:08:04 -07:00
Thomas Eizinger
8bac75bd49 fix(connlib): forward PTR queries for non-resources (#6765)
When encountering a PTR query, `connlib` checks if the query is for a
Firezone-managed resource and resolve it to the correct IP. If it isn't
for a DNS resource, we should forward the query to the upstream
resolver.

This isn't what is currently happening though. Instead of forwarding the
query, we bail early from `StubResolver::handle` and thus attempt to
route the packet through the tunnel. This however fails because the DNS
query was targeted at `connlib`'s stub resolver address which never
corresponds to a resource IP.

When TRACE logs where activated, this resulted in several entries such
as

> Unknown resource dst=100.100.111.1

To ensure this doesn't regress, we now generate PTR and MX record
queries in `tunnel_test`. We don't assert the response of those but we
do assert that we always get a response. The inclusion of MX records
asserts that unknown query types get correctly forwarded.

Resolves: #6749.
2024-09-18 22:46:26 +00:00
Gabi
93e923e33e fix(connlib): failing proptest and overlapping routes not generated correctly (#6722)
There were 3 problems currently on main, one on the tests and the actual
bug.

## Test problem

The routes were kept in a `BTreeSet` that when a new route was added it
was `insert`ed into and when it was removed it was `remove`d from using
the address of the route.

The problem is if there were overlapping route added twice in a row and
then a single one of those resources is removed the test would believe
the route no longer exists.

## Test solution

Keep the routes in a `BTreeMap` which maps the id to the ip and then we
calculate the routes based on that combined with the default routes,
that way we just remove the ID and the routes are kept in the correct
expected state.

## Real bug

So fixing this revealed a similar bug in connlib, since we kept things
in a similar struct, `active_cidr_resources` using `IpNetworkTable`.

To fix this I re-calculate the whole table each time we add/remove a
resource.

Note that this really doesn't properly fixes overlapping routes, this is
just helpful to fix the test, to fix them we need #4789

Furthermore, fixing these issues revealed an additional problem,
whenever we add an overlapping CIDR resource the old resource might be
overridden, causing the connection to be lost, furthermore this happened
in a non-deterministic(it's deterministic really but not explicit) way
causing the tests to fail.

To fix this we always sort resources by ID(it's an arbitrary order to
keep consistency with the proptests) and then we don't replace the
routing for resources that already had a connection.

Sadly, to model this in the test I had to almost copy exactly how we
calculate resources in connlib.

Fixes #6721

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-09-18 21:38:55 +00:00
Reactor Scram
7c55859a98 fix(client/android): clear all favorites when other settings are reset (#6707)
This required some refactoring since we want to move away from
`LiveData` and towards `StateFlow`

Closes #6293
2024-09-17 20:24:29 +00:00
Gabi
9979f5a4e4 feat(macos): show notification updates (#6679)
This patch adds a notification for updates for macos clients when they
are on an old version.

This is how it looks:

<img width="497" alt="image"
src="https://github.com/user-attachments/assets/829044fd-e8bc-4b47-b64d-67b8ef72adb0">

The orange dot is shown regardless of the notification being dismissed.

If the notification is dismissed by the "Dismiss this version" button,
until there's no new version there won't be notifications.

Updates are check at the start of firezone and every 6 hours after. This
is saved in `UserDefaults`.

Permissions for notifications needs to be allowed so that it's show,
this should be done by the `requestAuthorization`

Also, when an update is available a new `Update available...` option
appears in the menu

<img width="230" alt="image"
src="https://github.com/user-attachments/assets/16d7fea8-3cf5-4711-9d42-5c49faffe6c8">

This option, same as the notification takes you to the appstore.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-09-17 01:31:27 +00:00
Jamil
f37087808d docs: Update docs to use service account for sync for Google Workspace (#6706)
- Updates docs to show steps for configuring service account for sync
- Minor fixes to the in-portal instructions


Fixes #6489
2024-09-16 23:47:21 +00:00
Jamil
a729d364c9 docs: Add clarified instructions regarding setting up the Internet resource (#6705)
Fixes some UX issues seen by customers.
2024-09-16 23:37:40 +00:00
Jamil
d525e687a4 refactor(website): fix support hours (#6693)
- Remove livechat
- Clarify slack wait time and hours
2024-09-16 16:01:13 +00:00
Patti
d913002592 feat(website): Add cool grey to palette (#6601)
Signed-off-by: Patti <139997703+Patticatti@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-09-15 15:47:44 +00:00
Jamil
3e30bab965 ci: Bump GUI client to 1.3.3 (#6691)
Bumps the GUI client to 1.3.3 to publish #6681
2024-09-13 22:29:51 +00:00
Jamil
ce73f970e7 docs: Add ServerAliveInterval as workaround for #6347 (#6689)
Setting the SSH ServerAliveInterval should prevent the issue seen in
#6347 until #6335 is merged
2024-09-13 20:46:44 +00:00
dependabot[bot]
a9ed20ce09 build(deps): Bump next from 14.2.5 to 14.2.11 in /website (#6685)
Bumps [next](https://github.com/vercel/next.js) from 14.2.5 to 14.2.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">next's
releases</a>.</em></p>
<blockquote>
<h2>v14.2.11</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>fix: correct metadata url suffix (<a
href="https://redirect.github.com/vercel/next.js/pull/69959">vercel/next.js#69959</a>)</li>
<li>fix: setting assetPrefix to URL format breaks HMR (<a
href="https://redirect.github.com/vercel/next.js/issues/70040">#70040</a>)</li>
<li>Update revalidateTag to batch tags in one request (<a
href="https://redirect.github.com/vercel/next.js/issues/65296">#65296</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/devjiwonchoi"><code>@​devjiwonchoi</code></a>,
and <a href="https://github.com/ijjk"><code>@​ijjk</code></a> for
helping!</p>
<h2>v14.2.10</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/pull/69990">vercel/next.js#69990</a>)</li>
<li>Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/pull/69925">vercel/next.js#69925</a>)</li>
<li>Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a> and <a
href="https://github.com/ijjk"><code>@​ijjk</code></a> for helping!</p>
<h2>v14.2.9</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Revert &quot;Fix esm property def in flight loader (<a
href="https://redirect.github.com/vercel/next.js/issues/66990">#66990</a>)&quot;
(<a
href="https://redirect.github.com/vercel/next.js/issues/69749">#69749</a>)</li>
<li>Disable experimental.optimizeServer by default to fix failed server
action (<a
href="https://redirect.github.com/vercel/next.js/issues/69788">#69788</a>)</li>
<li>Fix middleware fallback: false case (<a
href="https://redirect.github.com/vercel/next.js/issues/69799">#69799</a>)</li>
<li>Fix status code for /_not-found route (<a
href="https://redirect.github.com/vercel/next.js/issues/64058">#64058</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/69808">#69808</a>)</li>
<li>Fix metadata prop merging (<a
href="https://redirect.github.com/vercel/next.js/issues/69807">#69807</a>)</li>
<li>create-next-app: fix font file corruption when using import alias
(<a
href="https://redirect.github.com/vercel/next.js/issues/69806">#69806</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/ztanner"><code>@​ztanner</code></a>, <a
href="https://github.com/ijjk"><code>@​ijjk</code></a>, and <a
href="https://github.com/lubieowoce"><code>@​lubieowoce</code></a> for
helping!</p>
<h2>v14.2.8</h2>
<h2>What's Changed</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes and minor improvements. It does
<strong>not</strong> include all pending features/changes on canary.</p>
</blockquote>
<h3>Support <code>esmExternals</code> in app directory</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bfbc92aab5"><code>bfbc92a</code></a>
v14.2.11</li>
<li><a
href="fa51ff56de"><code>fa51ff5</code></a>
fix: correct metadata url suffix (<a
href="https://redirect.github.com/vercel/next.js/issues/69959">#69959</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/70042">#70042</a>)</li>
<li><a
href="276ddf32b1"><code>276ddf3</code></a>
fix: setting <code>assetPrefix</code> to URL format breaks HMR (<a
href="https://redirect.github.com/vercel/next.js/issues/70040">#70040</a>)</li>
<li><a
href="9954a21c94"><code>9954a21</code></a>
Update revalidateTag to batch tags in one request (<a
href="https://redirect.github.com/vercel/next.js/issues/65296">#65296</a>)</li>
<li><a
href="937651fede"><code>937651f</code></a>
v14.2.10</li>
<li><a
href="7ed7f125e0"><code>7ed7f12</code></a>
Remove invalid fallback revalidate value (<a
href="https://redirect.github.com/vercel/next.js/issues/69990">#69990</a>)</li>
<li><a
href="99de057300"><code>99de057</code></a>
Revert server action optimization (<a
href="https://redirect.github.com/vercel/next.js/issues/69925">#69925</a>)</li>
<li><a
href="24647b9a3a"><code>24647b9</code></a>
Add ability to customize Cache-Control (<a
href="https://redirect.github.com/vercel/next.js/issues/69802">#69802</a>)</li>
<li><a
href="6fa8982f8e"><code>6fa8982</code></a>
v14.2.9</li>
<li><a
href="7998745f37"><code>7998745</code></a>
test: lock ts type check (<a
href="https://redirect.github.com/vercel/next.js/issues/69889">#69889</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/compare/v14.2.5...v14.2.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.2.5&new-version=14.2.11)](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-09-13 18:24:21 +00:00
Jamil
18a1924bc2 docs: Mention conflicts on policy conditions (#6684)
Adds documentation around what happens when two policies' conditions
conflict.
2024-09-13 18:23:27 +00:00
Reactor Scram
54b6222722 fix(client/windows): set MTU even if IPv6 is disabled (#6681)
Refs #6547, this fixes a similar error message but it's not the same
exact issue.

When IPv6 is disabled on a system, our call to set the MTU was failing
with error code 0x80070490. This patch allows some of the MTU-related
syscalls to fail with a warning log.

To replicate the issue, run this command to set a registry value to
disable IPv6, then reboot the system:

`reg add
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters"
/v DisabledComponents /t REG_DWORD /d 255 /f`

```[tasklist]
- [x] Update changelog
- [x] Apply PR feedback
```

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-09-13 17:43:21 +00:00