Commit Graph

2617 Commits

Author SHA1 Message Date
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
Gabi
e446138150 add gabi key to assertlinks.json (#2183)
Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
2023-09-28 13:59:19 -07: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
Andrew Dryga
5dddc1205e Change naming convention for spans for better integration with Cloud Trace 2023-09-27 15:46:00 -06:00
Andrew Dryga
1dac7d87a0 Do not show resources to clients that are not authorized to access them 2023-09-27 13:48:14 -06:00
Andrew Dryga
e92752a974 Prefix span names by socket type 2023-09-27 13:31:24 -06:00
Andrew Dryga
4f46cfd25f Remove required attribute on policy description textareas 2023-09-27 13:21:34 -06: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
53a054bad2 feat(android): static analysis checks in CI (#2171)
Fixes #2156
2023-09-27 18:25:38 +00:00
Andrew Dryga
0b9dd334b4 Network flows (logs, auth) (#2166)
Closes https://github.com/firezone/firezone/issues/2095
Partially implements #949

<img width="1728" alt="Screenshot 2023-09-26 at 19 25 54"
src="https://github.com/firezone/firezone/assets/1877644/dffa8ae5-3095-4188-a1d2-3e8382e61628">
<img width="1728" alt="Screenshot 2023-09-26 at 19 26 03"
src="https://github.com/firezone/firezone/assets/1877644/853e8c90-eaae-4754-aea3-c58aba7cc97c">
<img width="1728" alt="Screenshot 2023-09-26 at 19 26 10"
src="https://github.com/firezone/firezone/assets/1877644/68aa9556-db11-4512-929a-45d1e4c3b258">
<img width="1728" alt="Screenshot 2023-09-26 at 19 26 17"
src="https://github.com/firezone/firezone/assets/1877644/020e0e98-142b-4b3b-aebf-789f2ad4e3c7">
2023-09-27 11:50:39 -06: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
Jamil
3d1921da7a feat(portal): Scrollbar improvements (#2160)
Thanks to @devsnaked for the fix. Opening this to get the changes merged
more quickly.

Supersedes #2072

---------

Signed-off-by: Maximilly Moreira Gonçalves <max.ocw@gmail.com>
Co-authored-by: Maximilly Moreira <max.ocw@gmail.com>
2023-09-27 15:24:26 +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
Thomas Eizinger
075d03432f fix(relay): remove debug exporter (#2153)
It turns out that this one never worked. I found this in the logs:

> * error decoding 'exporters': unknown type: "debug" for id: "debug"
(valid values: [alibabacloud_logservice awscloudwatchlogs awss3
googlecloudpubsub instana loadbalancing skywalking awsemf
azuredataexplorer prometheus logging awskinesis dynatrace
googlemanagedprometheus kafka sentry otlphttp awsxray carbon cassandra
elasticsearch f5cloud googlecloud sumologic tanzuobservability
tencentcloud_logservice coralogix dataset influxdb logicmonitor loki
parquet pulsar otlp azuremonitor datadog file logzio mezmo
prometheusremotewrite signalfx splunk_hec zipkin opencensus sapm
clickhouse])

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-09-26 09:21:06 -06: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
dfbb4694ff fix(docs): Fix broken sales link (#2154)
Fix sales link in README
2023-09-26 04:39:31 -07:00
Jamil
cf80f031b9 refactor(connlib): Track boringtun stable (#2150)
Fixes firezone/boringtun#1
2023-09-25 17:20:44 -07:00
Andrew Dryga
58e9c42bb6 Broadcast new ICE candidates (#2149)
Closes #2118
2023-09-25 16:40:26 -06:00
Jamil
41bbf7e541 fix(portal): sidebar active item state (#2119)
Adds `active_path` to determine whether or not to highlight a sidebar
item.

~~Leaving as draft for now to allow @devsnaked to contribute. Edit: Will
use this PR as the base for @devsnaked's upcoming changes~~

Edit: fixes #2065
2023-09-25 21:29:56 +00: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
Jamil
0d7ff13fe3 fix(docs): Prevent adding typo single-quote to JSON examples (#2131)
Fixes #1968
2023-09-25 20:05:09 +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
dependabot[bot]
183c2cc7ab build(deps): Bump wintun from 0.2.1 to 0.3.1 in /rust (#2129)
Bumps [wintun](https://github.com/nulldotblack/wintun) from 0.2.1 to
0.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nulldotblack/wintun/releases">wintun's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.1</h2>
<h2>Added</h2>
<ul>
<li>Support for non 32bit x86 and arm targets in all three examples</li>
</ul>
<h3>Updated</h3>
<ul>
<li>Adapter docs</li>
</ul>
<h2>v0.3.0</h2>
<h3>Added</h3>
<ul>
<li>udp-echo example which mirrors packets via the tun interface</li>
<li><code>Adapter::get_name</code>, <code>Adapter::set_name</code>, and
<code>Adapter::get_guid</code></li>
<li><code>Adapter::set_address</code> <code>Adapter::set_gateway</code>,
<code>Adapter::set_netmask</code>, or
<code>Adapter::set_network_addresses_tuple</code> to set all three at
once
<ul>
<li>Easily configure adapter address, netmask, and gateway properties to
more easily control how it interacts with the Windows networking
stack</li>
</ul>
</li>
<li>And <code>Adapter::get_addresses</code>,
<code>Adapter::get_gateways</code>,
<code>Adapter::get_netmask_of_address</code> to read this state</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed <code>enum ApiError</code> -&gt; <code>enum Error</code> and
added more variants.
<ul>
<li>All functions returning <code>wintun::Result</code> are
effected.</li>
</ul>
</li>
<li>Removed <code>pool: &amp;str</code> parameter from
<code>Adapter::create</code> as this was removed from the wintun c
library</li>
<li>Changed return type of <code>Session::get_read_wait_event</code>
from <code>Result&lt;winnt::HANDLE, ()&gt;</code> to
<code>Result&lt;windows::Win32::HANDLE, wintun::Error&gt;</code></li>
</ul>
<p>Plus internal refactoring and cleanup by <a
href="https://github.com/ssrlive"><code>@​ssrlive</code></a> in <a
href="https://redirect.github.com/nulldotblack/wintun/issues/7">#7</a>.
Thanks!</p>
</blockquote>
</details>
<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.1] - 2023-09-16</h2>
<h2>Added</h2>
<ul>
<li>Support for non 32bit x86 and arm targets in all three examples</li>
</ul>
<h3>Updated</h3>
<ul>
<li>Adapter docs</li>
</ul>
<h2>[0.3.0] - 2023-09-15</h2>
<h3>Added</h3>
<ul>
<li>udp-echo example which mirrors packets via the tun interface</li>
<li><code>Adapter::get_name</code>, <code>Adapter::set_name</code>, and
<code>Adapter::get_guid</code></li>
<li><code>Adapter::set_address</code> <code>Adapter::set_gateway</code>,
<code>Adapter::set_netmask</code>, or
<code>Adapter::set_network_addresses_tuple</code> to set all three at
once
<ul>
<li>Easily configure adapter address, netmask, and gateway properties to
more easily control how it interacts with the Windows networking
stack</li>
</ul>
</li>
<li>And <code>Adapter::get_addresses</code>,
<code>Adapter::get_gateways</code>,
<code>Adapter::get_netmask_of_address</code> to read this state</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Renamed <code>enum ApiError</code> -&gt; <code>enum Error</code> and
added more variants.
<ul>
<li>All functions returning <code>wintun::Result</code> are
effected.</li>
</ul>
</li>
<li>Removed <code>pool: &amp;str</code> parameter from
<code>Adapter::create</code> as this was removed from the wintun c
library</li>
<li>Changed return type of <code>Session::get_read_wait_event</code>
from <code>Result&lt;winnt::HANDLE, ()&gt;</code> to
<code>Result&lt;windows::Win32::HANDLE, wintun::Error&gt;</code></li>
</ul>
<p>Plus internal refactoring and cleanup by <a
href="https://github.com/ssrlive"><code>@​ssrlive</code></a>: <a
href="https://redirect.github.com/nulldotblack/wintun/pull/7">nulldotblack/wintun#7</a>.
Thanks!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7aa2059895"><code>7aa2059</code></a>
prep 0.3.1 (<a
href="https://redirect.github.com/nulldotblack/wintun/issues/10">#10</a>)</li>
<li><a
href="d962317331"><code>d962317</code></a>
Minor changes (<a
href="https://redirect.github.com/nulldotblack/wintun/issues/9">#9</a>)</li>
<li><a
href="aa68d4c43f"><code>aa68d4c</code></a>
Merge pull request <a
href="https://redirect.github.com/nulldotblack/wintun/issues/8">#8</a>
from nulldotblack/prep-0.3.0</li>
<li><a
href="6844dcf9b8"><code>6844dcf</code></a>
Remove vim undo file</li>
<li><a
href="549a1e9b73"><code>549a1e9</code></a>
update changlog</li>
<li><a
href="fe906e46fc"><code>fe906e4</code></a>
Merge pull request <a
href="https://redirect.github.com/nulldotblack/wintun/issues/7">#7</a>
from ssrlive/main</li>
<li><a
href="3b48c40a46"><code>3b48c40</code></a>
Modified as required by <a
href="https://github.com/TroyNeubauer"><code>@​TroyNeubauer</code></a></li>
<li><a
href="e5b9bfdfae"><code>e5b9bfd</code></a>
some links</li>
<li><a
href="84890b4c03"><code>84890b4</code></a>
set_network_addresses_tuple</li>
<li><a
href="97ffe9876a"><code>97ffe98</code></a>
get_gateways</li>
<li>Additional commits viewable in <a
href="https://github.com/nulldotblack/wintun/compare/v0.2.1...v0.3.1">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.2.1&new-version=0.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>
2023-09-25 14:58:11 +00:00
dependabot[bot]
df3560bd67 build(deps): Bump smbios-lib from 0.9.0 to 0.9.1 in /rust (#2130)
Bumps [smbios-lib](https://github.com/jrgerber/smbios-lib) from 0.9.0 to
0.9.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/jrgerber/smbios-lib/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=smbios-lib&package-manager=cargo&previous-version=0.9.0&new-version=0.9.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>
2023-09-25 14:55:44 +00:00
Thomas Eizinger
f968dddbbf fix(connlib): don't unnecessarily cfg for apple (#2126)
This file type-checks and compiles just fine on my local Linux machine
without the `cfg` attributes. Remove them to allow `cargo clippy
--all-targets` to be more useful in local development.
2023-09-25 14:48:31 +00:00
Thomas Eizinger
57809f20b0 refactor(connlib): move static LOGGING_GUARD to init_logging function (#2124)
Static variables can be declared within functions if that is their only
scope. Reducing the scope of variables makes it easier to understand the
code.
2023-09-25 01:01:13 +00:00
Pratik Velani
d7686610b6 fix(andrioid): Closing auth webview on Android leads to a blank screen (#2121)
- Fixed #2087 
- On signout/disconnect clear user data
2023-09-24 17:07:34 +00:00
Jamil
0342d37ef7 fix(portal): Fix sidebar item spacing (#2114)
# Before:
<img width="256" alt="Screenshot 2023-09-21 at 12 21 51 PM"
src="https://github.com/firezone/firezone/assets/167144/b39d4488-5116-46db-9a10-30fdc5ce10ca">

# After:
<img width="258" alt="Screenshot 2023-09-21 at 12 28 50 PM"
src="https://github.com/firezone/firezone/assets/167144/b8e0063e-b355-4e55-b1d3-45c553dd27fd">

Sidebar active state and collapsible will be fixed in another PR.
Fixes #2065
2023-09-22 15:50:47 +00:00
Roopesh Chander
d6a3d06b0c apple: Use the tunnel configuration for data persistence (#2113)
Fixes #2048.
Fixes #2023.

Previously:
  - accountId was stored in UserDefaults
- token and actorName were stored as two separate items of data in the
keychain (only one token+actorName can be in storage at any point in
time)

With this PR:
- accountId is stored in the tunnel configuration, along with the
authBaseURL
- token is stored in the keychain, along with the authURL and actorName
as attributes on the same keychain item
- a persistent reference to the token is stored in the tunnel
configuration (only the app and the tunnel can dereference it to access
the token without user intervention)
- once stored, the app never reads the token; the tunnel reads the token
directly from the keychain
- token is stored per authURL; so two tokens for two different authURLs
can be in storage at the same time
- when the accountId is changed in app settings, the app searches for
the new authURL in the keychain, and if it finds an item, considers the
app to be logged in with that user (a proper UI for switching accounts
shall come in later)
2023-09-22 11:26:28 +00:00
Andrew Dryga
c6ec7ab2db Drop healthcheck traces 2023-09-21 14:32:02 -06:00
dependabot[bot]
5e63ce0015 build(deps): Bump domain from 0.8.0 to 0.8.1 in /rust (#2110)
Bumps [domain](https://github.com/nlnetlabs/domain) from 0.8.0 to 0.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nlnetlabs/domain/releases">domain's
releases</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<p>New</p>
<ul>
<li>Added a new method <code>FoundSrvs::into_srvs</code> that converts
the value into an iterator over the found SRV records without resolving
them further. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>,
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/214">#214</a>
by [<a
href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]);
this was added in 0.7.2 but missing in 0.8.0)</li>
<li>Added impl of <code>Borrow&lt;Dname&lt;[u8]&gt;&gt;</code> and
<code>AsRef&lt;Dname&lt;[u8]&gt;&gt;</code> for
<code>Dname&lt;_&gt;</code>. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/219">#219</a>
by [<a href="https://github.com/iximeow"><code>@​iximeow</code></a>}],
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/225">#225</a>)</li>
<li>Added <code>Dname::fmt_with_dot</code> that can be used when wanting
to display a domain name with a dot at the end. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>)</li>
</ul>
<p>Bug Fixes</p>
<ul>
<li>Fixed trait bounds on <code>FoundSrvs::into_stream</code> to make it
usable again. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>,
[#214 by [<a
href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]];
this was fixed in 0.7.2 but missing in 0.8.0)</li>
<li>Fixed scanning of domain names that are just the root label. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>)</li>
<li>Fixed <code>util::base64::SymbolConverter</code> to also include the
final group in the output if there is padding. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/212">#212</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/174">NLnetLabs/domain#174</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/210">NLnetLabs/domain#210</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/212">#212</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/212">NLnetLabs/domain#212</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/214">#214</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/214">NLnetLabs/domain#214</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/219">#219</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/219">NLnetLabs/domain#219</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/225">#225</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/225">NLnetLabs/domain#225</a>
[<a href="https://github.com/iximeow"><code>@​iximeow</code></a>]: <a
href="https://github.com/iximeow">https://github.com/iximeow</a>
[<a href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]:
<a
href="https://github.com/WhyNotHugo">https://github.com/WhyNotHugo</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/NLnetLabs/domain/blob/main/Changelog.md">domain's
changelog</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<p>Released 2023-09-18</p>
<p>New</p>
<ul>
<li>Added a new method <code>FoundSrvs::into_srvs</code> that converts
the value into an
iterator over the found SRV records without resolving them further.
(<a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>,
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/214">#214</a>
by [<a
href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]);
this was added in 0.7.2 but missing
in 0.8.0)</li>
<li>Added impl of <code>Borrow&lt;Dname&lt;[u8]&gt;&gt;</code> and
<code>AsRef&lt;Dname&lt;[u8]&gt;&gt;</code> for
<code>Dname&lt;_&gt;</code>. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/219">#219</a>
by [<a href="https://github.com/iximeow"><code>@​iximeow</code></a>}],
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/225">#225</a>)</li>
<li>Added <code>Dname::fmt_with_dot</code> that can be used when wanting
to display a
domain name with a dot at the end. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>)</li>
</ul>
<p>Bug Fixes</p>
<ul>
<li>Fixed trait bounds on <code>FoundSrvs::into_stream</code> to make it
usable again.
(<a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>,
[#214 by [<a
href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]];
this was fixed in 0.7.2 but missing in
0.8.0)</li>
<li>Fixed scanning of domain names that are just the root label. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>)</li>
<li>Fixed <code>util::base64::SymbolConverter</code> to also include the
final group in
the output if there is padding. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/212">#212</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/nlnetlabs/domain/issues/174">#174</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/174">NLnetLabs/domain#174</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/210">NLnetLabs/domain#210</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/212">#212</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/212">NLnetLabs/domain#212</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/214">#214</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/214">NLnetLabs/domain#214</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/219">#219</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/219">NLnetLabs/domain#219</a>
<a
href="https://redirect.github.com/nlnetlabs/domain/issues/225">#225</a>:
<a
href="https://redirect.github.com/NLnetLabs/domain/pull/225">NLnetLabs/domain#225</a>
[<a href="https://github.com/iximeow"><code>@​iximeow</code></a>]: <a
href="https://github.com/iximeow">https://github.com/iximeow</a>
[<a href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a>]:
<a
href="https://github.com/WhyNotHugo">https://github.com/WhyNotHugo</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ddcf5feb1a"><code>ddcf5fe</code></a>
Release 0.8.1. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/226">#226</a>)</li>
<li><a
href="5ea7ad8809"><code>5ea7ad8</code></a>
Update changelog.</li>
<li><a
href="6d19a96c1b"><code>6d19a96</code></a>
Add AsRef impl for Dname. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/225">#225</a>)</li>
<li><a
href="6947e9b654"><code>6947e9b</code></a>
Merge branch 'main' of github.com:NLnetLabs/domain</li>
<li><a
href="f4f85451c1"><code>f4f8545</code></a>
Update changelog.</li>
<li><a
href="a6fef8fd8f"><code>a6fef8f</code></a>
Fix the Base 64 symbol converter. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/212">#212</a>)</li>
<li><a
href="89dc13b200"><code>89dc13b</code></a>
Merge branch 'main' of github.com:NLnetLabs/domain</li>
<li><a
href="500930e68d"><code>500930e</code></a>
Fix scanning of the root name. (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/210">#210</a>)</li>
<li><a
href="f55b8a57f8"><code>f55b8a5</code></a>
Improve documentation for srv module (<a
href="https://redirect.github.com/nlnetlabs/domain/issues/224">#224</a>)</li>
<li><a
href="0e0ab82e79"><code>0e0ab82</code></a>
Update changelog.</li>
<li>Additional commits viewable in <a
href="https://github.com/nlnetlabs/domain/compare/v0.8.0...v0.8.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=domain&package-manager=cargo&previous-version=0.8.0&new-version=0.8.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>
2023-09-21 19:24:33 +00:00
dependabot[bot]
2c70d54a3c build(deps): Bump serde_json from 1.0.106 to 1.0.107 in /rust (#2109)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.106 to
1.0.107.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.107</h2>
<ul>
<li>impl IntoDeserializer for &amp;RawValue (<a
href="https://redirect.github.com/serde-rs/json/issues/1071">#1071</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b6e113f203"><code>b6e113f</code></a>
Release 1.0.107</li>
<li><a
href="00626a0a95"><code>00626a0</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1073">#1073</a>
from dtolnay/rawvalue</li>
<li><a
href="b9d296f87d"><code>b9d296f</code></a>
IntoDeserializer for &amp;RawValue</li>
<li><a
href="4ea34a2566"><code>4ea34a2</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1072">#1072</a>
from dtolnay/rawvalue</li>
<li><a
href="fe30766ae5"><code>fe30766</code></a>
Support deserializing from &amp;RawValue</li>
<li><a
href="2c22077f0e"><code>2c22077</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1062">#1062</a>
from osiewicz/remove_build_rs</li>
<li><a
href="04f7758b6e"><code>04f7758</code></a>
fixup! chore: Remove no_btreemap_get_key_value and
no_btreemap_remove_entry.</li>
<li><a
href="83bdc5fd42"><code>83bdc5f</code></a>
Omit return keyword in <code>remove_entry</code></li>
<li><a
href="89a2741956"><code>89a2741</code></a>
Revert &quot;Remove limb_width32 and limb_width64 features&quot;</li>
<li><a
href="16e04ceedd"><code>16e04ce</code></a>
fixup! Remove limb_width32 and limb_width64 features</li>
<li>See full diff in <a
href="https://github.com/serde-rs/json/compare/v1.0.106...v1.0.107">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.106&new-version=1.0.107)](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-09-21 19:24:20 +00:00
dependabot[bot]
caa9984b29 build(deps): Bump libc from 0.2.147 to 0.2.148 in /rust (#2108)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.147 to 0.2.148.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c89f7474a6"><code>c89f747</code></a>
libc 0.2.148</li>
<li><a
href="835661543d"><code>8356615</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3322">#3322</a>
- shyouhei:feature/shyouhei/RTLD_MAIN_ONLY, r=JohnTitor</li>
<li><a
href="10e072473e"><code>10e0724</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3321">#3321</a>
- kleisauke:emscripten-update-node-16.20.0, r=JohnTitor</li>
<li><a
href="ff6a0c677b"><code>ff6a0c6</code></a>
properly modify the type with ::</li>
<li><a
href="837159cdd1"><code>837159c</code></a>
add RTLD_MAIN_ONLY</li>
<li><a
href="5841067de1"><code>5841067</code></a>
CI: Update Node.js version to v16.20.0</li>
<li><a
href="9447d174fc"><code>9447d17</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3313">#3313</a>
- devnexen:linux_mman_aarch64_upd, r=JohnTitor</li>
<li><a
href="cbeb1bde9f"><code>cbeb1bd</code></a>
linux glibc/musl and android adding PROT_BTI/PROT_MTE mmap flags for
arm64.</li>
<li><a
href="92a5d3e8f6"><code>92a5d3e</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3301">#3301</a>
- Dirreke:csky-unknown-linux-gnuabiv2, r=JohnTitor</li>
<li><a
href="cd4fc660b5"><code>cd4fc66</code></a>
Auto merge of <a
href="https://redirect.github.com/rust-lang/libc/issues/3312">#3312</a>
- alexcrichton:fix-aarch64-darwin-ucontext-t, r=JohnTitor</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.147...0.2.148">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.147&new-version=0.2.148)](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-09-21 19:24:06 +00:00
dependabot[bot]
616cabab78 build(deps): Bump clap from 4.4.2 to 4.4.4 in /rust (#2107)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.2 to 4.4.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.4.4</h2>
<h2>[4.4.4] - 2023-09-18</h2>
<h3>Internal</h3>
<ul>
<li>Update <code>terminal_size</code> to 0.3</li>
</ul>
<h2>v4.4.3</h2>
<h2>[4.4.3] - 2023-09-12</h2>
<h3>Documentation</h3>
<ul>
<li><em>(derive)</em> Clarify use of attributes within the tutorial</li>
<li>Split sections in the builder and derive tutorials into separate
modules</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.4.4] - 2023-09-18</h2>
<h3>Internal</h3>
<ul>
<li>Update <code>terminal_size</code> to 0.3</li>
</ul>
<h2>[4.4.3] - 2023-09-12</h2>
<h3>Documentation</h3>
<ul>
<li><em>(derive)</em> Clarify use of attributes within the tutorial</li>
<li>Split sections in the builder and derive tutorials into separate
modules</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e6e539660f"><code>e6e5396</code></a>
chore: Release</li>
<li><a
href="acbb60c113"><code>acbb60c</code></a>
docs: Update changelog</li>
<li><a
href="f09d521450"><code>f09d521</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5129">#5129</a>
from cgwalters/widen-terminal-size</li>
<li><a
href="84f99ff979"><code>84f99ff</code></a>
chore(builder): Bump terminal_size to 0.3</li>
<li><a
href="7f8df272d9"><code>7f8df27</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5124">#5124</a>
from devinherron/master</li>
<li><a
href="4dff87386a"><code>4dff873</code></a>
fix(doc): Fix typo in 03_04_subcommands.md</li>
<li><a
href="e9668b364c"><code>e9668b3</code></a>
chore: Release</li>
<li><a
href="bc4986e01e"><code>bc4986e</code></a>
docs: Update changelog</li>
<li><a
href="3d53641ca1"><code>3d53641</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5122">#5122</a>
from epage/docs</li>
<li><a
href="32586c7b63"><code>32586c7</code></a>
docs(tutorial): Split into separate modules per section</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/v4.4.2...v4.4.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.4.2&new-version=4.4.4)](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-09-21 19:23:54 +00:00
Andrew Dryga
93cb8a0699 Replace trace events with spans (#2112) 2023-09-21 11:48:01 -06:00
Thomas Eizinger
32d6a55b01 ci: lint cloud-init config for elixir-app (#2105) 2023-09-21 11:47:39 -06:00
Thomas Eizinger
2e3171bbf8 fix(relay): only listen for traces & metrics on localhost (#2102)
This fixes two warnings in our logs that tell us to not listen on
`0.0.0.0`. See
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks.

I don't use the HTTP receiver for sending traces or metrics so that one
can safely be disabled.
2023-09-21 06:51:26 +00:00
Thomas Eizinger
ad4184fe58 deps(rust): instruct dependabot to group all opentelemetry dependencies (#2100)
In case of new semver-minor releases, these dependencies need to be
bumped together, otherwise things don't compile
2023-09-21 06:35:25 +00:00
Thomas Eizinger
635a5d4091 feat(relay): enable debug logs for otel collector (#2099)
The `debug` exporter prints statements like the following to stdout:

> 2023-09-07T09:57:43.468-0700 info TracesExporter {"kind": "exporter",
"data_type": "traces", "name": "debug", "resource spans": 1, "spans": 2}

Activating debug logs should give us overall more insight into what this
thing is doing.
2023-09-21 06:35:19 +00:00
Thomas Eizinger
9d93d02b48 deps(relay): bump to stun-codec 0.3.3 (#2088)
I've opened several PRs upstream for code that was missing in
`stun-codec` for our purposes. Those have been accepted and released, so
we can bump to that version now and remove that code.

Related: https://github.com/sile/stun_codec/pull/14.
Related: https://github.com/sile/stun_codec/pull/15.
Related: https://github.com/sile/stun_codec/pull/16.
Related: https://github.com/sile/stun_codec/pull/17.

A big thanks to @sile for the crate and being responsive maintainer
🥳
2023-09-21 06:31:11 +00:00
Andrew Dryga
e635ee3774 Properly set parent span ids for phoenix channels (#2101) 2023-09-20 22:21:34 -06:00
Thomas Eizinger
5ed3601231 ci(terraform): ensure relay cloud-init config is valid (#2097)
I found the following in the serial port logs on GC:

> [ 24.279297] cloud-init[742]: 2023-09-20 19:34:00,095 -
schema.py[WARNING]: Invalid cloud-config provided: Please run 'sudo
cloud-init schema --system' to see the schema errors.

Not sure if it causes any problems at the moment because the spans seem
to import fine but I figured it cannot hurt to add a linter to our CI.
2023-09-21 03:08:27 +00:00
Andrew Dryga
0d9b5f368a Fix workflow search path for migrations CI (#2096) 2023-09-20 13:20:17 -06:00
Jamil
713c34e496 fix(connlib): Persist logging guard for the duration of the session (#2058)
This allows the file logger to write events as they're emitted so that
we (attempt to) capture everything for the lifetime of the session.

Sample:

```json
{"time":"2023-09-13T13:28:26.396615Z","target":"libs_common::session","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/common/src/session.rs","line":"324"},"severity":"DEBUG","message":"Attempting connection to portal..."}
{"time":"2023-09-13T13:28:26.436317Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/hs.rs","logLine":73,"logModulePath":"rustls::client::hs","logTarget":"rustls::client::hs","message":"No cached session for DnsName(\"api.firez.one\")"}
{"time":"2023-09-13T13:28:26.43694Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/hs.rs","logLine":132,"logModulePath":"rustls::client::hs","logTarget":"rustls::client::hs","message":"Not resuming any session"}
{"time":"2023-09-13T13:28:26.446781Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/hs.rs","logLine":615,"logModulePath":"rustls::client::hs","logTarget":"rustls::client::hs","message":"Using ciphersuite TLS13_AES_256_GCM_SHA384"}
{"time":"2023-09-13T13:28:26.447046Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/tls13.rs","logLine":142,"logModulePath":"rustls::client::tls13","logTarget":"rustls::client::tls13","message":"Not resuming"}
{"time":"2023-09-13T13:28:26.449001Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/tls13.rs","logLine":381,"logModulePath":"rustls::client::tls13","logTarget":"rustls::client::tls13","message":"TLS1.3 encrypted extensions: []"}
{"time":"2023-09-13T13:28:26.449266Z","target":"log","severity":"DEBUG","logFile":"/Users/jamil/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.7/src/client/hs.rs","logLine":472,"logModulePath":"rustls::client::hs","logTarget":"rustls::client::hs","message":"ALPN protocol is None"}
{"time":"2023-09-13T13:28:26.544357Z","target":"libs_common::session","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/common/src/session.rs","line":"327"},"severity":"WARNING","error":"PortalConnectionError(Http(Response { status: 404, version: HTTP/1.1, headers: {\"cache-control\": \"max-age=0, private, must-revalidate\", \"content-length\": \"9\", \"date\": \"Wed, 13 Sep 2023 13:28:25 GMT\", \"server\": \"Cowboy\", \"strict-transport-security\": \"max-age=63072000; includeSubDomains; preload\", \"x-request-id\": \"F4R4XmBOoVfqEVkAAAVh\", \"via\": \"1.1 google\", \"alt-svc\": \"h3=\\\":443\\\"; ma=2592000,h3-29=\\\":443\\\"; ma=2592000\", \"connection\": \"close\"}, body: Some([78, 111, 116, 32, 102, 111, 117, 110, 100]) }))","message":"Portal connection error"}
{"time":"2023-09-13T13:28:26.544838Z","target":"libs_common::session","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/common/src/session.rs","line":"330"},"severity":"WARNING","message":"Error connecting to portal, retrying in 42 seconds"}
{"time":"2023-09-13T13:28:36.087416Z","target":"tunnel_state","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/client/src/control.rs","line":"255"},"severity":"DEBUG","message":"TunnelStats {\n    public_key: \"BQCIkQ7iNdQxEnZo6lGwR8prKJgMlJGL+UPj+C50J0s=\",\n    peers_by_ip: {},\n    peer_connections: [\n        7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    ],\n    resource_gateways: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: 7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    },\n    dns_resources: {},\n    network_resources: {\n        V4(\n            Ipv4Network {\n                network_address: 172.31.83.10,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 01c6a1ea-2540-4ec8-9caa-0015ddfffb55,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.83.10,\n                        netmask: 32,\n                    },\n                ),\n                name: \"TCP / UDPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.92.238,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 115ab626-ac3e-4890-b613-07f90bc1afb3,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.92.238,\n                        netmask: 32,\n                    },\n                ),\n                name: \"Performance Testing\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.82.179,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 2a39fb5e-f7f4-44da-9163-5675c009a2ae,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.82.179,\n                        netmask: 32,\n                    },\n                ),\n                name: \"HTTPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.93.123,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 196b9f86-0789-4c2e-8afd-3b3cd59e1462,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.93.123,\n                        netmask: 32,\n                    },\n                ),\n                name: \"IPerf3\",\n            },\n        ),\n    },\n    gateway_public_keys: {},\n    awaiting_connection: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: AwaitingConnectionDetails {\n            total_attemps: 31,\n            response_received: true,\n        },\n    },\n    gateway_awaiting_connection: {\n        7482154e-107d-4981-8f5e-4becf1a9bfd2: [],\n    },\n}"}
{"time":"2023-09-13T13:28:46.087297Z","target":"tunnel_state","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/client/src/control.rs","line":"255"},"severity":"DEBUG","message":"TunnelStats {\n    public_key: \"BQCIkQ7iNdQxEnZo6lGwR8prKJgMlJGL+UPj+C50J0s=\",\n    peers_by_ip: {},\n    peer_connections: [\n        7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    ],\n    resource_gateways: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: 7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    },\n    dns_resources: {},\n    network_resources: {\n        V4(\n            Ipv4Network {\n                network_address: 172.31.82.179,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 2a39fb5e-f7f4-44da-9163-5675c009a2ae,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.82.179,\n                        netmask: 32,\n                    },\n                ),\n                name: \"HTTPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.83.10,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 01c6a1ea-2540-4ec8-9caa-0015ddfffb55,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.83.10,\n                        netmask: 32,\n                    },\n                ),\n                name: \"TCP / UDPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.92.238,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 115ab626-ac3e-4890-b613-07f90bc1afb3,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.92.238,\n                        netmask: 32,\n                    },\n                ),\n                name: \"Performance Testing\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.93.123,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 196b9f86-0789-4c2e-8afd-3b3cd59e1462,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.93.123,\n                        netmask: 32,\n                    },\n                ),\n                name: \"IPerf3\",\n            },\n        ),\n    },\n    gateway_public_keys: {},\n    awaiting_connection: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: AwaitingConnectionDetails {\n            total_attemps: 31,\n            response_received: true,\n        },\n    },\n    gateway_awaiting_connection: {\n        7482154e-107d-4981-8f5e-4becf1a9bfd2: [],\n    },\n}"}
{"time":"2023-09-13T13:28:53.703612Z","target":"log","severity":"WARNING","logFile":"/Users/jamil/.cargo/git/checkouts/webrtc-316f277f555c12ed/672e728/mdns/src/conn/mod.rs","logLine":359,"logModulePath":"webrtc_mdns::conn","logTarget":"webrtc_mdns::conn","message":"Failed to parse mDNS packet parsing/packing of this type isn't available yet"}
{"time":"2023-09-13T13:28:54.709612Z","target":"log","severity":"WARNING","logFile":"/Users/jamil/.cargo/git/checkouts/webrtc-316f277f555c12ed/672e728/mdns/src/conn/mod.rs","logLine":359,"logModulePath":"webrtc_mdns::conn","logTarget":"webrtc_mdns::conn","message":"Failed to parse mDNS packet parsing/packing of this type isn't available yet"}
{"time":"2023-09-13T13:28:56.086942Z","target":"tunnel_state","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/client/src/control.rs","line":"255"},"severity":"DEBUG","message":"TunnelStats {\n    public_key: \"BQCIkQ7iNdQxEnZo6lGwR8prKJgMlJGL+UPj+C50J0s=\",\n    peers_by_ip: {},\n    peer_connections: [\n        7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    ],\n    resource_gateways: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: 7482154e-107d-4981-8f5e-4becf1a9bfd2,\n    },\n    dns_resources: {},\n    network_resources: {\n        V4(\n            Ipv4Network {\n                network_address: 172.31.82.179,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 2a39fb5e-f7f4-44da-9163-5675c009a2ae,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.82.179,\n                        netmask: 32,\n                    },\n                ),\n                name: \"HTTPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.93.123,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 196b9f86-0789-4c2e-8afd-3b3cd59e1462,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.93.123,\n                        netmask: 32,\n                    },\n                ),\n                name: \"IPerf3\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.83.10,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 01c6a1ea-2540-4ec8-9caa-0015ddfffb55,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.83.10,\n                        netmask: 32,\n                    },\n                ),\n                name: \"TCP / UDPbin\",\n            },\n        ),\n        V4(\n            Ipv4Network {\n                network_address: 172.31.92.238,\n                netmask: 32,\n            },\n        ): Cidr(\n            ResourceDescriptionCidr {\n                id: 115ab626-ac3e-4890-b613-07f90bc1afb3,\n                address: V4(\n                    Ipv4Network {\n                        network_address: 172.31.92.238,\n                        netmask: 32,\n                    },\n                ),\n                name: \"Performance Testing\",\n            },\n        ),\n    },\n    gateway_public_keys: {},\n    awaiting_connection: {\n        2a39fb5e-f7f4-44da-9163-5675c009a2ae: AwaitingConnectionDetails {\n            total_attemps: 31,\n            response_received: true,\n        },\n    },\n    gateway_awaiting_connection: {\n        7482154e-107d-4981-8f5e-4becf1a9bfd2: [],\n    },\n}"}
{"time":"2023-09-13T13:28:57.52105Z","target":"firezone_tunnel::tun","logging.googleapis.com/sourceLocation":{"file":"connlib/libs/tunnel/src/tun_darwin.rs","line":"224"},"severity":"DEBUG","message":"MTU for utun7 is 1420"}
```


Sample log attached:


[connlib.log.zip](https://github.com/firezone/firezone/files/12598066/connlib.log.zip)
2023-09-20 17:21:09 +00:00