Commit Graph

2346 Commits

Author SHA1 Message Date
Jamil
be99babf70 Update LICENSE to include component license clarification for subcomponents (#1806)
This updates the license for the admin portal (`elixir/`) to the Elastic
License v2, keeping other components Apache 2.0 licensed.

What does this mean for 1.0 going forward?

[Elastic's FAQ](https://www.elastic.co/licensing/elastic-license/faq) is
broadly applicable to Firezone as well. Most notably, MSPs may still use
Firezone to provide general remote access services for third party
users, just not to the Firezone admin portal itself (and REST API).

### Why?
We would lose a little bit of business, though one could argue that the
tradeoff is worth it due to increased market exposure/distribution.

The main, tangible reasons for us today involve the negative impact this
has on our ability to reach product-market fit:
1. We lose the direct feedback channel with paying customers, isolating
them (and us) from our roadmap.
2. Reseller licenses should be offered as part of a proper partner
alliance / reseller program when we have the resources to support it,
which will result in a much better experience for all parties involved
(and restore the lost feedback channel).
3. Having outdated, unpatched, and potentially buggy Firezone instances
running in the wild that we have no visibility or insight into is a
major liability to our brand and reputation and may even result in a
legal liability depending on the jurisdiction and severity of the issue.
See [this
example](https://aws.amazon.com/marketplace/pp/prodview-xgj7kkar35gus)
and [this
one](https://aws.amazon.com/marketplace/pp/prodview-jyd73dot3zrnw).
2023-07-20 21:14:38 +00:00
Gabi
06c1a53fae ci: fix test flakiness (#1810) 2023-07-20 21:04:31 +00:00
Jamil
30ccb43ebb apple: Add icons in prep for App Store distribution (#1808)
Adds icons to Apple for app distribution for TestFlight testing.

@pratikvelani -- can these also be used for Android or do we need a
different format? I can add you to our Figma team if you need to slice
the assets directly.
2023-07-20 18:22:10 +00:00
Francesca Lovebloom
e5e18e78a3 connlib: Disconnect on fatal error (#1801)
Resolves firezone/product#619

This additionally removes `ErrorType`:
- `on_error` is now exclusively used for recoverable errors, and no
longer has an `error_type` parameter.
- `on_disconnect` now has an optional `error` parameter, which specifies
the fatal error that caused the disconnect if relevant.
2023-07-19 22:36:06 +00:00
bmanifold
b41c4ed9e4 Create vertical table component for show pages (#1805)
Why:

* The `show` pages for all of the Firezone resources (i.e. Gateways,
Resources, Devices, etc...) were all very similar but were explicitly
defined in individual tables with their styling also explicitly defined
in each table. This commit creates a `vertical_table` component and a
`vertical_table_row` component to allow the styling to be defined once
and then consistently applied to each `show` page.
2023-07-19 18:56:49 +00:00
Jamil
129a8b23f5 Speed up 1.0 animation (#1802) 2023-07-18 20:55:36 -07:00
Jamil
eba9081ca7 Thicker animation strokes; clarify blogpost (#1800) 2023-07-18 15:31:00 -07:00
bmanifold
9a06a9bb14 Refactor Gateway Liveviews to use real data (#1760)
Why:

* The previous Gateway Liveviews had used static views and data as a
starting point for fleshing out the web UI. This commit builds on that
and replaces (most) of the static data with data from the database, as
well as updating the static Liveview templates to use components where
possible.

Note: These changes are only meant to involve the Gateway views
(index/show/edit). More changes to other resources will follow(i.e.
Resource, Users, Devices, etc...)

---------

Signed-off-by: bmanifold <bmanifold@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-07-18 21:15:59 +00:00
Jamil
367c9f1456 Style website legalese (#1799) 2023-07-18 17:23:16 +00:00
Jamil
e44db03fbb Add legalese to website (#1798) 2023-07-17 22:07:46 -07:00
Jamil
504d118539 Announce 1.0 early access (#1791)
- Add 1.0 blogpost
- Update font to `Public Sans` since it has all weights and offers
better readability
- Various layout/style fixes
- Disable kotlin draft release job

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-07-17 22:48:35 +00:00
Pratik Velani
fc3be9a6b3 android: update connlib dependency and integration (#1752)
- Replaced connlib dependency to use `rust/connlib/clients/android/lib`
project
- Added `rust-android-gradle` to android project
- Set the `cargo build` target directory to
`rust/connlib/clients/android/lib/build/cargo-target`
- Moved `logger`, `session`, and `vpn` classes to their independent
packages.
- Added `SessionCallback` contract for the session callbacks.

---------

Signed-off-by: Pratik Velani <pratikvelani@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-17 18:50:39 +00:00
Francesca Lovebloom
e413e96ccb connlib: Refine callbacks (#1776)
This follows-up on the discussion in #1744 and brings connlib in line
with the callback revisions outlined in firezone/product#586

(It also adds some logging to the Apple bridge that was helpful when
testing this)

---------

Co-authored-by: Roopesh Chander <roop@roopc.net>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-17 18:26:46 +00:00
dependabot[bot]
ed8a74e642 Bump hashicorp/tfc-workflows-github from 1.0.0 to 1.0.2 (#1780)
Bumps
[hashicorp/tfc-workflows-github](https://github.com/hashicorp/tfc-workflows-github)
from 1.0.0 to 1.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/releases">hashicorp/tfc-workflows-github's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.2</h2>
<p>Bug fixes from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.0.2">tfc-workflows-tooling@v1.0.2</a>
version bump.</p>
<h2>v1.0.1</h2>
<p>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.0.1">tfc-workflows-tooling@v1.0.1</a>
version bump</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/tfc-workflows-github/blob/main/CHANGELOG.md">hashicorp/tfc-workflows-github's
changelog</a>.</em></p>
<blockquote>
<h1>v1.0.2</h1>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.0.2">tfc-workflows-tooling@v1.0.2</a>
version bump</li>
</ul>
<h1>v1.0.1</h1>
<ul>
<li>Bug fixes and enhancements from <a
href="https://github.com/hashicorp/tfc-workflows-tooling/releases/tag/v1.0.1">tfc-workflows-tooling@v1.0.1</a>
version bump</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="02ae73d5f2"><code>02ae73d</code></a>
Prepare for v1.0.2 (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/11">#11</a>)</li>
<li><a
href="c198b4e6a2"><code>c198b4e</code></a>
Prepare v1.0.1 release (<a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/8">#8</a>)</li>
<li><a
href="c18b3c5402"><code>c18b3c5</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/6">#6</a>
from raisedadead/fix/comment-in-actions</li>
<li><a
href="e79c9911cd"><code>e79c991</code></a>
fix(workflows): adjust the PR comment for formatting</li>
<li><a
href="90c7396325"><code>90c7396</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/4">#4</a>
from juicybaba/main</li>
<li><a
href="1179034dd0"><code>1179034</code></a>
fix: update use to uses</li>
<li><a
href="e3eae1bb99"><code>e3eae1b</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/3">#3</a>
from hashicorp/mjyocca/add-pr-template</li>
<li><a
href="e0a9002100"><code>e0a9002</code></a>
add pull request template</li>
<li><a
href="71bf0a0e30"><code>71bf0a0</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/tfc-workflows-github/issues/2">#2</a>
from hashicorp/mjyocca/add-change-log-cleanup</li>
<li><a
href="e9851adbf1"><code>e9851ad</code></a>
fix descriptions and add links to docs</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/tfc-workflows-github/compare/v1.0.0...v1.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashicorp/tfc-workflows-github&package-manager=github_actions&previous-version=1.0.0&new-version=1.0.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 ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-15 17:30:51 +00:00
Jamil
3c2b0c7505 Pass checks with proper matrix args (#1795) 2023-07-15 00:05:48 -07:00
Jamil
b782436f98 Fix Rust/Swift caching and parallelize swift build (#1793)
- Renames remnants of `cloud` ref to `main`
- Uses matrix for macOS, iphoneos builds
2023-07-14 23:09:15 -07:00
dependabot[bot]
5af2b45034 Bump rack from 2.2.4 to 2.2.7 in /kotlin/android/PortalMock (#1778)
Bumps [rack](https://github.com/rack/rack) from 2.2.4 to 2.2.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rack/rack/releases">rack's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.7</h2>
<h2>What's Changed</h2>
<ul>
<li>Correct the year number in the changelog by <a
href="https://github.com/kimulab"><code>@​kimulab</code></a> in <a
href="https://redirect.github.com/rack/rack/pull/2015">rack/rack#2015</a></li>
<li>Support underscore in host names for Rack 2.2 (Fixes <a
href="https://redirect.github.com/rack/rack/issues/2070">#2070</a>) by
<a href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>
in <a
href="https://redirect.github.com/rack/rack/pull/2071">rack/rack#2071</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kimulab"><code>@​kimulab</code></a> made
their first contribution in <a
href="https://redirect.github.com/rack/rack/pull/2015">rack/rack#2015</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7">https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7</a></p>
<h2>v2.2.6.4</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rack/rack/blob/main/CHANGELOG.md">rack's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file.
For info on how to format all future additions to this file please
reference <a href="https://keepachangelog.com/en/1.0.0/">Keep A
Changelog</a>.</p>
<h2>Unreleased</h2>
<h3>SPEC Changes</h3>
<ul>
<li><code>rack.input</code> is now optional. (<a
href="https://redirect.github.com/rack/rack/pull/1997">#1997</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>rack.input</code> is now optional, and if missing, will raise
an error. Use this to fail on multipart parsing a request without an
input body. (<a
href="https://redirect.github.com/rack/rack/pull/2018">#2018</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
<li>Introduce <code>module Rack::BadRequest</code> which is included in
multipart and query parser errors. (<a
href="https://redirect.github.com/rack/rack/pull/2019">#2019</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
<li>MIME type for JavaScript files (<code>.js</code>) changed from
<code>application/javascript</code> to <code>text/javascript</code> (<a
href="1bd0f1597d"><code>1bd0f15</code></a>)</li>
<li>Add <code>.mjs</code> MIME type (<a
href="https://redirect.github.com/rack/rack/pull/2057">#2057</a>, [<a
href="https://github.com/axilleas"><code>@​axilleas</code></a>])</li>
<li>Update MIME types associated to <code>.ttf</code>,
<code>.woff</code>, <code>.woff2</code> and <code>.otf</code> extensions
to use mondern <code>font/*</code> types. (<a
href="https://redirect.github.com/rack/rack/pull/2065">#2065</a>, [<a
href="https://github.com/davidstosik"><code>@​davidstosik</code></a>])</li>
</ul>
<h2>[3.0.8] - 2023-06-14</h2>
<ul>
<li>Fix some unused variable verbose warnings. (<a
href="https://redirect.github.com/rack/rack/pull/2084">#2084</a>, [<a
href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>],
<a
href="https://github.com/skipkayhil"><code>@​skipkayhil</code></a>)</li>
</ul>
<h2>[3.0.7] - 2023-03-16</h2>
<ul>
<li>Make query parameters without <code>=</code> have <code>nil</code>
values. (<a
href="https://redirect.github.com/rack/rack/pull/2059">#2059</a>, [<a
href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>])</li>
</ul>
<h2>[3.0.6.1] - 2023-03-13</h2>
<ul>
<li>[CVE-2023-27539] Avoid ReDoS in header parsing</li>
</ul>
<h2>[3.0.6] - 2023-03-13</h2>
<ul>
<li>Add <code>QueryParser#missing_value</code> for handling missing
values + tests. (<a
href="https://redirect.github.com/rack/rack/pull/2052">#2052</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
</ul>
<h2>[3.0.5] - 2023-03-13</h2>
<ul>
<li>Split form/query parsing into two steps. (<a
href="https://redirect.github.com/rack/rack/pull/2038">#2038</a>, <a
href="https://github.com/matthewd"><code>@​matthewd</code></a>)</li>
</ul>
<h2>[3.0.4.2] - 2023-03-02</h2>
<ul>
<li>[CVE-2023-27530] Introduce multipart_total_part_limit to limit total
parts</li>
</ul>
<h2>[3.0.4.1] - 2023-01-17</h2>
<ul>
<li>[CVE-2022-44571] Fix ReDoS vulnerability in multipart parser</li>
<li>[CVE-2022-44570] Fix ReDoS in Rack::Utils.get_byte_ranges</li>
<li>[CVE-2022-44572] Forbid control characters in attributes (also
ReDoS)</li>
</ul>
<h2>[3.0.4] - 2023-01-17</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="983b6e3b29"><code>983b6e3</code></a>
Bump patch version.</li>
<li><a
href="e5a30bf548"><code>e5a30bf</code></a>
Support underscore in host names for Rack 2.2 (Fixes <a
href="https://redirect.github.com/rack/rack/issues/2070">#2070</a>) (<a
href="https://redirect.github.com/rack/rack/issues/2071">#2071</a>)</li>
<li><a
href="70185aa15a"><code>70185aa</code></a>
Merge branch '2-2-sec' into 2-2-stable</li>
<li><a
href="27addc7f1a"><code>27addc7</code></a>
bump version</li>
<li><a
href="ee7919ea04"><code>ee7919e</code></a>
Avoid ReDoS problem</li>
<li><a
href="6f79642d90"><code>6f79642</code></a>
Merge branch '2-2-sec' into 2-2-stable</li>
<li><a
href="d6b5b2bab8"><code>d6b5b2b</code></a>
bump version</li>
<li><a
href="9aac3757fe"><code>9aac375</code></a>
Limit all multipart parts, not just files</li>
<li><a
href="cd4c9f0e4b"><code>cd4c9f0</code></a>
Correct the year in the changelog (<a
href="https://redirect.github.com/rack/rack/issues/2015">#2015</a>)</li>
<li><a
href="2606ac5d5d"><code>2606ac5</code></a>
bumping version</li>
<li>Additional commits viewable in <a
href="https://github.com/rack/rack/compare/2.2.4...v2.2.7">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 21:02:43 +00:00
dependabot[bot]
fe77897da6 Bump rack from 2.2.4 to 2.2.7 in /swift/apple/PortalMock (#1782)
Bumps [rack](https://github.com/rack/rack) from 2.2.4 to 2.2.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rack/rack/releases">rack's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.7</h2>
<h2>What's Changed</h2>
<ul>
<li>Correct the year number in the changelog by <a
href="https://github.com/kimulab"><code>@​kimulab</code></a> in <a
href="https://redirect.github.com/rack/rack/pull/2015">rack/rack#2015</a></li>
<li>Support underscore in host names for Rack 2.2 (Fixes <a
href="https://redirect.github.com/rack/rack/issues/2070">#2070</a>) by
<a href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>
in <a
href="https://redirect.github.com/rack/rack/pull/2071">rack/rack#2071</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kimulab"><code>@​kimulab</code></a> made
their first contribution in <a
href="https://redirect.github.com/rack/rack/pull/2015">rack/rack#2015</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7">https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7</a></p>
<h2>v2.2.6.4</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rack/rack/blob/main/CHANGELOG.md">rack's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file.
For info on how to format all future additions to this file please
reference <a href="https://keepachangelog.com/en/1.0.0/">Keep A
Changelog</a>.</p>
<h2>Unreleased</h2>
<h3>SPEC Changes</h3>
<ul>
<li><code>rack.input</code> is now optional. (<a
href="https://redirect.github.com/rack/rack/pull/1997">#1997</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>rack.input</code> is now optional, and if missing, will raise
an error. Use this to fail on multipart parsing a request without an
input body. (<a
href="https://redirect.github.com/rack/rack/pull/2018">#2018</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
<li>Introduce <code>module Rack::BadRequest</code> which is included in
multipart and query parser errors. (<a
href="https://redirect.github.com/rack/rack/pull/2019">#2019</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
<li>MIME type for JavaScript files (<code>.js</code>) changed from
<code>application/javascript</code> to <code>text/javascript</code> (<a
href="1bd0f1597d"><code>1bd0f15</code></a>)</li>
<li>Add <code>.mjs</code> MIME type (<a
href="https://redirect.github.com/rack/rack/pull/2057">#2057</a>, [<a
href="https://github.com/axilleas"><code>@​axilleas</code></a>])</li>
<li>Update MIME types associated to <code>.ttf</code>,
<code>.woff</code>, <code>.woff2</code> and <code>.otf</code> extensions
to use mondern <code>font/*</code> types. (<a
href="https://redirect.github.com/rack/rack/pull/2065">#2065</a>, [<a
href="https://github.com/davidstosik"><code>@​davidstosik</code></a>])</li>
</ul>
<h2>[3.0.8] - 2023-06-14</h2>
<ul>
<li>Fix some unused variable verbose warnings. (<a
href="https://redirect.github.com/rack/rack/pull/2084">#2084</a>, [<a
href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>],
<a
href="https://github.com/skipkayhil"><code>@​skipkayhil</code></a>)</li>
</ul>
<h2>[3.0.7] - 2023-03-16</h2>
<ul>
<li>Make query parameters without <code>=</code> have <code>nil</code>
values. (<a
href="https://redirect.github.com/rack/rack/pull/2059">#2059</a>, [<a
href="https://github.com/jeremyevans"><code>@​jeremyevans</code></a>])</li>
</ul>
<h2>[3.0.6.1] - 2023-03-13</h2>
<ul>
<li>[CVE-2023-27539] Avoid ReDoS in header parsing</li>
</ul>
<h2>[3.0.6] - 2023-03-13</h2>
<ul>
<li>Add <code>QueryParser#missing_value</code> for handling missing
values + tests. (<a
href="https://redirect.github.com/rack/rack/pull/2052">#2052</a>, [<a
href="https://github.com/ioquatix"><code>@​ioquatix</code></a>])</li>
</ul>
<h2>[3.0.5] - 2023-03-13</h2>
<ul>
<li>Split form/query parsing into two steps. (<a
href="https://redirect.github.com/rack/rack/pull/2038">#2038</a>, <a
href="https://github.com/matthewd"><code>@​matthewd</code></a>)</li>
</ul>
<h2>[3.0.4.2] - 2023-03-02</h2>
<ul>
<li>[CVE-2023-27530] Introduce multipart_total_part_limit to limit total
parts</li>
</ul>
<h2>[3.0.4.1] - 2023-01-17</h2>
<ul>
<li>[CVE-2022-44571] Fix ReDoS vulnerability in multipart parser</li>
<li>[CVE-2022-44570] Fix ReDoS in Rack::Utils.get_byte_ranges</li>
<li>[CVE-2022-44572] Forbid control characters in attributes (also
ReDoS)</li>
</ul>
<h2>[3.0.4] - 2023-01-17</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="983b6e3b29"><code>983b6e3</code></a>
Bump patch version.</li>
<li><a
href="e5a30bf548"><code>e5a30bf</code></a>
Support underscore in host names for Rack 2.2 (Fixes <a
href="https://redirect.github.com/rack/rack/issues/2070">#2070</a>) (<a
href="https://redirect.github.com/rack/rack/issues/2071">#2071</a>)</li>
<li><a
href="70185aa15a"><code>70185aa</code></a>
Merge branch '2-2-sec' into 2-2-stable</li>
<li><a
href="27addc7f1a"><code>27addc7</code></a>
bump version</li>
<li><a
href="ee7919ea04"><code>ee7919e</code></a>
Avoid ReDoS problem</li>
<li><a
href="6f79642d90"><code>6f79642</code></a>
Merge branch '2-2-sec' into 2-2-stable</li>
<li><a
href="d6b5b2bab8"><code>d6b5b2b</code></a>
bump version</li>
<li><a
href="9aac3757fe"><code>9aac375</code></a>
Limit all multipart parts, not just files</li>
<li><a
href="cd4c9f0e4b"><code>cd4c9f0</code></a>
Correct the year in the changelog (<a
href="https://redirect.github.com/rack/rack/issues/2015">#2015</a>)</li>
<li><a
href="2606ac5d5d"><code>2606ac5</code></a>
bumping version</li>
<li>Additional commits viewable in <a
href="https://github.com/rack/rack/compare/2.2.4...v2.2.7">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 19:48:28 +00:00
Andrew Dryga
3ae4c709a8 Remove Swoosh compilation dependency (#1771)
I also enabled check for email config before enabling email provider.
2023-07-13 12:09:56 -06:00
dependabot[bot]
d10e4749e1 Bump codespell from 2.2.4 to 2.2.5 (#1779)
Bumps [codespell](https://github.com/codespell-project/codespell) from
2.2.4 to 2.2.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codespell-project/codespell/releases">codespell's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.5</h2>
<h2>What's Changed</h2>
<ul>
<li>Add fixing consciousely typo by <a
href="https://github.com/yarikoptic"><code>@​yarikoptic</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2777">codespell-project/codespell#2777</a></li>
<li>atalog typo (saw twice in a project) by <a
href="https://github.com/yarikoptic"><code>@​yarikoptic</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2782">codespell-project/codespell#2782</a></li>
<li>created fstrings by <a
href="https://github.com/marksmayo"><code>@​marksmayo</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2784">codespell-project/codespell#2784</a></li>
<li>Replace bandit, isort, pylint, pyupgrade, and flake8 plus plugins
with ruff by <a
href="https://github.com/cclauss"><code>@​cclauss</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2779">codespell-project/codespell#2779</a></li>
<li>Add Microsoft Mispelling by <a
href="https://github.com/Casey-Kiewit"><code>@​Casey-Kiewit</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2789">codespell-project/codespell#2789</a></li>
<li>Use Latest Version In README Pre-Commit Example by <a
href="https://github.com/Casey-Kiewit"><code>@​Casey-Kiewit</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2788">codespell-project/codespell#2788</a></li>
<li>ruff: Use format specifiers instead of percent format by <a
href="https://github.com/cclauss"><code>@​cclauss</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2787">codespell-project/codespell#2787</a></li>
<li>New typos by <a
href="https://github.com/gforcada"><code>@​gforcada</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2793">codespell-project/codespell#2793</a></li>
<li>Ruff: Ignore new rule PLC1901 by <a
href="https://github.com/cclauss"><code>@​cclauss</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2797">codespell-project/codespell#2797</a></li>
<li>Add various typo fixes by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2795">codespell-project/codespell#2795</a></li>
<li>Another suggestion by <a
href="https://github.com/gforcada"><code>@​gforcada</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2798">codespell-project/codespell#2798</a></li>
<li>Fix AssertionError when opening with chardet by <a
href="https://github.com/n-thumann"><code>@​n-thumann</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2785">codespell-project/codespell#2785</a></li>
<li>Fix typo (and variants) from xxHash by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2761">codespell-project/codespell#2761</a></li>
<li>Add <code>huld</code>-&gt;<code>hold</code> Spelling Mistake by <a
href="https://github.com/Casey-Kiewit"><code>@​Casey-Kiewit</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2792">codespell-project/codespell#2792</a></li>
<li>Fix CI issues by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2796">codespell-project/codespell#2796</a></li>
<li>CI: fix new ruff error B028 by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2802">codespell-project/codespell#2802</a></li>
<li>Skip subdirectories of hidden directories by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2541">codespell-project/codespell#2541</a></li>
<li>Add tweek(s)-&gt;tweak(s) correction by <a
href="https://github.com/cfi-gb"><code>@​cfi-gb</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2804">codespell-project/codespell#2804</a></li>
<li>Add supoort-&gt;support by <a
href="https://github.com/thughes"><code>@​thughes</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2806">codespell-project/codespell#2806</a></li>
<li>Add Suggestion For <code>readded</code> Mispelling by <a
href="https://github.com/Casey-Kiewit"><code>@​Casey-Kiewit</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2805">codespell-project/codespell#2805</a></li>
<li>Add displaing-&gt;displaying by <a
href="https://github.com/peternewman"><code>@​peternewman</code></a> in
<a
href="https://redirect.github.com/codespell-project/codespell/pull/2808">codespell-project/codespell#2808</a></li>
<li>Another suggestion for stati by <a
href="https://github.com/gforcada"><code>@​gforcada</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2810">codespell-project/codespell#2810</a></li>
<li>Add dimaond -&gt; diamond by <a
href="https://github.com/Moiman"><code>@​Moiman</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2813">codespell-project/codespell#2813</a></li>
<li>Add vai-&gt;via, vie by <a
href="https://github.com/peternewman"><code>@​peternewman</code></a> in
<a
href="https://redirect.github.com/codespell-project/codespell/pull/2815">codespell-project/codespell#2815</a></li>
<li>Remove invalid correction - Kwanza = currency of Angola by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2803">codespell-project/codespell#2803</a></li>
<li>sinoid and friends by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2807">codespell-project/codespell#2807</a></li>
<li>Add excludle-&gt;exclude by <a
href="https://github.com/peternewman"><code>@​peternewman</code></a> in
<a
href="https://redirect.github.com/codespell-project/codespell/pull/2814">codespell-project/codespell#2814</a></li>
<li>Add gadjet-&gt;gadget and friend by <a
href="https://github.com/peternewman"><code>@​peternewman</code></a> in
<a
href="https://redirect.github.com/codespell-project/codespell/pull/2818">codespell-project/codespell#2818</a></li>
<li>Add togueter-&gt;together by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2821">codespell-project/codespell#2821</a></li>
<li>Add &quot;mutabl-&gt;mutable&quot; by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2822">codespell-project/codespell#2822</a></li>
<li>Add containin-&gt;containing by <a
href="https://github.com/janosh"><code>@​janosh</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2824">codespell-project/codespell#2824</a></li>
<li>Add mandess-&gt;madness by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2825">codespell-project/codespell#2825</a></li>
<li>some fixes by <a
href="https://github.com/marksmayo"><code>@​marksmayo</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2820">codespell-project/codespell#2820</a></li>
<li>Fix new ruff errors reported by CI by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2834">codespell-project/codespell#2834</a></li>
<li>Add fusipn-&gt;fusion by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2836">codespell-project/codespell#2836</a></li>
<li>Add 'subcription-&gt;subscription' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2832">codespell-project/codespell#2832</a></li>
<li>Add 'promtp-&gt;prompt' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2833">codespell-project/codespell#2833</a></li>
<li>Add 'endpdoint' as a misspelling of 'endpoint' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2830">codespell-project/codespell#2830</a></li>
<li>Add more misspellings of 'identities' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2829">codespell-project/codespell#2829</a></li>
<li>Friends of existing typos by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2837">codespell-project/codespell#2837</a></li>
<li>Fix 66ec667 by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2838">codespell-project/codespell#2838</a></li>
<li>equivallent and friends by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2827">codespell-project/codespell#2827</a></li>
<li>Add delpoys-&gt;deploys by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2842">codespell-project/codespell#2842</a></li>
<li>Added variations on 'difference' by <a
href="https://github.com/luzpaz"><code>@​luzpaz</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2841">codespell-project/codespell#2841</a></li>
<li>Add 'canoncical-&gt;canonical' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2831">codespell-project/codespell#2831</a></li>
<li>Add additional typos by <a
href="https://github.com/kianmeng"><code>@​kianmeng</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2835">codespell-project/codespell#2835</a></li>
<li>Add spelling corrections for inject and variants. by <a
href="https://github.com/cfi-gb"><code>@​cfi-gb</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2846">codespell-project/codespell#2846</a></li>
<li>Add 'credentail-&gt;credential' by <a
href="https://github.com/sirosen"><code>@​sirosen</code></a> in <a
href="https://redirect.github.com/codespell-project/codespell/pull/2844">codespell-project/codespell#2844</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="355e50e14f"><code>355e50e</code></a>
Add <code>pre-poulate</code> Misspellings (<a
href="https://redirect.github.com/codespell-project/codespell/issues/2878">#2878</a>)</li>
<li><a
href="463ac02940"><code>463ac02</code></a>
Ignore 'misspellings' due to string escapes (<a
href="https://redirect.github.com/codespell-project/codespell/issues/2875">#2875</a>)</li>
<li><a
href="44b540e8c7"><code>44b540e</code></a>
Add <code>afile</code> Misspelling (<a
href="https://redirect.github.com/codespell-project/codespell/issues/2876">#2876</a>)</li>
<li><a
href="c026c9f9fb"><code>c026c9f</code></a>
Add wellplate -&gt; well plate</li>
<li><a
href="9292528b65"><code>9292528</code></a>
Add optiona-&gt;optional</li>
<li><a
href="995a8f24d9"><code>995a8f2</code></a>
Update dictionary.txt</li>
<li><a
href="272e5d5c28"><code>272e5d5</code></a>
Add strin-&gt;string</li>
<li><a
href="596a7e904c"><code>596a7e9</code></a>
Add &quot;multiply&quot;/&quot;multiplies&quot; variations to instances
of &quot;multiple&quot;</li>
<li><a
href="e2d0c6f11d"><code>e2d0c6f</code></a>
Add <code>alloccat*-&gt;allocat*</code></li>
<li><a
href="814ec6c222"><code>814ec6c</code></a>
Add <code>invirant{,s}-&gt;invariant{,s}</code></li>
<li>Additional commits viewable in <a
href="https://github.com/codespell-project/codespell/compare/v2.2.4...v2.2.5">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 17:17:02 +00:00
Jamil
d9be154e98 Product Roadmap (#1740)
This PR adds a product roadmap landing page to our marketing site. The
primary goal is to keep our users informed about major new upcoming
features and releases while still allow enough flexibility around
timeline expectations so that we aren't crunching to meet arbitrary
deadlines.
2023-07-13 17:00:08 +00:00
Jamil
69115cb975 Add repo reorganization notice for 1.0 (#1777)
Add a reorganization disclaimer pointing to the old `legacy` branch.

Will have a new README prepared with appropriate marketing content later
alongside the 1.0 announcement blogpost. This will keep engineers
unblocked and things tidy in the meantime.
2023-07-13 15:43:23 +00:00
dependabot[bot]
0befba1224 Bump pre-commit from 3.2.1 to 3.3.3 (#1781)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.1
to 3.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/releases">pre-commit's
releases</a>.</em></p>
<blockquote>
<h2>pre-commit v3.3.3</h2>
<h3>Fixes</h3>
<ul>
<li>Work around OS packagers setting <code>--install-dir</code> /
<code>--bin-dir</code> in gem settings.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2905">#2905</a>
PR by <a
href="https://github.com/jaysoffian"><code>@​jaysoffian</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2799">#2799</a>
issue by <a
href="https://github.com/lmilbaum"><code>@​lmilbaum</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v3.3.2</h2>
<h3>Fixes</h3>
<ul>
<li>Work around <code>r</code> on windows sometimes double-un-quoting
arguments.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2885">#2885</a>
PR by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2870">#2870</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v3.3.1</h2>
<h3>Fixes</h3>
<ul>
<li>Work around <code>git</code> partial clone bug for
<code>autoupdate</code> on windows.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2866">#2866</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2865">#2865</a>
issue by <a
href="https://github.com/adehad"><code>@​adehad</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v3.3.0</h2>
<h3>Features</h3>
<ul>
<li>Upgrade ruby-build.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2846">#2846</a>
PR by <a
href="https://github.com/jalessio"><code>@​jalessio</code></a>.</li>
</ul>
</li>
<li>Use blobless clone for faster autoupdate.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2859">#2859</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Add <code>-j</code> / <code>--jobs</code> argument to
<code>autoupdate</code> for parallel execution.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2863">#2863</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li>issue by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a>.</li>
</ul>
</li>
</ul>
<h2>pre-commit v3.2.2</h2>
<h3>Fixes</h3>
<ul>
<li>Fix support for swift &gt;= 5.8.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2836">#2836</a>
PR by <a
href="https://github.com/edelabar"><code>@​edelabar</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2835">#2835</a>
issue by <a
href="https://github.com/kgrobelny-intive"><code>@​kgrobelny-intive</code></a>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md">pre-commit's
changelog</a>.</em></p>
<blockquote>
<h1>3.3.3 - 2023-06-13</h1>
<h3>Fixes</h3>
<ul>
<li>Work around OS packagers setting <code>--install-dir</code> /
<code>--bin-dir</code> in gem settings.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2905">#2905</a>
PR by <a
href="https://github.com/jaysoffian"><code>@​jaysoffian</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2799">#2799</a>
issue by <a
href="https://github.com/lmilbaum"><code>@​lmilbaum</code></a>.</li>
</ul>
</li>
</ul>
<h1>3.3.2 - 2023-05-17</h1>
<h3>Fixes</h3>
<ul>
<li>Work around <code>r</code> on windows sometimes double-un-quoting
arguments.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2885">#2885</a>
PR by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2870">#2870</a>
issue by <a
href="https://github.com/lorenzwalthert"><code>@​lorenzwalthert</code></a>.</li>
</ul>
</li>
</ul>
<h1>3.3.1 - 2023-05-02</h1>
<h3>Fixes</h3>
<ul>
<li>Work around <code>git</code> partial clone bug for
<code>autoupdate</code> on windows.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2866">#2866</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2865">#2865</a>
issue by <a
href="https://github.com/adehad"><code>@​adehad</code></a>.</li>
</ul>
</li>
</ul>
<h1>3.3.0 - 2023-05-01</h1>
<h3>Features</h3>
<ul>
<li>Upgrade ruby-build.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2846">#2846</a>
PR by <a
href="https://github.com/jalessio"><code>@​jalessio</code></a>.</li>
</ul>
</li>
<li>Use blobless clone for faster autoupdate.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2859">#2859</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
</ul>
</li>
<li>Add <code>-j</code> / <code>--jobs</code> argument to
<code>autoupdate</code> for parallel execution.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2863">#2863</a>
PR by <a
href="https://github.com/asottile"><code>@​asottile</code></a>.</li>
<li>issue by <a
href="https://github.com/gaborbernat"><code>@​gaborbernat</code></a>.</li>
</ul>
</li>
</ul>
<h1>3.2.2 - 2023-04-03</h1>
<h3>Fixes</h3>
<ul>
<li>Fix support for swift &gt;= 5.8.
<ul>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2836">#2836</a>
PR by <a
href="https://github.com/edelabar"><code>@​edelabar</code></a>.</li>
<li><a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2835">#2835</a>
issue by <a
href="https://github.com/kgrobelny-intive"><code>@​kgrobelny-intive</code></a>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5da4258b17"><code>5da4258</code></a>
v3.3.3</li>
<li><a
href="e891f8606e"><code>e891f86</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2905">#2905</a>
from jaysoffian/fix-gem-install</li>
<li><a
href="50b1511a5b"><code>50b1511</code></a>
[pre-commit.ci] auto fixes from pre-commit.com hooks</li>
<li><a
href="9a7ed8be09"><code>9a7ed8b</code></a>
Force gem installation into envdir</li>
<li><a
href="f073f8e13c"><code>f073f8e</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2904">#2904</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="1fc28903ab"><code>1fc2890</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="c7f472d176"><code>c7f472d</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2903">#2903</a>
from pre-commit/pre-commit-ci-update-config</li>
<li><a
href="5d273951e0"><code>5d27395</code></a>
[pre-commit.ci] auto fixes from pre-commit.com hooks</li>
<li><a
href="f88cc61256"><code>f88cc61</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="c716de12f7"><code>c716de1</code></a>
Merge pull request <a
href="https://redirect.github.com/pre-commit/pre-commit/issues/2901">#2901</a>
from pre-commit/all-repos_autofix_all-repos-sed</li>
<li>Additional commits viewable in <a
href="https://github.com/pre-commit/pre-commit/compare/v3.2.1...v3.3.3">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 15:14:41 +00:00
Jamil
dbc564f3ae Fix install script location (#1789) 2023-07-13 06:53:48 -07:00
Roopesh Chander
9ad557f568 Integrate connlib build into apple build (#1759)
This PR improves the build process for the macOS / iOS apps by building
connlib as part of the macOS / iOS app build.

Fixes firezone/product#625.

This is how the build would work after this PR:
- `build-rust.sh` creates `libconnlib.a` for the appropriate target
triples only. lipo is not used. When creating macOS debug builds, it’s
built only for the native architecture.
- The network extension targets in the Xcode project set a library
search path as the cargo target dir, so that the Xcode build for a
target triple can pickup the appropriate `libconnlib.a` at link time.

Swift code reorganizations:
  - connlib’s Adapter has moved to the main app
- connlib’s CallbackHandler’s logic has moved to Adapter, which is set
as CallbackHandler’s delegate. The CallbackHandler serves as an
interface to receive callbacks from the FFI. In case we need to change
the FFI, CallbackHandler should change as well, so it remains in the
connlib directory. In case of changes to the Rust FFI, as part of the
Rust FFI change PR, we can modify the CallbackHandler class and leave
the delegate unchanged, so that the app can continue to be built without
errors.
- `Connlib.xcodeproject` and build scripts for building
`Connlib.xcframework` are removed
- Connlib headers and Swift files are copied to
`FirezoneNetworkExtension/Connlib` as part of the build process, and
used from there.

Rust build changes:
- The rust target dir remains the same, but it’s ~~passed explicitly as
`--target-dir`~~ used to set `CARGO_TARGET_DIR`, so that the same target
dir can be used to populate Xcode’s library search paths
- The `build.rs` for connlib-apple had lots of code to build Swift code
as part of the Rust build. This PR reverts it to the previous simple
version. With this PR, building connlib-apple (i.e. running
`build-rust.sh`) only builds the Rust code.
- ~~We set `cargo:rerun-if-env-changed=CONNLIB_MOCK`.~~ We don't set
this because it's not required.
- The Rust CI job for building connlib-apple is removed. It's built when
the macOS / iOS apps are built in swift.yml. This means that with this
PR, connlib-apple is tested only when `rust/connlib/**` changes, not
when `rust/**` changes. Is that ok?

Other changes not directly related to the build process change but part
of this PR:
  - There’s a cleanup script: `./cleanup.sh`
  - Fixed a typo in `swift-pass-checks.yml`: “paths-ginore”
2023-07-13 05:23:24 +00:00
Jamil
3023c716c9 Add updates from master that we want in cloud (#1774)
Adds the changes we want to keep in cloud in prep for #1726:

- `website/`
- `.codespellrc` updates
- `README.md` updates
2023-07-13 02:54:44 +00:00
Andrew Dryga
7746bb69f7 Fix health checks path 2023-07-11 15:52:23 -06:00
Andrew Dryga
30800ddb75 Fix flaky test 2023-07-11 14:19:24 -06:00
Andrew Dryga
4f16caa5ff Add slack notification for failed deployments 2023-07-11 14:19:23 -06:00
Francesca Lovebloom
58c2ce5e80 connlib: Hook up callbacks (#1744)
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-11 19:40:35 +00:00
Gabi
b70124f090 headless & gateway: impl callbacks (#1757)
After rebasing over this #1744 CI should pass
2023-07-11 18:17:33 +00:00
Francesca Lovebloom
a71309a02a connlib: Use latest swift-bridge release (#1753)
A new version of `swift-bridge` released today, so we don't need it to
be a git dependency anymore.
2023-07-11 17:57:25 +00:00
Thomas Eizinger
d03865d92e fix(relay): reuse delete_allocation function (#1743)
Previously, we would access the state around allocations from different
places. This actually led to a minor memory leak where we wouldn't clean
up the `allocations_by_port` table. We refactor the code slightly to
avoid this.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-10 23:05:35 +00:00
Gabi
45c921b69e Feat/expire peers (#1739)
This PR takes care of expiring connections with peer from the gateway
side.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-10 22:28:32 +00:00
Jamil
1ffd08f2db Move NoopAdapter to Domain app (#1756)
Workaround for this:

https://github.com/elixir-lang/elixir/issues/12777
2023-07-10 15:00:29 -07:00
Jamil
d27da5ee3d Fix cache for Docker buildx (#1750)
~~This is an attempt to fix the CI bug
[here](https://github.com/firezone/firezone/actions/runs/5491388141/jobs/10007864417#step:4:1638)
possibly introduced in
[d9eb2d18](https://github.com/firezone/firezone/commit/d9eb2d18#diff-88bd94db0d5cfd5f0617b7c4ed48c0212597378ed7e28714c5d86c95999b4c7dR29)
and uncovered / exacerbated in Elixir 1.15~~

Edit: looks like this ended up being a couple cache issues with GitHub
actions:
1. The `elixir_api-container-build` cache would always overwrite the
`elixir_web-container-build` on subsequent builds of the same
`github.ref_name` (cache is scoped to branch name by default), leading
to the consistent error `Elixir.Web.Mailer.NoopAdapter does not exist`
whenever a branch was pushed to more than once.
2. The same thing happens with the `integration_test-basic-flow` job
because the `api` service gets built after the `web` service in
docker-compose.yml, overwriting its cache

For some reason it seems the `APPLICATION_NAME` ARG is not busting the
Docker cache properly on GitHub actions for elixir container builds, so
the fix here was to [use
`scope=`](https://docs.docker.com/build/cache/backends/gha/#scope) to
segregate the cache layers between builds of the same branch.
2023-07-10 17:30:09 +00:00
Jamil
aadf8fd866 Pass-checks workflow per subdir (#1749) 2023-07-07 16:25:21 -07:00
Jamil
35eeb9904c Pass all required checks that weren't triggered in the PR (#1748)
Fixes #1747 
Fixes #1746
2023-07-07 15:04:42 -07:00
Thomas Eizinger
f5c1b5a78e feat(relay): use structured logging (#1741)
With this patch, the relay exposes a `--json` and `JSON_LOG` env
variable that will activate logs in JSON format the way it is expected
by google cloud:
https://cloud.google.com/logging/docs/structured-logging

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

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

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

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

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

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-07 18:15:18 +00:00
Roopesh Chander
c9c13e1e11 Bring in apple client into monorepo (#1737)
This PR brings in the apple client into the monorepo.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-07 10:37:24 -07:00
Pratik Velani
e23dbeab60 Add android client to the repo (#1738)
- Add android client to the repo

---------

Signed-off-by: Pratik Velani <pratikvelani@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-07 04:54:51 -07:00
Jamil
3f5b614ce7 portal: Stub out Settings views (#1702)
Adds Setting UI views based on the Balsamiq Wireframes. This should be
merged **after** #1679
<img width="1469" alt="Screenshot 2023-06-26 at 4 48 55 PM"
src="https://github.com/firezone/firezone/assets/167144/0994b12b-5d8d-48a6-bc8d-c9ba07d2403c">

<img width="1469" alt="Screenshot 2023-06-26 at 4 49 01 PM"
src="https://github.com/firezone/firezone/assets/167144/1d69a54d-2740-4ab0-819b-75a50a976285">
<img width="1616" alt="Screenshot 2023-06-29 at 12 29 26 AM"
src="https://github.com/firezone/firezone/assets/167144/94a8913f-93be-4502-b30e-c70f147dbe62">

<img width="1616" alt="Screenshot 2023-06-29 at 12 29 14 AM"
src="https://github.com/firezone/firezone/assets/167144/16dfc709-65b9-44fd-adad-c412dc1d44e6">

<img width="1616" alt="Screenshot 2023-06-29 at 2 36 43 PM"
src="https://github.com/firezone/firezone/assets/167144/3cddc4b3-7494-4710-953e-4d60108b9aa8">
<img width="1616" alt="Screenshot 2023-06-29 at 2 36 56 PM"
src="https://github.com/firezone/firezone/assets/167144/1f433239-1023-471d-916c-76c43f47835e">
<img width="1616" alt="Screenshot 2023-06-29 at 2 37 05 PM"
src="https://github.com/firezone/firezone/assets/167144/9cd4be23-02eb-4adf-902b-00c02cecd744">
2023-07-06 22:20:41 +00:00
Gabi
c817473aef Feat/connlib handle error messages (#1735)
With this PR we handle in the client an error message due to
gateway/relay although rate limiting is needed.

Waiting for #1729 to be merged.
2023-07-06 18:47:01 +00:00
Thomas Eizinger
db4bdb0791 feat(relay): default portal URL (#1719)
Instead of having portal URL and token optional, we default the portal
URL and decide based on the presence of the token, whether we should
connect to the portal on startup. This allows the relay to be
used/tested standalone and keeps the number of config options and error
cases small.

We require the user to config the full path of the websocket and thus
avoid the need for duplicating the connlib function. Given that most
users will never need to override this option, this seems like a good
trade-off.

Resolves https://github.com/firezone/product/issues/614.
2023-07-05 19:31:05 +00:00
Gabi
eb5fc34f35 CI: add a flow that test client to resource ping (#1729)
This PR fixes a bunch of small things to allow a new flow to test
clients pinging a resource within docker compose.

Masquerade/Forwarding is enabled directly in the container for now, this
might change in the future.

Also added a README to be able to run this locally.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-05 03:17:26 +00:00
Gabi
9cb024e787 Fix ubuntu 20.04 CI (#1734)
add a prefix key with host os to rust test job to prevent caching issues
2023-07-05 02:03:43 +00:00
Andrew Dryga
991759fbc2 Drop invalid cache restore keys 2023-07-04 18:23:43 -06:00
Thomas Eizinger
79733ab558 docs(relay): bring README.md up to date (#1718) 2023-07-04 21:01:32 +00:00
Andrew Dryga
fe44a18d95 Fix flaky tests 2023-07-04 10:05:40 -06:00
Andrew Dryga
0528c6fc18 Bump versions in Dockerfile 2023-07-04 10:01:15 -06:00