Commit Graph

3083 Commits

Author SHA1 Message Date
Jamil
33bcbbee45 Add a detailed Google Workspace setup guide and other docs (#2876)
- Added google workspace docs at `/kb/authenticate/google`
- Updated in-product Provider creation form with more details and a link
to docs
- Fixed bg-color for unauthenticated layouts

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-12-13 07:16:11 +00:00
Gabi
75d90d7372 connlib: set DNS response type for answers (#2892)
just silly but important mistake 😛 

fixes #2858 and #2859 (though there might be an additional edge case in
#2859 where the upstream server is set as a dns, though it seems to work
some further testing would be good)
2023-12-13 03:14:42 +00:00
Thomas Eizinger
0de16d3676 refactor(connlib): remove async from the Device API (#2815)
At present, the definition of `Device` is heavily nested with
conditional code. I've found this hard to understand and navigate.
Recent refactorings now made it possible to remove a lot of these layers
so we primarily deal with two concepts:

- A `Device` which offers async read and non-blocking write functions
- A `Tun` abstraction which is platform-specific

Instead of dedicated modules, I chose to feature-flag individual
functions on `Device` with `#[cfg(target_family = "unix")]` and
`#[cfg(target_family = "windows")]`. I find this easier to understand
because the code is right next to each other.

In addition, changing the module hierarchy of `Device` allows us to
remove `async` from the public API which is only introduced by the use
of `rtnetlink` in Linux. Instead of making functions across all `Tun`
implementations `async`, we embed a "worker" within the `linux::Tun`
implementation that gets polled before `poll_read`.

---------

Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-12-12 19:47:26 +00:00
Reactor Scram
cd3114cc1d windows: tell Windows that our release builds should always run as admin (#2838)
It'll show UAC when you first run the app. After that we can open and
close the VPN network adapter without showing more UAC dialogs since we
have sudo powers.
2023-12-12 17:49:32 +00:00
Reactor Scram
a339f5b437 feat(windows): generate device ID and persist it on disk (#2840)
Relating to #2697 and #2711

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2023-12-12 17:46:26 +00:00
Gabi
e1fb6c80a0 fix(connlib): attempt to join topic upon unmatched topic error (#2874)
Fixes: #2854.

Note: this is ready for review but reproducing the bug that triggered
the fix takes ~1 hour or so, so I would like to wait to check that's
fixed.

Can be reviewed meanwhile.
2023-12-12 16:57:47 +00:00
Jamil
6e602dd388 Fix Sendgrid records for sending emails for firezone.dev (#2877)
Attempting to up our `firezone.dev` deliverability. Debugging delivery
issues with it.
<img width="2788" alt="Screenshot 2023-12-11 at 5 37 20 PM"
src="https://github.com/firezone/firezone/assets/167144/1cc180ee-670b-41dc-9959-ab962076cff5">
2023-12-12 10:51:13 -06:00
Andrew Dryga
b7a7fff828 Remove relays dependency to reduce state changes 2023-12-12 10:49:21 -06:00
Reactor Scram
5853b13794 windows: add module to install the wintun.dll by embedding it in the client's exe and then copying it out at runtime (#2843)
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-12 16:28:48 +00:00
Andrew Dryga
f1e9715d79 Change staging feed channel 2023-12-12 09:41:32 -06:00
Andrew Dryga
52b284abd9 Terraform improvements for production (#2873) 2023-12-11 19:41:01 -06:00
Jamil
ba44b2cbad Usability iteration 1 (#2869)
* Fix numerous typos and grammar
* Align all next/continue action buttons to the right side of the form
* Rework the Gateway deploy page to be more readable and use consistent
colors
* Link to `Troubleshooting` guide for gateway deployments
* Add spacing between `:sections` so they stand out more
* Move help paragraphs into `:help`s
* Make links consistent to `text-accent-500` to match website/docs
(buttons unchanged)
* Add `warning` style button

More to come in further PRs

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-12-11 21:12:53 +00:00
Jamil
2f9d4d8487 Fix visibility for dark screens (#2849)
![IMG_904438F58D46-1](https://github.com/firezone/firezone/assets/167144/adaeb80e-df24-4278-88ff-5db63665f277)
2023-12-11 21:00:11 +00:00
Gabi
8d3bdf7d45 connlib: add dns routes at tunnel init (#2870)
Fixes #2853 

Note: it seems that this actually fixes ERR_NETWORK_CHANGED.
2023-12-11 19:42:55 +00:00
Reactor Scram
8718cc9245 feat(windows): check in wintun x64 DLL 0.14.1 for #2758 (#2842)
Just adds the DLL and header

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-11 19:17:51 +00:00
Jamil
be37ed1b5c Use the dnsFallbackStrategy configured in portal for macOS/iOS (#2860)
Fixes #2857
2023-12-11 00:13:55 +00:00
Jamil
3bcdbb27e4 Remove website gradients (#2847) 2023-12-10 17:30:38 +00:00
Jamil
9c2c719424 Remove duplicate ios/macos builds (#2851)
We're uploading dupe builds of the client on macOS and iOS because we're
testing the build on Xcode 14 and 15.

Since Xcode 15 is stable now, builds for 14 can be removed.
2023-12-10 17:30:28 +00:00
Jamil
7eb568c862 Update NOTICE.txt
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-10 06:10:22 -08:00
Jamil
786e156337 Elixir/domain ops (#2837)
Adds a helper method we can call from a live IEX to provision an account
when signups are disabled.
2023-12-10 01:35:48 +00:00
Jamil
46a950da84 Retry 60 times to reconnect (#2846)
* Reconnect 60 times to reconnect, every second
* Fix "in limbo" animation to occur during reconnecting, disconnecting,
and reasserting states (up to 60 seconds)
2023-12-09 21:46:44 +00:00
Reactor Scram
a8c0c5255f windows: add example / test binary to keep debugging code out of the main exe (#2822)
It doesn't run with `--example` because Tauri's build process doesn't
seem to be compatible with that.
But it does build the permissions test exe in CI. I might change that a
general test exe later so that I don't have to add more build targets.

It adds about 5 minutes to the CI, sccache only seems to speed up the
build for the 2nd exe a tiny bit.
2023-12-09 20:43:27 +00:00
Gabi
3b3cf6bf27 connlib: fix ipv6 range (#2844) 2023-12-09 18:54:59 +00:00
Jamil
fd9cc88746 Don't use host mode networking for gateways on prod (#2845)
Try fixing masquerading by not using host mode to deploy gateway in GCP.
2023-12-09 18:49:56 +00:00
Andrew Dryga
62507dc704 Add hostname as part of entropy source to generate FIREZONE_ID on prod 2023-12-08 21:04:40 -05:00
Gabi
b817ddfe7f Assorted fixes (#2839) 2023-12-08 19:43:40 +00:00
Andrew Dryga
715392b62f Use Ubuntu 24.04 LTS for our prod gateway deployments 2023-12-08 12:53:11 -05:00
Jamil
3bba76e9ef Timeout perf test after 5 minutes; don't restart containers (#2831)
This should hopefully fix / speed up some of the recent CI issues
@ReactorScram is hitting
2023-12-08 17:13:50 +00:00
Reactor Scram
4b833e06ab docs(windows): requirements for diagnostic logging tab (#2834)
Add requirements for the Diagnostic Logs tab per internal discussion
2023-12-08 17:13:30 +00:00
Jamil
845707bd09 Update README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-08 12:27:21 -05:00
Andrew Dryga
79e1a7582d Fix resources auth query (#2835) 2023-12-08 12:22:37 -05:00
Reactor Scram
7a9c1321dc windows: get actor_name from auth callback (#2820)
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-08 16:39:31 +00:00
Jamil
8cb2833ce3 UI cleanup for iOS (#2832)
* Removes remaining traces of account ID. We don't have any external
users using the app _yet_ so I wanted to remove the tech debt completely
before we get the app to testers
* Adds logo to welcome screen
* Removes "CONNECTION" section from MainView
2023-12-08 10:29:17 -05:00
Andrew Dryga
cbdaf02072 Reduce log verbosity on prod gateways 2023-12-08 10:05:40 -05:00
Gabi
d19beb7ae6 swift: fix for the new resource format (#2833) 2023-12-08 09:35:17 -05:00
Gabi
8e34457340 Add support for DNS sudomains (#2735)
This PR changes the protocol and adds support for DNS subdomains, now
when a DNS resource is added all its subdomains are automatically
tunneled too. Later we will add support for `*.domain` or `?.domain` but
currently there is an Apple split tunnel implementation limitation which
is too labor-intensive to fix right away.

Fixes #2661 

Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-12-08 00:16:42 -05:00
bmanifold
6ab445555a Update synced group badge color on actor pages (#2827) 2023-12-08 00:00:10 -05:00
Andrew Dryga
00380cc59e Fix small bugs with colors (#2828) 2023-12-07 23:59:55 -05:00
Andrew Dryga
1bf107553d Do not create incidents on gcloud api timeouts 2023-12-07 22:49:53 -05:00
Andrew Dryga
3280827a18 Do not show danger zone when group is synced 2023-12-07 22:49:53 -05:00
Andrew Dryga
0eee8a7c26 Show error when policy is created with no groups available (#2825) 2023-12-07 22:25:44 -05:00
Jamil
ed3db22d01 Remove Account ID from Android (#2824)
Remove `AccountID` from Android. Refs #2791

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-12-08 02:38:12 +00:00
Andrew Dryga
8fe09d2859 Report incidents to PagerDuty and monitor website/errors in logs 2023-12-07 19:06:41 -05:00
Andrew Dryga
8312779813 Do not crash when request did not container user-agent 2023-12-07 19:06:41 -05:00
Andrew Dryga
3b94152edd Do not log a crash when client token is expired 2023-12-07 19:06:41 -05:00
Reactor Scram
8f433a8c45 docs(windows): document manual test cases (#2819)
This will help me keep all the expected behaviors of the client app
centralized and avoid regressions when I change things.
2023-12-07 22:04:41 +00:00
Jamil
97838f89e9 Website/about (#2821)
Fixes firezone/gtm#222
2023-12-07 21:02:45 +00:00
bmanifold
acbb8bcf44 Update all tailwind classes to use primary/accent/neutral (#2805)
Updated portal to make sure we use primary/accent/neutral in as many
places as possible.

Updated our neutral color palette to only have grayscale colors.

Also aliased the main colors (i.e. red/green/blue/yellow/orange) to use
an `fz_` prefix to allow for easier find/replace if needed, as well as
allowing easy customization of the colors later if needed.
2023-12-07 20:31:38 +00:00
Reactor Scram
6d9360c150 windows: fix advanced settings loading, catch deep link error (#2811)
Based / Blocked on #2795

Fixes #2807 where I accidentally bail out of the controller task if the
settings file is missing or isn't valid in any way.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-07 18:28:28 +00:00
Roopesh Chander
2eb9e7db2d macOS: Don't sign out on rebooting the Mac (#2816)
Fixes #2809.

Tested the case where the user:
- while being signed in and connected in the Firezone app, logs out of
macOS
  - logs in as another user

In the above case, the app:
- sees that there's a token reference stored in the tunnel, but is
unable to access the token (the token is per user)
  - so the app signs the user out

This PR is stacked on top of PR #2804.
2023-12-07 18:15:53 +00:00