Commit Graph

216 Commits

Author SHA1 Message Date
Thomas Eizinger
dbf0e445b0 refactor(connlib): split device handler for clients & gateway (#2301) 2023-10-11 23:02:31 +00:00
Thomas Eizinger
82c2bf3574 refactor(connlib): use events to handle ICE candidates (#2279) 2023-10-10 22:26:42 +00:00
Thomas Eizinger
dbb1dd4a3a deps(rust): bump to Rust version 1.73 (#2291)
See https://releases.rs/docs/1.73.0/ for details.
2023-10-10 13:03:06 -07:00
Jamil
00e77062b1 Return fd onRemoveRoute as well (#2296)
Implements the function signatures for `onRemoveRoute` as well.

Getting this error still though:

<img width="1633" alt="Screenshot 2023-10-10 at 8 25 17 AM"
src="https://github.com/firezone/firezone/assets/167144/3dc09f1b-10e1-401b-a1ef-64f1a09e35d5">

Android simulator, Pixel, API 34
2023-10-10 11:26:53 -07:00
Jamil
b8dd4ce0b6 Fix typo and formatting in gateway/src/main.rs (#2290) 2023-10-09 18:50:23 -07:00
Jamil
d0d1c095c3 Fix spelling typos (#2289)
Fixes failing checks in #2284
2023-10-09 18:32:24 -07:00
Thomas Eizinger
ddb99ee561 fix(gateway): don't drop tunnel state between reconnects (#2278)
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-09 23:35:33 +00:00
dependabot[bot]
2398e0ffa2 build(deps): Bump ring from 0.17.0 to 0.17.2 in /rust (#2283)
Bumps [ring](https://github.com/briansmith/ring) from 0.17.0 to 0.17.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/briansmith/ring/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-09 20:03:36 -03:00
dependabot[bot]
23b9dd5e82 build(deps): Bump libc from 0.2.148 to 0.2.149 in /rust (#2282)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.148 to 0.2.149.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.149</h2>
<h2>What's Changed</h2>
<ul>
<li>libc 0.2.148 by <a
href="https://github.com/joshtriplett"><code>@​joshtriplett</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3351">rust-lang/libc#3351</a></li>
<li>update libc-test and its libc dependency to 0.2.148 by <a
href="https://github.com/chenx97"><code>@​chenx97</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3314">rust-lang/libc#3314</a></li>
<li>Disable 1.13 CI by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3358">rust-lang/libc#3358</a></li>
<li>Add teeos libc by <a
href="https://github.com/Sword-Destiny"><code>@​Sword-Destiny</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3333">rust-lang/libc#3333</a></li>
<li>Added SIOCSIFNAME by <a
href="https://github.com/Brijeshkrishna"><code>@​Brijeshkrishna</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3354">rust-lang/libc#3354</a></li>
<li>copyfile apple api update by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3346">rust-lang/libc#3346</a></li>
<li>Hermit updates by <a
href="https://github.com/mkroening"><code>@​mkroening</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3348">rust-lang/libc#3348</a></li>
<li>Add the LoongArch64 HWCAP values by <a
href="https://github.com/heiher"><code>@​heiher</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3344">rust-lang/libc#3344</a></li>
<li>Add F_PUNCHHOLE and fpunchhole_t by <a
href="https://github.com/anacrolix"><code>@​anacrolix</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3337">rust-lang/libc#3337</a></li>
<li>Fix compatibility with Emscripten &gt;= 3.1.44 by <a
href="https://github.com/kleisauke"><code>@​kleisauke</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3308">rust-lang/libc#3308</a></li>
<li>freebsd adding few mmap constants related to page alignment by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3326">rust-lang/libc#3326</a></li>
<li>Redox pthreads by <a
href="https://github.com/4lDO2"><code>@​4lDO2</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3347">rust-lang/libc#3347</a></li>
<li>linux MADV_COLLAPSE addition by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3340">rust-lang/libc#3340</a></li>
<li>android adding few more pthread api calls. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3288">rust-lang/libc#3288</a></li>
<li>Declare <code>pthread_attr_setguardsize</code> and
<code>pthread_attr_getstacksize</code>. by <a
href="https://github.com/sunfishcode"><code>@​sunfishcode</code></a> in
<a
href="https://redirect.github.com/rust-lang/libc/pull/3330">rust-lang/libc#3330</a></li>
<li>Add missing PS Vita definitions, fix some unused ones by <a
href="https://github.com/pheki"><code>@​pheki</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3284">rust-lang/libc#3284</a></li>
<li>Drop <code>armv7-apple-ios</code> target support by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3362">rust-lang/libc#3362</a></li>
<li>backtrace definitions and support for getmntinfo and getvfsstat by
<a href="https://github.com/0323pin"><code>@​0323pin</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3368">rust-lang/libc#3368</a></li>
<li>apple fcntl update. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3365">rust-lang/libc#3365</a></li>
<li>Added socketpair and pipe2 for Vita target by <a
href="https://github.com/nikarh"><code>@​nikarh</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3366">rust-lang/libc#3366</a></li>
<li>Added additional Ethernet Protocol Ids for fuchsia by <a
href="https://github.com/w1redch4d"><code>@​w1redch4d</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3332">rust-lang/libc#3332</a></li>
<li>timerfd api for freebsd 14. by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3341">rust-lang/libc#3341</a></li>
<li>haiku adding pthread GNU part by <a
href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3364">rust-lang/libc#3364</a></li>
<li>add execveat for glibc by <a
href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3372">rust-lang/libc#3372</a></li>
<li>added support for GNU/Hurd by <a
href="https://github.com/Vtewari2311"><code>@​Vtewari2311</code></a> in
<a
href="https://redirect.github.com/rust-lang/libc/pull/3325">rust-lang/libc#3325</a></li>
<li>Fix apple tvos support by <a
href="https://github.com/lcruz99"><code>@​lcruz99</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3370">rust-lang/libc#3370</a></li>
<li>Remove deprecation from SA_ONSTACK; fix hexagon-unknown-linux-musl
by <a href="https://github.com/androm3da"><code>@​androm3da</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3335">rust-lang/libc#3335</a></li>
<li>feat: add close_range for glibc by <a
href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3373">rust-lang/libc#3373</a></li>
<li>Update crate version to 0.2.149 by <a
href="https://github.com/nikarh"><code>@​nikarh</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3360">rust-lang/libc#3360</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Sword-Destiny"><code>@​Sword-Destiny</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3333">rust-lang/libc#3333</a></li>
<li><a
href="https://github.com/Brijeshkrishna"><code>@​Brijeshkrishna</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3354">rust-lang/libc#3354</a></li>
<li><a href="https://github.com/anacrolix"><code>@​anacrolix</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3337">rust-lang/libc#3337</a></li>
<li><a href="https://github.com/4lDO2"><code>@​4lDO2</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3347">rust-lang/libc#3347</a></li>
<li><a href="https://github.com/pheki"><code>@​pheki</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3284">rust-lang/libc#3284</a></li>
<li><a href="https://github.com/0323pin"><code>@​0323pin</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3368">rust-lang/libc#3368</a></li>
<li><a href="https://github.com/w1redch4d"><code>@​w1redch4d</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3332">rust-lang/libc#3332</a></li>
<li><a
href="https://github.com/Vtewari2311"><code>@​Vtewari2311</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3325">rust-lang/libc#3325</a></li>
<li><a href="https://github.com/lcruz99"><code>@​lcruz99</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3370">rust-lang/libc#3370</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/libc/compare/0.2.148...0.2.149">https://github.com/rust-lang/libc/compare/0.2.148...0.2.149</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d80e8bd305"><code>d80e8bd</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3360">#3360</a>
- vita-rust:release-0.2.149, r=JohnTitor</li>
<li><a
href="017bf5f6b3"><code>017bf5f</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3373">#3373</a>
- SteveLauC:close_range, r=JohnTitor</li>
<li><a
href="14ef2e5220"><code>14ef2e5</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3335">#3335</a>
- androm3da:bcain/sa_onstack, r=JohnTitor</li>
<li><a
href="7b9e367f67"><code>7b9e367</code></a>
fmt</li>
<li><a
href="173757d3b2"><code>173757d</code></a>
feat: add close_range for glibc</li>
<li><a
href="c7a860dbc7"><code>c7a860d</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3370">#3370</a>
- NordSecurity:add_apple_tvos_support, r=JohnTitor</li>
<li><a
href="4cdc32e72a"><code>4cdc32e</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3325">#3325</a>
- Vtewari2311:libc-hurd-latest, r=JohnTitor</li>
<li><a
href="aa065c6f9b"><code>aa065c6</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3372">#3372</a>
- SteveLauC:execveat, r=JohnTitor</li>
<li><a
href="d3910f6460"><code>d3910f6</code></a>
add execveat for glibc</li>
<li><a
href="aab9d7023c"><code>aab9d70</code></a>
Fix apple tvos support</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.148...0.2.149">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-09 20:03:15 -03:00
dependabot[bot]
2e30596a25 build(deps): Bump proptest from 1.2.0 to 1.3.1 in /rust (#2281)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.2.0 to
1.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0b4ffe8d08"><code>0b4ffe8</code></a>
[Release] 1.3.1 -- fix for incompatible bit-set/bit-vec versions (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/375">#375</a>)</li>
<li><a
href="99bdf24f8a"><code>99bdf24</code></a>
[Release] 1.3.0 (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/373">#373</a>)</li>
<li><a
href="7bfc889fea"><code>7bfc889</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/357">#357</a>
from tzemanovic/tomas/clear-break-dead-code</li>
<li><a
href="eb9db9d6c3"><code>eb9db9d</code></a>
Merge branch 'master' into tomas/clear-break-dead-code</li>
<li><a
href="370b3a031c"><code>370b3a0</code></a>
Permit use of (?-u) in byte-regex strategies (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/336">#336</a>)
(<a
href="https://redirect.github.com/proptest-rs/proptest/issues/337">#337</a>)</li>
<li><a
href="e395e8caa5"><code>e395e8c</code></a>
Add PathBuf Arbitrary impl with tests (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/368">#368</a>)</li>
<li><a
href="fcccad0f76"><code>fcccad0</code></a>
Book tips and best practices (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/367">#367</a>)</li>
<li><a
href="fc3be95ae1"><code>fc3be95</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/355">#355</a>
from tzemanovic/tomas/fix-sm-logs</li>
<li><a
href="7292965d14"><code>7292965</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/360">#360</a>
from psychon/remove-byteorder</li>
<li><a
href="466d59daec"><code>466d59d</code></a>
[proptest] silence clippy::arc_with_non_send_sync warning with
prop_oneof (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/363">#363</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/proptest-rs/proptest/compare/v1.2.0...v1.3.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-09 20:02:42 -03:00
dependabot[bot]
d0302f6f31 build(deps): Bump reqwest from 0.11.20 to 0.11.22 in /rust (#2280)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.20 to
0.11.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/reqwest/releases">reqwest's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.21</h2>
<h2>What's Changed</h2>
<ul>
<li>Add automatically detecting macOS proxy settings.</li>
<li>Add <code>ClientBuilder::tls_info(bool)</code>, which will put
<code>tls::TlsInfo</code> into the response extensions.</li>
<li>Fix trust-dns resolver from possible hangs.</li>
<li>Fix connect timeout to be split among multiple IP addresses.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/SpeedReach"><code>@​SpeedReach</code></a> made
their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/1960">seanmonstar/reqwest#1960</a></li>
<li><a href="https://github.com/jefflloyd"><code>@​jefflloyd</code></a>
made their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/1955">seanmonstar/reqwest#1955</a></li>
<li><a href="https://github.com/droe"><code>@​droe</code></a> made their
first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/1938">seanmonstar/reqwest#1938</a></li>
<li><a
href="https://github.com/conradludgate"><code>@​conradludgate</code></a>
made their first contribution in <a
href="https://redirect.github.com/seanmonstar/reqwest/pull/1940">seanmonstar/reqwest#1940</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's
changelog</a>.</em></p>
<blockquote>
<h2>v0.11.22</h2>
<ul>
<li>Fix compilation on Windows when <code>trust-dns</code> is
enabled.</li>
</ul>
<h2>v0.11.21</h2>
<ul>
<li>Add automatically detecting macOS proxy settings.</li>
<li>Add <code>ClientBuilder::tls_info(bool)</code>, which will put
<code>tls::TlsInfo</code> into the response extensions.</li>
<li>Fix trust-dns resolver from possible hangs.</li>
<li>Fix connect timeout to be split among multiple IP addresses.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5df3861a73"><code>5df3861</code></a>
v0.11.22</li>
<li><a
href="afc3a9364a"><code>afc3a93</code></a>
fix trust-dns error kind on windows (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1992">#1992</a>)</li>
<li><a
href="d050e604e1"><code>d050e60</code></a>
v0.11.21</li>
<li><a
href="2a881fb504"><code>2a881fb</code></a>
fix: split connect timeout for multiple IPs (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1940">#1940</a>)</li>
<li><a
href="17c893ffc0"><code>17c893f</code></a>
Bump actions/checkout from 3 to 4 (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1968">#1968</a>)</li>
<li><a
href="10d9d23f88"><code>10d9d23</code></a>
Add <code>tls_info</code> / <code>TlsInfo</code> for access to peer's
leaf certificate (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1938">#1938</a>)</li>
<li><a
href="d3d95a5b56"><code>d3d95a5</code></a>
Optimize <code>TrustDnsResolver</code> (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1967">#1967</a>)</li>
<li><a
href="0292486aba"><code>0292486</code></a>
dep: Upgrade trust-dns-resolver from v0.22 to v0.23 (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1965">#1965</a>)</li>
<li><a
href="70d100c1b8"><code>70d100c</code></a>
Feature: auto detect MacOS proxy settings (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1955">#1955</a>)</li>
<li><a
href="34f6c70134"><code>34f6c70</code></a>
Added wasm in the docs. (<a
href="https://redirect.github.com/seanmonstar/reqwest/issues/1960">#1960</a>)</li>
<li>See full diff in <a
href="https://github.com/seanmonstar/reqwest/compare/v0.11.20...v0.11.22">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-09 20:02:19 -03:00
Thomas Eizinger
72d6942a71 refactor(phoenix-channel): introduce init function (#2260)
What is common across all our usages of the phoenix channel is that we
wait for some kind of `init` message before we fully start-up. We
extract this pattern into a dedicated function within the
`phoenix-channel` crate.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2023-10-10 07:45:46 +11:00
Gabi
e516bcc8dd connlib+android: enable fd replacement (#2235)
Should be easier to review commit by commit.

The gist of this commit is:
* `onAddRoute` on Android now takes an address+prefix as to minimize
parsing
* `onAddRoute` recreates the vpn service each time(TODO: is this too bad
for performance?)
* `on_add_route` and `onAddRoute` returns the new fd
* on android after `on_add_route` we recreate `IfaceConfig` and
`DeviceIo` and we store the new values
* `peer_handler` now runs on a loop, where each time we fail a write
with an error code 9(bad descriptor) we try to take the new `DeviceIo`
* we keep an
[`AbortHandle`](https://docs.rs/tokio/latest/tokio/task/struct.AbortHandle.html)
from the `iface_handler` task, since closing the fd doesn't awake the
`read` task for `AsyncFd`(I tried it, right now `close` is only called
after dropping the fd) so we explicitly abort the task and start a new
one with the new `device_io`.
* in android `DeviceIo` has an atomic which tells if it's closed or open
and we change it to closed after `on_add_route`, we use this as to never
double-close the fd, instead we wait until it's dropped. This *might*
affect performance on android since we use non-`Ordering::Relaxed`
atomic operation each read/write but it won't affect perfromance in
other platforms, furthermore I believe the performance gains if we
remove this will be minimal.

Fixes #2227

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-10-08 23:52:45 -03:00
Jamil
1915080740 Build with profile = "release" for Android when appropriate (#2270)
We were building Release builds with the debug profile
2023-10-07 14:30:32 -07:00
Gabi
11a2979158 connlib: error out with http 4xx instead of trying to reconnect (#2264)
fixes #2013 

Stops the reconnect loop on a 4xx error.

Right now it seems like android doesn't handle `on_disconnect` properly,
just logging instead of going back to sign-in screen.
2023-10-07 16:52:16 +00:00
Jamil
da66264c84 Use larger builders for CPU-bound workflows (#2256)
- `ubuntu-22.04-firezone` is a 16-core builder for ~~kotlin~~ and docker
- ~~`macos-13-xlarge` is an M1 builder for Apple and docker arm64~~
- Configure the Gradle build cache
- Upgrade kotlin plugins, Android minSDK to 30, and gradle to 8.4


Edit: It appears that even using the largest runners for kotin and swift
don't speed the builds up that much (~30%), but will substantially
increase our cost, so I've reverted them to free.

Fixes #2210
2023-10-07 08:07:24 -07:00
Thomas Eizinger
dde98f1985 refactor(gateway): introduce Eventloop (#2244) 2023-10-06 22:05:52 +00:00
Thomas Eizinger
ecae222674 fix(rust): install toolchain in base layer (#2258)
Copying the `rust-toolchain.toml` file in is one thing but if we want to
avoid repeatedly installing it, we should do that in the same layer too.

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2023-10-06 14:12:58 -06:00
Thomas Eizinger
9a41983447 ci: optimize caching further (#2246)
This patch-set aims to make several improvements to our CI caching:

1. Use of registry as build cache: Pushes a separate image to our docker
registry at GCP that contains the cache layers. This happens for every
PR & main. As a result, we can restore from **both** which should make
repeated runs of CI on an individual PR faster and give us a good
baseline cache for new PRs from `main`. See
https://docs.docker.com/build/ci/github-actions/cache/#registry-cache
for details. As a nice side-effect, this allows us to use the 10 GB we
have on GitHub actions for other jobs.
2. We make better use of `restore-keys` by also attempting to restore
the cache if the fingerprint of our lockfiles doesn't match. This is
useful for CI runs that upgrade dependencies. Those will restore a cache
that is still useful although doesn't quite match. That is better[^1]
than not hitting the cache at all.
3. There were two tiny bugs in our Swift and Android builds:
a. We used `rustup show` in the wrong directory and thus did not
actually install the toolchain properly.
b. We used `shared-key` instead of `key` for the
https://github.com/Swatinem/rust-cache action and thus did not
differentiate between jobs properly.
5. Our Dockerfile for Rust had a bug where it did not copy in the
`rust-toolchain.toml` file in the `chef` layer and thus also did not use
the correctly toolchain.
6. We remove the dedicated gradle cache because the build action already
comes with a cache configuration:
https://github.com/firezone/firezone/actions/runs/6416847209/job/17421412150#step:10:25

[^1]: Over time, this may mean that our caches grow a bit. In an ideal
world, we automatically remove files from the caches that haven't been
used in a while. The cache action we use for Rust does that
automatically:
https://github.com/Swatinem/rust-cache?tab=readme-ov-file#cache-details.
As a workaround, we can just purge all caches every now and then.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-10-05 06:26:56 -07:00
Thomas Eizinger
3fcfaa6bfd refactor(connlib): create login_url utility (#2237) 2023-10-05 15:15:51 +11:00
Jamil
80234f9c71 Github Actions cache on main and scope caches for all languages/runtimes (#2233) 2023-10-04 17:29:04 -07:00
Thomas Eizinger
464efbad56 refactor(connlib): restructure directory for consistency (#2236) 2023-10-05 09:52:35 +11:00
Thomas Eizinger
a02abcbac5 deps(phoenix-channel): upgrade tokio-tungstenite (#2230)
Resolves: #2200.
2023-10-03 16:59:12 -07:00
Thomas Eizinger
05e6d31bdd fix(connlib): don't immediately upload logs (#2231) 2023-10-03 05:41:00 +00:00
Jamil
ff1c0b950a Add make version command to set version in components (#2215)
Fixes #2213 

This will allow us to fetch the actual Firezone version that's in use
from within the language runtimes themselves without resorting to an
external mechanism to do so. This is useful in connlib for example when
selecting the Portal API to use with `X-Firezone-API-Version`, and
useful in log printing.

Since platforms enforce semantic version, I propose the convention:

`1.20231001.34` where MAJOR is `1` for Firezone 1.0, MINOR is our API
version, and PATCH is the release of that API version that is published
on the repo.

Given this system, publishing a release would consist of:

1. Edit `Makefile` to set the patch and minor versions appropriately
depending on whether there are breaking portal API changes.
2. `make version`
3. `git add .; git commit; git push` -- this opens a PR with the new
version numbers. In this PR we can discuss whether to stop-ship or go.
4. PR merged, release is drafted and deployed to staging with the new
tag and version numbers
5. build artifacts are uploaded to drafted release, everything is tagged
and versioned appropriately without having to introduce another commit
6. If all looks good, publish release
2023-10-03 15:22:02 +11:00
Jamil
31a20a2c8a feat(ci): Add swift-format to apple build (#2201)
Was doing some CI work and thought I would clean up our Swift codebase a
little.

- Moves `CallbackHandler.swift` to `swift/apple` so it's subject to
style enforcement
- Adds `swift-format lint --strict` build step to catch style issues in
Xcode (and CI)
- Ran `swift-format -i` on all files to reset formatting
- Fixed any warnings found

Fixes #2157
2023-10-03 07:43:17 +05:30
Jamil
cd5a57f413 Update tokio-tungstenite to fix webpki vuln (#2181)
Fixes https://github.com/firezone/firezone/security/dependabot/75
Fixes https://github.com/firezone/firezone/security/dependabot/72
2023-10-02 19:35:42 +00:00
dependabot[bot]
1e26c1cea8 build(deps): Bump the otel group in /rust with 1 update (#2217)
Bumps the otel group in /rust with 1 update:
[tracing-opentelemetry](https://github.com/tokio-rs/tracing-opentelemetry).

<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/releases">tracing-opentelemetry's
releases</a>.</em></p>
<blockquote>
<h2>0.21.0</h2>
<h3>Added</h3>
<ul>
<li>Ability to produce measurement with attributes (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/43">#43</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li><code>MetricsLayer</code> is now generic over the its
<code>Subscriber</code> impl to support
<a
href="https://docs.rs/tracing-subscriber/0.3.17/tracing_subscriber/layer/index.html#per-layer-filtering">per-layer
filtering</a> (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/43">#43</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Trace IDs not matching when propagating invalid contexts (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/55">#55</a>)</li>
</ul>
<p>Thanks to <a href="https://github.com/ymgyt"><code>@​ymgyt</code></a>
and <a href="https://github.com/hdost"><code>@​hdost</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/blob/v0.1.x/CHANGELOG.md">tracing-opentelemetry's
changelog</a>.</em></p>
<blockquote>
<h1>0.21.0 (August 28, 2023)</h1>
<h3>Added</h3>
<ul>
<li>Ability to produce measurement with attributes (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/43">#43</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li><code>MetricsLayer</code> is now generic over the its
<code>Subscriber</code> impl to support
<a
href="https://docs.rs/tracing-subscriber/0.3.17/tracing_subscriber/layer/index.html#per-layer-filtering">per-layer
filtering</a> (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/43">#43</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Trace IDs not matching when propagating invalid contexts (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/55">#55</a>)</li>
</ul>
<p>Thanks to <a href="https://github.com/ymgyt"><code>@​ymgyt</code></a>
and <a href="https://github.com/hdost"><code>@​hdost</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="61498639b0"><code>6149863</code></a>
Prepare for v0.21.0 release (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/56">#56</a>)</li>
<li><a
href="4fa7527481"><code>4fa7527</code></a>
fix: trace id did not match when propagating invalid context (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/55">#55</a>)</li>
<li><a
href="11d57b8092"><code>11d57b8</code></a>
chore: add opentelemetry-otlp integration example (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/53">#53</a>)</li>
<li><a
href="680f91dcdf"><code>680f91d</code></a>
docs: update semantic-conventions link (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/52">#52</a>)</li>
<li><a
href="fee6cbf238"><code>fee6cbf</code></a>
chore: use pprof in the benchmark for metrics (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/51">#51</a>)</li>
<li><a
href="e9148988fc"><code>e914898</code></a>
Move off of opentelemetry in favor of separate crates. (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/48">#48</a>)</li>
<li><a
href="473a500d5a"><code>473a500</code></a>
docs: add metrics layer attributes description (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/49">#49</a>)</li>
<li><a
href="42a3c73c37"><code>42a3c73</code></a>
docs: update README basic example (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/47">#47</a>)</li>
<li><a
href="7bb3e5643a"><code>7bb3e56</code></a>
feat: produce measurement with attributes (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/43">#43</a>)</li>
<li><a
href="6bc7dce956"><code>6bc7dce</code></a>
docs: fix REAEME MetricsLayer link (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/44">#44</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tracing-opentelemetry/compare/v0.20.0...v0.21.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 16:32:00 -03:00
dependabot[bot]
fb8b25a923 build(deps): Bump wintun from 0.3.1 to 0.3.2 in /rust (#2218)
Bumps [wintun](https://github.com/nulldotblack/wintun) from 0.3.1 to
0.3.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nulldotblack/wintun/blob/main/CHANGELOG.md">wintun's
changelog</a>.</em></p>
<blockquote>
<h2>[0.3.2] - 2023-09-27</h2>
<h2>Added</h2>
<ul>
<li><code>Adapter::get_mtu</code>: <a
href="https://redirect.github.com/nulldotblack/wintun/pull/11">nulldotblack/wintun#11</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Improved formatting of errors: <a
href="https://redirect.github.com/nulldotblack/wintun/pull/11">nulldotblack/wintun#11</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/nulldotblack/wintun/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <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>
2023-10-02 16:31:34 -03:00
dependabot[bot]
650c24504b build(deps): Bump ring from 0.16.20 to 0.17.0 in /rust (#2219)
Bumps [ring](https://github.com/briansmith/ring) from 0.16.20 to 0.17.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/briansmith/ring/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 16:31:04 -03:00
dependabot[bot]
a3aa6721c0 build(deps): Bump sha2 from 0.10.7 to 0.10.8 in /rust (#2220)
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.7 to
0.10.8.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="28a7b0da94"><code>28a7b0d</code></a>
Update Cargo.lock</li>
<li><a
href="c6decdf36f"><code>c6decdf</code></a>
sha2: Add inline-asm backend for LoongArch64 targets (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/507">#507</a>)</li>
<li><a
href="026b0e81e9"><code>026b0e8</code></a>
md5: minor code tweaks, bump to v0.10.6 (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/506">#506</a>)</li>
<li><a
href="a24e8b73a6"><code>a24e8b7</code></a>
md5: Add inline-asm backend for LoongArch64 targets (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/505">#505</a>)</li>
<li><a
href="7aba4b5271"><code>7aba4b5</code></a>
Add asm!-based backend for LoongArch64 targets (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/504">#504</a>)</li>
<li><a
href="dcfd5a5016"><code>dcfd5a5</code></a>
build(deps): bump actions/checkout from 3 to 4 (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/501">#501</a>)</li>
<li><a
href="4372c776a5"><code>4372c77</code></a>
CI: replace MIPS cross tests with PPC32 (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/503">#503</a>)</li>
<li><a
href="42d3a25a4e"><code>42d3a25</code></a>
k12: fix incorrect hash calculation (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/499">#499</a>)</li>
<li><a
href="342dbfabd4"><code>342dbfa</code></a>
Update asm dependencies (<a
href="https://redirect.github.com/RustCrypto/hashes/issues/498">#498</a>)</li>
<li><a
href="59176e068a"><code>59176e0</code></a>
Update Clippy and fix lints</li>
<li>Additional commits viewable in <a
href="https://github.com/RustCrypto/hashes/compare/sha2-v0.10.7...sha2-v0.10.8">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 16:30:29 -03:00
dependabot[bot]
58aa8fb060 build(deps): Bump thiserror from 1.0.48 to 1.0.49 in /rust (#2221)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.48 to
1.0.49.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>1.0.49</h2>
<ul>
<li>Access libcore types through <code>::core</code> in generated code
(<a
href="https://redirect.github.com/dtolnay/thiserror/issues/255">#255</a>,
thanks <a
href="https://github.com/mina86"><code>@​mina86</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="54465b7475"><code>54465b7</code></a>
Release 1.0.49</li>
<li><a
href="79704adca9"><code>79704ad</code></a>
Merge pull request 255 from mina86/a</li>
<li><a
href="5bfbdaebe3"><code>5bfbdae</code></a>
Test docs.rs documentation build in CI</li>
<li><a
href="f0f303a7ba"><code>f0f303a</code></a>
Prefer core crate in macro expansions</li>
<li><a
href="435c7c819c"><code>435c7c8</code></a>
Update actions/checkout@v3 -&gt; v4</li>
<li>See full diff in <a
href="https://github.com/dtolnay/thiserror/compare/1.0.48...1.0.49">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.48&new-version=1.0.49)](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>
2023-10-02 16:30:09 -03:00
Jamil
7e3af1e8b5 refactor(connlib): Add more logs to get_device_id() (#2198)
These are added to provide more information to debug issues where the
`external_id` as seen by the portal changes and causes session and/or
upsert issues.

Refs #2181
2023-09-30 10:31:22 -07:00
Jamil
c4c6f3e4ca refactor(portal): Don't pin session token to user_agent or remote_ip (#2195)
Removing the check to get Rust PRs to pass.

**Note**: #2182 was dependent on this one, and has since merged into
this one.
2023-09-30 07:40:57 -07:00
Jamil
a98f30a8dd fix(ci): Fix flaky integration tests (#2190) 2023-09-29 01:12:29 -07:00
Thomas Eizinger
bb9dc1aeac feat: upload logs to GCP on compile-time configurable interval (#2103)
Resolves: #2020.

---------

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2023-09-29 00:03:03 +00:00
Jamil
3baf2ee1bb feat(connlib): Wrap secrets in Secret to minimize chance of leakage (#2159)
Fixes #2085

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-09-28 18:35:16 +00:00
Thomas Eizinger
0ceecc0c0e Duplicate Session for client and gateway (#2169)
At the moment, there is a lot of indirection between tunnel, session,
control planes etc. I think this is a lot easier to understand if we
don't have as many type parameters and instead, create one `Session`
type per "kind" of deployment: Clients and gateways.

This is an initial start, there is now some duplication between gateways
and clients. I'd recommend patch-by-patch review.

I originally started this to do
https://github.com/firezone/firezone/issues/2158 but that is not
possible until we have _concrete_ message types within each `Session`,
hence I am sending this PR first.
2023-09-28 02:57:44 +00:00
Gabi
21afdf0a9a feat(connlib): Ice trickle ❄️ (#2152)
Most of this PR is moving things around in the control protocol part of
the tunnel to ease readability, there are some improvements there to do
but ideally I won't spend more time there since we will probably throw
it away when we move away from webrtc.

The most important part of this PR is the ice trickle, which should make
stablishing a connection initially much faster and in theory we can add
relays without incurring in a delay penalty there. I still need to test
and benchmark it with staging
2023-09-27 21:32:07 +00:00
dependabot[bot]
ad3d5f00b7 build(deps): Bump the otel group in /rust with 5 updates (#2165)
Bumps the otel group in /rust with 5 updates:

| Package | From | To |
| --- | --- | --- |
|
[tracing-stackdriver](https://github.com/NAlexPear/tracing-stackdriver)
| `0.7.2` | `0.8.0` |
|
[tracing-opentelemetry](https://github.com/tokio-rs/tracing-opentelemetry)
| `0.19.0` | `0.20.0` |
| [opentelemetry](https://github.com/open-telemetry/opentelemetry-rust)
| `0.19.0` | `0.20.0` |
|
[opentelemetry_api](https://github.com/open-telemetry/opentelemetry-rust)
| `0.19.0` | `0.20.0` |
|
[opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust)
| `0.12.0` | `0.13.0` |

Updates `tracing-stackdriver` from 0.7.2 to 0.8.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b47f8c00ff"><code>b47f8c0</code></a>
⬆ Bump version to 0.8.0</li>
<li><a
href="7bad22884b"><code>7bad228</code></a>
🏁 Add pre-publish semver check</li>
<li><a
href="a72e4585ea"><code>a72e458</code></a>
Run cargo-update to fix CI</li>
<li><a
href="b577f24145"><code>b577f24</code></a>
Fix formatting</li>
<li><a
href="e28429faad"><code>e28429f</code></a>
Fix compile errors in test</li>
<li><a
href="b5c8a23fa0"><code>b5c8a23</code></a>
Update lockfile</li>
<li><a
href="0d92b9fa8d"><code>0d92b9f</code></a>
Bump opentelemetry dependency</li>
<li><a
href="848b0822dc"><code>848b082</code></a>
📝 Handle latest clippy lints</li>
<li>See full diff in <a
href="https://github.com/NAlexPear/tracing-stackdriver/compare/v0.7.2...v0.8.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `tracing-opentelemetry` from 0.19.0 to 0.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/releases">tracing-opentelemetry's
releases</a>.</em></p>
<blockquote>
<h2>0.20.0</h2>
<h3>Added</h3>
<ul>
<li>Add <code>OpenTelemetrySpanExt::set_attribute</code> function (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/34">#34</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Upgrade to <code>v0.20.0</code> of <code>opentelemetry</code> (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/36">#36</a>)
For list of breaking changes in OpenTelemetry, see the
<a
href="https://github.com/open-telemetry/opentelemetry-rust/blob/v0.20.0/opentelemetry-api/CHANGELOG.md#v0200">v0.20.0
changelog</a>.</li>
</ul>
<p>Thanks to <a
href="https://github.com/ymgyt"><code>@​ymgyt</code></a>, <a
href="https://github.com/mladedav"><code>@​mladedav</code></a>, <a
href="https://github.com/shaun-cox"><code>@​shaun-cox</code></a>, and <a
href="https://github.com/Protryon"><code>@​Protryon</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/blob/v0.1.x/CHANGELOG.md">tracing-opentelemetry's
changelog</a>.</em></p>
<blockquote>
<h1>0.20.0 (August 1, 2023)</h1>
<h3>Added</h3>
<ul>
<li>Add <code>OpenTelemetrySpanExt::set_attribute</code> function (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/34">#34</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Upgrade to <code>v0.20.0</code> of <code>opentelemetry</code> (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/36">#36</a>)
For list of breaking changes in OpenTelemetry, see the
<a
href="https://github.com/open-telemetry/opentelemetry-rust/blob/v0.20.0/opentelemetry-api/CHANGELOG.md#v0200">v0.20.0
changelog</a>.</li>
</ul>
<p>Thanks to <a
href="https://github.com/ymgyt"><code>@​ymgyt</code></a>, <a
href="https://github.com/mladedav"><code>@​mladedav</code></a>, <a
href="https://github.com/shaun-cox"><code>@​shaun-cox</code></a>, and <a
href="https://github.com/Protryon"><code>@​Protryon</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d9b18f2aed"><code>d9b18f2</code></a>
Prepare for v0.20.0 release (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/41">#41</a>)</li>
<li><a
href="d36955010d"><code>d369550</code></a>
chore: use pprof only if target_os is not windows (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/40">#40</a>)</li>
<li><a
href="76771cf8e8"><code>76771cf</code></a>
update opentelemetry to 0.20.0 (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/36">#36</a>)</li>
<li><a
href="7b77d33d58"><code>7b77d33</code></a>
Add set_attribute function (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/34">#34</a>)</li>
<li><a
href="f5f898b47e"><code>f5f898b</code></a>
Enable flame graphs and reports for benchmarks (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/27">#27</a>)</li>
<li><a
href="040c57a61b"><code>040c57a</code></a>
Set builder parent span to None when manually setting parent (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/26">#26</a>)</li>
<li><a
href="5ce1b10893"><code>5ce1b10</code></a>
build(deps): update criterion requirement from 0.4.0 to 0.5.0 (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/24">#24</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tracing-opentelemetry/compare/v0.19.0...v0.20.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `opentelemetry` from 0.19.0 to 0.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-rust/releases">opentelemetry's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.0</h2>
<p>See individual crate changelogs for details.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dfeac078ff"><code>dfeac07</code></a>
Fix stdout exporter dependency (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1172">#1172</a>)</li>
<li><a
href="771d3c4207"><code>771d3c4</code></a>
Prepare for v0.20.0 release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1156">#1156</a>)</li>
<li><a
href="2ca024e9ab"><code>2ca024e</code></a>
Export logs only if the level/logger/target is enabled. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1147">#1147</a>)</li>
<li><a
href="8975aa382e"><code>8975aa3</code></a>
fix: Fix env endpoint use in telemetry agent (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1167">#1167</a>)</li>
<li><a
href="6962621fb8"><code>6962621</code></a>
Start adding metrics advanced (view) examples (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1170">#1170</a>)</li>
<li><a
href="9f28319307"><code>9f28319</code></a>
update (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1169">#1169</a>)</li>
<li><a
href="1f59a15cbf"><code>1f59a15</code></a>
Add OTLP LogExporter to the example (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1168">#1168</a>)</li>
<li><a
href="58ad33a5d0"><code>58ad33a</code></a>
Add compression support for otlp tonic (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1165">#1165</a>)</li>
<li><a
href="ba6f924bcd"><code>ba6f924</code></a>
proto: fix doc links to tonic, prost (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1162">#1162</a>)</li>
<li><a
href="fb141994e0"><code>fb14199</code></a>
Install logger provider (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1164">#1164</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-rust/compare/v0.19.0...v0.20.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `opentelemetry_api` from 0.19.0 to 0.20.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-rust/releases">opentelemetry_api's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.0</h2>
<p>See individual crate changelogs for details.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dfeac078ff"><code>dfeac07</code></a>
Fix stdout exporter dependency (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1172">#1172</a>)</li>
<li><a
href="771d3c4207"><code>771d3c4</code></a>
Prepare for v0.20.0 release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1156">#1156</a>)</li>
<li><a
href="2ca024e9ab"><code>2ca024e</code></a>
Export logs only if the level/logger/target is enabled. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1147">#1147</a>)</li>
<li><a
href="8975aa382e"><code>8975aa3</code></a>
fix: Fix env endpoint use in telemetry agent (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1167">#1167</a>)</li>
<li><a
href="6962621fb8"><code>6962621</code></a>
Start adding metrics advanced (view) examples (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1170">#1170</a>)</li>
<li><a
href="9f28319307"><code>9f28319</code></a>
update (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1169">#1169</a>)</li>
<li><a
href="1f59a15cbf"><code>1f59a15</code></a>
Add OTLP LogExporter to the example (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1168">#1168</a>)</li>
<li><a
href="58ad33a5d0"><code>58ad33a</code></a>
Add compression support for otlp tonic (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1165">#1165</a>)</li>
<li><a
href="ba6f924bcd"><code>ba6f924</code></a>
proto: fix doc links to tonic, prost (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1162">#1162</a>)</li>
<li><a
href="fb141994e0"><code>fb14199</code></a>
Install logger provider (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/1164">#1164</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-rust/compare/v0.19.0...v0.20.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `opentelemetry-otlp` from 0.12.0 to 0.13.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-rust/releases">opentelemetry-otlp's
releases</a>.</em></p>
<blockquote>
<h2>v0.13.0</h2>
<p>Upgrade note: exporter pipelines do not return an uninstall guard as
of <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/444">#444</a>,
use <code>opentelemetry::global::shutdown_tracer_provider</code>
explicitly instead.</p>
<h2>Changed</h2>
<ul>
<li>Pull configrations from environment variables by default when
creating BatchSpanProcessor <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/445">#445</a></li>
<li>Convert doc links to intra-doc <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/466">#466</a></li>
<li>Switch to Cow for event names <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/471">#471</a></li>
<li>Use API to configure async runtime instead of features <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/481">#481</a></li>
<li>Rename trace config with_default_sampler to with_sampler <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/482">#482</a></li>
</ul>
<h2>Removed</h2>
<ul>
<li>Removed tracer provider guard <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/444">#444</a></li>
<li>Removed <code>from_env</code> and use environment variables to
initialize the configurations by default <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/459">#459</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="97c220f624"><code>97c220f</code></a>
Prepare for v0.13.0 release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/470">#470</a>)</li>
<li><a
href="a32b962668"><code>a32b962</code></a>
Merge opentelemetry-stackdriver into this repo. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/487">#487</a>)</li>
<li><a
href="cb419bb9f1"><code>cb419bb</code></a>
Configure async runtime in Rust code instead of cargo feature (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/481">#481</a>)</li>
<li><a
href="2b9fa23145"><code>2b9fa23</code></a>
fix: otel-otlp will try to create another tokio runtime inside one if
async f...</li>
<li><a
href="436b76e5bb"><code>436b76e</code></a>
bump prometheus dependency (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/485">#485</a>)</li>
<li><a
href="a49d6f5612"><code>a49d6f5</code></a>
Rename trace config with_default_sampler to with_sampler (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/482">#482</a>)</li>
<li><a
href="e9ef3e23d6"><code>e9ef3e2</code></a>
feat: clean up lint.sh, use API to set grpc layer (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/467">#467</a>)</li>
<li><a
href="d42c552bd0"><code>d42c552</code></a>
Abstraction trait for different runtimes (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/480">#480</a>)</li>
<li><a
href="0b1074e969"><code>0b1074e</code></a>
Impl clone for noop tracer/provider/span (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/479">#479</a>)</li>
<li><a
href="e17a1313b4"><code>e17a131</code></a>
otlp: mention service.name in kitchen sink cfg doc - closes <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/475">#475</a>
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/476">#476</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-rust/compare/v0.12.0...v0.13.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

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


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-09-27 18:55:01 +00:00
Jamil
9cef6edfea refactor(connlib): Use newtype pattern for all entity UUIDs from Portal (#2164)
Wraps all UUIDs in their respective entity types.

Fixes #2090
2023-09-27 15:25:32 +00:00
Thomas Eizinger
1dc739505b refactor: simplify headless-utils (#2151)
Commit-by-commit review is recommended.

---------

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-09-26 20:54:00 +00:00
Jamil
51241d0bc6 refactor(clients): Pass log filter string to Session depending on environment (#2155)
Fixes #2147
2023-09-26 19:41:08 +00:00
Jamil
23444ee845 fix(apple): Add build on macOS 13 (ci); Fix Xcode version to 14 (ci); Update deps and fix _SwiftUINavigationState reference (#2148)
* Removes FirezoneKit/Package.resolved -- this file was unused
* Removes `iphonesimulator` as a build target -- this is just not
supported at all with NetworkExtensions
* Update dependencies
* Rename `_SwiftUINavigationState` to `SwiftUINavigationCore` due to
update
* Removes CONNLIB_MOCK from `build-rust.sh`
* Minor cleanup of `build-rust.sh` to simplify env vars
* Fixes the below issue when building on developer machines on Xcode 15
(GH runner Xcode 15 is buggy, leaving that pinned to 14 for now):

```
 = note: ld: warning: no platform load command found in '/private/var/folders/02/4nz6gzkx5wj81dkc4pf9jyyh0000gn/T/rustcRAtGnz/symbols.o', assuming: iOS
          ld: building for 'iOS', but linking in dylib (/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libobjc.A.tbd) built for 'macOS macCatalyst zippered(macOS/Catalyst)'
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
2023-09-26 12:35:38 +00:00
Jamil
cf80f031b9 refactor(connlib): Track boringtun stable (#2150)
Fixes firezone/boringtun#1
2023-09-25 17:20:44 -07:00
Thomas Eizinger
5d6dfc0c3a refactor(android): prefer early-exit for error paths (#2127)
Instead of using combinators or early-exiting on _success_, use `?` and
keep the data flow of the FFI function focused on the happy path.

I find code easier to read if the left-most indentation is the happy
path and any further indentations are errors that exit early from the
function.
2023-09-25 20:56:16 +00:00
Gabi
5a998f7373 connlib: add logging string configuration (#2115)
Split from #2104

This adds logging string configuration, unifies behavior between gateway
and headless clients and some cli improvements for those.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-09-25 20:17:22 +00:00
Gabi
5d67309a71 connlib: refactoring tunnel for performance and readablity (#2116)
Splits of from #2104 

Some refactoring I did for firezone/product#681 to obtain better
flamegraphs, additionally to improve performance I added a `wire` target
so we can turn off wire tracing in production and generally tried to
improve logs for easier filtering and use of structured-tracing.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-09-25 15:10:14 +00:00
dependabot[bot]
2e9d5c6016 build(deps): Bump aes-gcm from 0.10.2 to 0.10.3 in /rust (#2117)
Bumps [aes-gcm](https://github.com/RustCrypto/AEADs) from 0.10.2 to
0.10.3.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7e82b01cd4"><code>7e82b01</code></a>
aes-gcm v0.10.3 (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/552">#552</a>)</li>
<li><a
href="b587b27270"><code>b587b27</code></a>
aes-gcm: avoid exposing plaintext on tag verification failure (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/551">#551</a>)</li>
<li><a
href="2209bcaa9e"><code>2209bca</code></a>
build(deps): bump actions/checkout from 3 to 4 (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/548">#548</a>)</li>
<li><a
href="035ec25362"><code>035ec25</code></a>
build(deps): bump ascon from 0.3.1 to 0.4.0 (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/545">#545</a>)</li>
<li><a
href="e94ba5ab9f"><code>e94ba5a</code></a>
xsalsa20poly1305: remove source code (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/543">#543</a>)</li>
<li><a
href="31240c1285"><code>31240c1</code></a>
Update Cargo.lock</li>
<li><a
href="40240c4a85"><code>40240c4</code></a>
Update Cargo.lock</li>
<li><a
href="be4ea6fd3b"><code>be4ea6f</code></a>
Update Cargo.lock</li>
<li><a
href="2aef39e90d"><code>2aef39e</code></a>
Update Clippy version (<a
href="https://redirect.github.com/RustCrypto/AEADs/issues/534">#534</a>)</li>
<li><a
href="50710da0cb"><code>50710da</code></a>
Update Cargo.lock</li>
<li>Additional commits viewable in <a
href="https://github.com/RustCrypto/AEADs/compare/aes-gcm-v0.10.2...aes-gcm-v0.10.3">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore 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-09-25 15:07:15 +00:00
Thomas Eizinger
80f71fd9da refactor(connlib): don't store WorkerGuard in Session (#2125)
The various client platforms are too different in how they handle
logging. Contrary to what I suggested in the initial PR, I no longer
think that storing the guard within the session is a good idea.

For the headless client for example, we block on CTRL+C anyway and thus
can simplify have the guard stay alive for the entirety of the program.
For Apple, we can store the guard in the `WrappedSession`. For Android,
we store it in a static variable anyway.

Lastly, whilst working on the log-upload, I've encountered circular
dependencies caused by this as I would have to store more than just the
`WorkerGuard` in the `Session`.
2023-09-25 15:03:56 +00:00