Commit Graph

3252 Commits

Author SHA1 Message Date
Jamil
4f37bfab93 refactor(connlib): Remove unused on_error callback (#3162)
Fixes #3161 
Fixes #2867
2024-01-11 12:42:41 +00:00
Brian Manifold
e5af828982 fix(portal): Add page_title to all portal pages (#3154)
Why:

* When navigating around the portal, the title in the browser tab would
      not show the accurate title of the current page.  This commit adds
      `page_title` to all pages.  The value of the page title has been
      choosen to correspond with the portal's left hand nav menu.


Additional:
* Along with the page titles, the `vertical_table` component was updated
to make the left hand headers use a class of `w-1/5` for consistency
across pages and to move the info a little further left on each page to
try and align it closer with other info on the page.

Here's an example of before and after:

<img width="1060" alt="before"
src="https://github.com/firezone/firezone/assets/2646332/6c56b550-98a5-4331-b1d3-c65ed9e24330">

<img width="1058" alt="after"
src="https://github.com/firezone/firezone/assets/2646332/c4753fee-ddea-4c67-9d5e-5b924260ea20">
2024-01-11 06:14:34 +00:00
Reactor Scram
a63f178eff feat(windows): switch to the new auth flow per #2823 (#3147)
Also refactored to extract an auth state machine. The auth logic
previously was scattered throughout the GUI module, which would make it
hard to audit. Because of the refactoring I was able to add some simple
unit tests.
2024-01-10 23:36:17 +00:00
Andrew Dryga
396f2ef584 Redirect to deep link when user is already signed in (#3156)
Closes #2032
2024-01-10 19:52:03 +00:00
Andrew Dryga
ce932ffd90 fix(portal): Remove token provider and implement separate flow for service accounts (#3146)
Closes #2501
2024-01-10 10:33:10 -06:00
Jamil
6c8e44b3de fix(gateway): Fix masquerading iptables command (#3151) 2024-01-09 21:17:24 -08:00
Jamil
653b32456a fix(android): handle_sign_in_callback is the host part of the URI (#3149)
Gets the new auth flow working for Android
2024-01-09 20:41:04 -08:00
Gabi
9844a4b7b7 connlib: fix wildcard checking in gateways (#3148)
the way we were checking for subdomains in the gateways completely
broke, didn't detect it before because the deployed staging version for
gateways is too old.

~~Added a few CI tests so this doesn't' happen again.~~ seems like
github runners [doesn't support pinging the outside
world](https://github.com/actions/runner-images/issues/1519) so I'm
putting that off for now.
2024-01-09 22:55:23 -03:00
Reactor Scram
8fddde371e feat(windows): log Git version used to build the client (#3144)
Fulfills #3141 

It took a little longer than I expected but since I'll be leaving the
client running all the time even on my dev laptop, I want to easily see
what version I built, even if I've changed branches since building it.
2024-01-10 01:10:36 +00:00
Gabi
e31514371d swift: fix typo in url scheme (#3145)
This was preventing macos clients from connecting
2024-01-09 21:45:48 +00:00
Gabi
2af8d6096c fix(connlib): mangle packet for upstream dns as resource (#3134)
Fixes #3027 

Left a few TODO, will solve it when doing #3123 

Draft because we're still testing but it's almost ready
2024-01-09 21:08:07 +00:00
Reactor Scram
33133d7448 feat(windows): new module to listen for network changes (#3137)
This isn't hooked up to the GUI yet, it's a debug subcommand.

I overheard that the other clients rebuild the tunnel when they change
networks, I think? And this might be useful for debugging the issue
where Chrome / other browsers don't flush their TCP connections when the
tunnel comes up. It's also reference code for how to use COM interfaces
in Rust. The official samples are a little sparse. So I wanted to get
this checked in.


![image](https://github.com/firezone/firezone/assets/13400041/9f9c576e-c56f-4d7c-93f4-6e92eace5914)
2024-01-09 20:58:54 +00:00
Jamil
2a2cfd93f0 fix(gateway): Use sudo to write files (#3143)
Found a couple small issues with the systemd gateway when copy-pasting
onto my rpi not as a root user.
2024-01-09 13:07:17 -08:00
Andrew Dryga
ed5437c881 security(portal): Rework auth tokens (#2696)
- [x] make sure that session cookie for client is stored separately from
session cookie for the portal (will close #2647 and #2032)
- [x] #2622
- [ ] #2501
- [ ] show identity tokens and allow rotating/deleting them (#2138)
- [ ] #2042
- [ ] use Tokens context for Relays and Gateways to remove duplication
- [x] #2823
- [ ] Expire LiveView sockets when subject is expired
- [ ] Service Accounts UI is ambiguous now because of token identity and
actual token shown
- [ ] Limit subject permissions based on token type

Closes #2924. Now we extend the lifetime for client tokens, but not for
browsers.
2024-01-09 13:36:21 -06:00
Jamil
6a9ba5412c refactor(android): Remove AppLink in favor of nonce+state (#2826)
* Updates Android auth to remove AppLink authentication in favor of the
custom URI -based scheme defined in #2823
* Default browser is opened instead of requiring Chrome

Fixes #2703

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Brian Manifold <bmanifold@users.noreply.github.com>
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jason Elie Bou Kheir <5115126+jasonboukheir@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roopesh Chander <roop@roopc.net>
2024-01-09 17:41:54 +00:00
Jamil
1fd5d8ed33 overcommit_memory=1 for redis tests (#3139)
Refs #3131
2024-01-08 22:49:20 -08:00
dependabot[bot]
9852808fc2 build(deps): Bump clap from 4.4.11 to 4.4.13 in /rust (#3136)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.11 to 4.4.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.13</h2>
<h2>[4.4.13] - 2024-01-04</h2>
<h3>Documentation</h3>
<ul>
<li>Fix link to structopt migration guide</li>
</ul>
<h2>v4.4.12</h2>
<h2>[4.4.12] - 2023-12-28</h2>
<h3>Performance</h3>
<ul>
<li>Only ask <code>TypedValueParser</code> for possible values if
needed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.4.13] - 2024-01-04</h2>
<h3>Documentation</h3>
<ul>
<li>Fix link to structopt migration guide</li>
</ul>
<h2>[4.4.12] - 2023-12-28</h2>
<h3>Performance</h3>
<ul>
<li>Only ask <code>TypedValueParser</code> for possible values if
needed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2ab48b295c"><code>2ab48b2</code></a>
chore: Release</li>
<li><a
href="7a06a8cd61"><code>7a06a8c</code></a>
docs: Update changelog</li>
<li><a
href="cca190efed"><code>cca190e</code></a>
docs: Correct link to StructOpt migration guide</li>
<li><a
href="5c31f453c1"><code>5c31f45</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5281">#5281</a>
from Manishearth/safety-docs</li>
<li><a
href="ddae7e6f41"><code>ddae7e6</code></a>
Correct safety docs</li>
<li><a
href="48d28aa689"><code>48d28aa</code></a>
chore: Release</li>
<li><a
href="748ce18cc2"><code>748ce18</code></a>
docs: Update changelog</li>
<li><a
href="adbe6ec4cb"><code>adbe6ec</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5278">#5278</a>
from henry-hsieh/fix-nosort</li>
<li><a
href="2b48858ba8"><code>2b48858</code></a>
fix: Skip nosort option below bash 4.4</li>
<li><a
href="777b744102"><code>777b744</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5277">#5277</a>
from clap-rs/renovate/actions-setup-python-5.x</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.13">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.11&new-version=4.4.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 <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-09 04:55:15 +00:00
Roopesh Chander
d8a31c65a6 refactor(apple): Use nonce+state when authenticating (#2896)
This PR makes the Apple client use the scheme defined in #2823 so that
the portal can use a consistent scheme for all clients.

It's a draft because it hasn't been integration-tested with the related
portal changes.

---------

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-01-09 04:44:04 +00:00
Jamil
68fe638ab3 fix(ci): Use pre-releases when calculating changelog (#3138)
Fixes the incorrect changelog generated on our releases.
2024-01-08 18:02:01 -08:00
Reactor Scram
23f8d1f904 wip(windows): make sure app panics show up in the logs (#3085)
Related to this discussion
https://github.com/firezone/firezone/pull/2990#discussion_r1439629571

Add a dependency on the `tracing-panic` crate. This is about 100 lines
of code that adds a panic handle so app panics get a line number, file
name, etc. in the logs. No backtrace I think since we stripe symbols for
release builds. I _think_ the line numbers are baked into the panic
macro so those might still stay.

@conectado I should remove the debug command before closing it, right?
2024-01-08 19:17:17 +00:00
Jamil
bc93762c16 fix(gateway): Fix systemd gateways on SELinux-enabled distros and improve systemd gateway UX (#3127)
- Fix permissions and caps on each start
- Fixes incompatibility with some systemd versions that barf at the
inline `ExecStartPre`
- Fixes erroneous error printed by iptables
- Fixes masquerading not working for wireless interfaces
- Single-step systemd copy-paste command
- Fixes #2944 
- Fixes #3124 
- Fixes #3112 


Tested on CentOS 7 and Ubuntu 22.04
2024-01-08 17:56:54 +00:00
Brian Manifold
c02e7ed332 fix(portal): Update portal font to source sans 3 (#3106)
Why:

* The previous font being used in the portal (Source Sans Pro) did not
have multiple weights available, which meant that the `font-*` classes
      on all html tags were not being used.  Switching to Source Sans 3
allows all but 1 (`font-thin` or `100` is not present) of the Tailwind
      font sizes to be used.

Closes #2893
2024-01-08 17:56:43 +00:00
Jamil
408961917e fix(portal): Add help text for DNS resources (#3130)
Clarifies confusion I'm seeing on demos and will suffice until we have
in-depth docs.
2024-01-06 05:04:15 +00:00
Jamil
7b26aed586 fix(portal): Add plan badge to edit Site (#3129)
Fixes #3125
2024-01-05 19:42:22 +00:00
Roopesh Chander
eaf60ca558 fix(Apple): Attempt to fix window selectedness of the authentication webview (#3126)
Attempt to fix #2881.

I can't reproduce the exact issue anymore, but I'm guessing activating
the app causes the web view window to lose selectedness. So we don't do
that in the PR.

Also, this PR fixes the scenario where the app is quit while the web
view is shown -- we now close the webview window in that case.
2024-01-05 16:58:06 +00:00
Reactor Scram
8dab84ef20 fix(windows): add routes faster (#3118)
This will fix #3114 and save about 13 seconds at startup, compared to
shelling out to Powershell.

I'm not 100% sure it works for IPv6 routes - I'm setting port, flowinfo,
and scope to 0 and just assuming that it's fine.

For some reason Windows wants a socket address in this API even though I
don't think the port is used for anything.
2024-01-05 16:57:47 +00:00
dependabot[bot]
66ad1d0f47 build(deps): Bump itertools from 0.11.0 to 0.12.0 in /rust (#2679)
Bumps [itertools](https://github.com/rust-itertools/itertools) from
0.11.0 to 0.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md">itertools's
changelog</a>.</em></p>
<blockquote>
<h2>0.12.0</h2>
<h3>Breaking</h3>
<ul>
<li>Made <code>take_while_inclusive</code> consume iterator by value (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/709">#709</a>)</li>
<li>Added <code>Clone</code> bound to <code>Unique</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/777">#777</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added <code>Itertools::try_len</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/723">#723</a>)</li>
<li>Added free function <code>sort_unstable</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/796">#796</a>)</li>
<li>Added <code>GroupMap::fold_with</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/778">#778</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/785">#785</a>)</li>
<li>Added <code>PeekNth::{peek_mut, peek_nth_mut}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/716">#716</a>)</li>
<li>Added <code>PeekNth::{next_if, next_if_eq}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/734">#734</a>)</li>
<li>Added conversion into <code>(Option&lt;A&gt;,Option&lt;B&gt;)</code>
to <code>EitherOrBoth</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/713">#713</a>)</li>
<li>Added conversion from <code>Either&lt;A, B&gt;</code> to
<code>EitherOrBoth&lt;A, B&gt;</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/715">#715</a>)</li>
<li>Implemented <code>ExactSizeIterator</code> for <code>Tuples</code>
(<a
href="https://redirect.github.com/rust-itertools/itertools/issues/761">#761</a>)</li>
<li>Implemented <code>ExactSizeIterator</code> for
<code>(Circular)TupleWindows</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/752">#752</a>)</li>
<li>Made <code>EitherOrBoth&lt;T&gt;</code> a shorthand for
<code>EitherOrBoth&lt;T, T&gt;</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/719">#719</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Added missing <code>#[must_use]</code> annotations on iterator
adaptors (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/794">#794</a>)</li>
<li>Made <code>Combinations</code> lazy (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/795">#795</a>)</li>
<li>Made <code>Intersperse(With)</code> lazy (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/797">#797</a>)</li>
<li>Made <code>Permutations</code> lazy (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/793">#793</a>)</li>
<li>Made <code>Product</code> lazy (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/800">#800</a>)</li>
<li>Made <code>TupleWindows</code> lazy (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/602">#602</a>)</li>
<li>Specialized <code>Combinations::{count, size_hint}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/729">#729</a>)</li>
<li>Specialized <code>CombinationsWithReplacement::{count,
size_hint}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/737">#737</a>)</li>
<li>Specialized <code>Powerset::fold</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/765">#765</a>)</li>
<li>Specialized <code>Powerset::count</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/735">#735</a>)</li>
<li>Specialized <code>TupleCombinations::{count, size_hint}</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/763">#763</a>)</li>
<li>Specialized <code>TupleCombinations::fold</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/775">#775</a>)</li>
<li>Specialized <code>WhileSome::fold</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/780">#780</a>)</li>
<li>Specialized <code>WithPosition::fold</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/772">#772</a>)</li>
<li>Specialized <code>ZipLongest::fold</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/774">#774</a>)</li>
<li>Changed <code>{min, max}_set*</code> operations require
<code>alloc</code> feature, instead of <code>std</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/760">#760</a>)</li>
<li>Improved documentation of <code>tree_fold1</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/787">#787</a>)</li>
<li>Improved documentation of <code>permutations</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/724">#724</a>)</li>
<li>Fixed typo in documentation of <code>multiunzip</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/770">#770</a>)</li>
</ul>
<h3>Notable Internal Changes</h3>
<ul>
<li>Improved specialization tests (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/799">#799</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/786">#786</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/782">#782</a>)</li>
<li>Simplified implementation of <code>Permutations</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/739">#739</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/748">#748</a>,
<a
href="https://redirect.github.com/rust-itertools/itertools/issues/790">#790</a>)</li>
<li>Combined
<code>Merge</code>/<code>MergeBy</code>/<code>MergeJoinBy</code>
implementations (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/736">#736</a>)</li>
<li>Simplified <code>Permutations::size_hint</code> (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/739">#739</a>)</li>
<li>Fix wrapping arithmetic in benchmarks (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/770">#770</a>)</li>
<li>Enforced <code>rustfmt</code> in CI (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/751">#751</a>)</li>
<li>Disallowed compile warnings in CI (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/720">#720</a>)</li>
<li>Used <code>cargo hack</code> to check MSRV (<a
href="https://redirect.github.com/rust-itertools/itertools/issues/754">#754</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="98ecabb47d"><code>98ecabb</code></a>
chore: Release itertools version 0.12.0</li>
<li><a
href="22fc427ac5"><code>22fc427</code></a>
prepare v0.12.0 release</li>
<li><a
href="6d291786a9"><code>6d29178</code></a>
Document the field <code>a_cur</code> of <code>Product</code></li>
<li><a
href="bf2b0129d1"><code>bf2b012</code></a>
Better <code>Product::size_hint</code></li>
<li><a
href="8d07f6b856"><code>8d07f6b</code></a>
Make <code>Product</code> lazy</li>
<li><a
href="d7e6bab9fd"><code>d7e6bab</code></a>
Document the field <code>peek</code> of
<code>IntersperseWith</code></li>
<li><a
href="9b01a11891"><code>9b01a11</code></a>
Make <code>IntersperseWith</code> lazy</li>
<li><a
href="4f22173b93"><code>4f22173</code></a>
Refactor <code>IntersperseWith::next</code></li>
<li><a
href="b76172b412"><code>b76172b</code></a>
chore: adjust docs to reflect discussion in the PR</li>
<li><a
href="955927f6c4"><code>955927f</code></a>
chore: fixup docs of tree_fold1</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=itertools&package-manager=cargo&previous-version=0.11.0&new-version=0.12.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>
2024-01-05 01:09:27 +00:00
Reactor Scram
12997daf2e fix(windows): set the tunnel's IPv6 address correctly with netsh so IPv6 tunnelling works (#3120)
Tested manually with http://test-ipv6.com:


![image](https://github.com/firezone/firezone/assets/13400041/6d59d6c0-1d5a-4886-bb93-27c612957215)
2024-01-05 00:32:09 +00:00
Reactor Scram
720a50bafa fix(windows): set MTU for IPv6 too (#3121)
This can be seen in `Get-NetIPInterface` even if #3120 isn't merged
2024-01-05 00:31:17 +00:00
Reactor Scram
d8264cf664 feat(windows): implement export logs as zip (#3009)
This will be useful if I'm doing production-like testing in the Windows
Server VM.
2024-01-04 20:35:59 +00:00
Jamil
ce727e7ed5 refactor(portal): Use ghcr.io for public pulls of prod images (#3105)
Noticed our public pulls are coming from `pkg.dev` for prod, so this PR
fixes that so that they're from `ghcr.io` to avoid bandwidth fees and
segregate public pulls from our own infra pulls.

<img width="463" alt="Screenshot 2024-01-03 at 12 42 51 PM"
src="https://github.com/firezone/firezone/assets/167144/22f49996-fe6b-47c7-965f-23d14c9e4e59">
2024-01-04 19:39:47 +00:00
Jamil
47627d7643 fix(staging): Update demo access (#3116)
https://app.terraform.io/app/firezone/workspaces/staging/runs/run-NVEdbCHS9PnwXSF4
2024-01-04 11:39:18 -08:00
Gabi
71410b0553 feat(connlib): wildcard matching dns (#3109)
Fixes #3040
2024-01-04 18:01:14 +00:00
Reactor Scram
3a4f2cf9c0 fix(windows): set MTU on tunnel interface (#2990) 2024-01-03 23:37:38 +00:00
Jamil
d6985470ef fix(ci): Fix artifact name typo (#3108)
https://github.com/firezone/firezone/actions/runs/7402448436
2024-01-03 15:02:05 -08:00
Jamil
6fe5c96b15 fix(ci): Merge digests for same image name and different archs only (#3107)
https://github.com/firezone/firezone/actions/runs/7401857413
2024-01-03 13:11:21 -08:00
Gabi
23666e119b connlib: refactor names (#3104)
Applying suggestions for #3096 since it was merged before I could fix
2024-01-03 20:09:41 +00:00
Jamil
1251397651 fix(ios/android): Pass device name and os version as overrides over connect (#3036)
Fixes #3035 
Fixes #3037 

# Before

<img width="738" alt="Screenshot 2023-12-28 at 8 05 31 AM"
src="https://github.com/firezone/firezone/assets/167144/c7ab4d74-672c-4536-97fe-f75d8d158bfb">

<img width="546" alt="Screenshot 2023-12-28 at 6 12 30 PM"
src="https://github.com/firezone/firezone/assets/167144/1bd4ba98-d11d-4277-bd14-b0afcdf78119">

# After

<img width="742" alt="Screenshot 2023-12-28 at 10 48 31 AM"
src="https://github.com/firezone/firezone/assets/167144/96054f82-069f-47f7-862c-986455ef76c0">
<img width="744" alt="Screenshot 2023-12-28 at 6 29 37 PM"
src="https://github.com/firezone/firezone/assets/167144/4ffc19b6-7c87-4ccb-bcfe-cb0e76fe95b7">
2024-01-03 20:08:33 +00:00
Jamil
7ff2c22316 fix(ci): Use path subdirs for artifacts (#3103)
https://github.com/firezone/firezone/actions/runs/7400101287
2024-01-03 12:03:36 -08:00
Jamil
aefafc1e49 chore(docs): Remove outdated rust/connlib/README.md info (#3099)
This was an artifact leftover from when connlib was in its own repo.
2024-01-03 18:10:52 +00:00
Gabi
52edb12bbe fix(connlib): never delete allowed ips for a peer given dns (#3096)
Fixes #3094 

This will make the "packet unallowed" messages you might see in connlib
and make connections smoother.
2024-01-03 16:39:30 +00:00
Jamil
178d238a2d fix(ci): Add merge_multiple to fix artifact naming. (#3100)
https://github.com/firezone/firezone/actions/runs/7397984675
2024-01-03 15:51:57 +00:00
Roopesh Chander
6f0a7a39c4 fix(apple): In case tunnel crashes, try to reconnect (#3097)
When the tunnel crashes, we won't have a chance to write why the tunnel
disconnected in a file in the tunnel process. In that case too, this PR
makes the app try to reconnect.

Fixes #2898
2024-01-03 15:21:33 +00:00
Roopesh Chander
f48d8ac30a fix(apple): Fix potential race condition when updating login status (#3098)
Fixing a potential race when we update the login status (looking into
the keychain) from the tunnel auth status.

This might have been a cause for #2928 as well.
2024-01-03 13:22:04 +00:00
Jamil
3dc9533a35 fix(ci): Use pattern key (#3095)
https://github.com/actions/download-artifact?tab=readme-ov-file#inputs
2024-01-03 13:19:28 +00:00
Jamil
e65f29c3a3 chore(website): remove PostHog in favor of Mixpanel (#3033)
* Remove PostHog from product
* Remove PostHog from website
* Add Mixpanel to website

Why? PostHog is a bit too much overhead for simple analytics for us for
now, and some of the bugs we hit prevented us from using certain
workflows.

We are still tracking `ping` events from legacy instances in PostHog.
2024-01-03 01:13:01 +00:00
Jamil
e162192bc0 chore(deps): Bump website deps (#3092) 2024-01-02 16:25:09 -08:00
Jamil
3ded0d6170 fix(ci): Fix upload-artifact workflow artifact name (#3093) 2024-01-02 16:24:56 -08:00
Reactor Scram
ed3e76894a wip(windows): impl get_host_name (#3089)
Resolves #3082 
I can remove the debug subcommand before merging. I just wanted to
confirm it gets my laptop's hostname.

connlib already has an indirect dependency on `hostname` via Hickory, so
I just used that.


![image](https://github.com/firezone/firezone/assets/13400041/e1adada4-f3e9-47be-828e-3e1d1cb69e83)
2024-01-02 21:49:57 +00:00
Jamil
cf31112e82 fix(ci): Use unique name for artifacts (#3091)
Fixes
https://github.com/firezone/firezone/actions/runs/7390085822/job/20104967154

See
https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md
2024-01-02 21:08:38 +00:00