38 Commits
Author SHA1 Message Date
Albin 76b7136150 Migrate android container base to plain debian 13 2026-10-02 15:20:01 +02:00
Jonatan Rhodin 6fd4cdf89d Lock down requirements file 2026-09-21 10:42:56 +02:00
Markus Pettersson 571ce08bbd Update actions/checkout@v4 to v6.0.2
Mitigate deprecation of nodejs 20 github actions runner coming up this
fall.
2026-05-18 16:09:07 +02:00
David Lönnhager 80a432a881 Remove GotaTun from workflows 2026-05-12 10:03:56 +02:00
Linus Färnstrand 366b2dcec3 Add CI job to prevent new ownerless files
Adds a workflow that compares ownerless files between the PR base and
head. Fails if the PR introduces files not covered by any team in
code-owners.json. Uses @actions/glob for pattern matching, consistent
with the existing code-owner-approval workflow.
2026-03-26 18:35:38 +01:00
Albin 0335bb154f Update flake lockfile path in signature lockdown check 2025-11-17 13:52:06 +01:00
Linus Färnstrand 9af1544c57 Require signatures on code owners files 2025-09-30 11:40:37 +02:00
Steffen 085b688a24 Add license check for iOS to prevent GPL3 dependencies 2025-09-10 13:00:41 +02:00
Linus Färnstrand ce04bd9bfd Update names for git signature checking CI job 2025-07-24 15:18:00 +02:00
Albin 241f3f873b Add android devshell lockfile to lockdown list 2025-07-15 15:36:50 +02:00
Linus Färnstrand f2da810790 Mark trusted-metadata-signing-pubkeys as needing signatures to be edited 2025-04-02 15:40:02 +02:00
David Göransson 8418dc5fe1 Add new files to verify locked down flow 2025-03-20 14:40:35 +01:00
Linus Färnstrand 71190b2236 Run the unicop tool on this repository 2025-03-04 10:35:10 +01:00
Kalle Lindström 193e4d41f2 Add rust-toolchain.toml to verified signature list 2025-02-04 14:22:58 +01:00
tinyboxvk 18dca80616 Update Actions
Signed-off-by: tinyboxvk <13696594+tinyboxvk@users.noreply.github.com>
2024-11-26 10:18:37 -04:00
Markus Pettersson 5fb6184083 Add nsventforwarder to root Cargo workspace 2024-11-21 09:04:48 +01:00
Oskar adc1711478 Fix verify-locked-down-signaturs job 2024-11-14 16:47:20 +01:00
Oskar d7c1f569a8 Update github actions workflows 2024-11-14 16:43:37 +01:00
Linus Färnstrand 358b764410 Limit permissions on verify-locked-down-signatures CI job 2024-07-25 08:59:14 +02:00
Linus Färnstrand b7b2419321 Force changes to CODEOWNERS to be signed 2024-07-23 09:35:54 +02:00
Sebastian HolminandJoakim Hulthe da95b26034 Add a safe FFI wrapper in wireguard-go-rs
- Add local wireguard go import
- Activate DAITA and add `wgActivateDaita` and `wgReceiveEvent` FFI
- Implement `start_daita` on Wireguard-go tunnel type
- Mention DAITA in `wireguard-go-rs` description
- Do not compile `wireguard-go-rs` on Windows
- Handle DAITA closed on `nil` event
- Handle daita action timeouts in libwg
- Remove noisy log lines
- Remove `maybenot_on_action` callback
- Remove unused link to `../build/lib` for `talpid-wireguard`
- Bump the `wireguard-go` submodule to a signed release tag in Mullvad's
  `wireguard-go` fork.
- Update path to `libwg/go.sum` in verification script

Also:
- Use u64 instead of *mut void as log context
- Make Tunnel::set_config take a &mut self
- Use dyn Error instead of i32s for wg errors

Co-authored-by: Joakim Hulthe <joakim@hulthe.net>
2024-06-25 17:31:32 +02:00
Linus Färnstrand cca4bc321b Require changes to Cargo.toml to be signed
Also add a (forgotten?) test/Cargo.lock
2024-04-02 10:37:31 +02:00
Linus Färnstrand 45fce79fe2 Require signatures to update test/deny.toml
It's less important than the root deny.toml. But it still
in certain ways affect supply chain security and licensing
2024-03-26 10:45:01 +01:00
Albin 82a117b168 Ensure signed commits for gradle wrapper updates 2024-03-21 09:20:57 +01:00
Linus Färnstrand c26deb1134 Add deny.toml to list of important files that must be signed
Since it controls what external sources cargo is allowed to pull in
2024-03-08 15:11:47 +01:00
Linus Färnstrand de8aa2c441 Edit verify signature CI to catch changes in files in folders 2023-06-28 17:32:40 +02:00
Jonathan 14750db87c Fix CI verification script
The verification script running on github would complain that the first
commit of a PR changed all of the locked down files if this commit was
unsigned. The reason was that in our github enviornment we don't fetch
the entire git history but instead only the needed commits (so called
shallow repository). The entire history is therefore folded into the
first commit in the shallow repo. Since this history contains
modifications of locked down files and since this commit is not signed
the script will think this commit modified files its not allowed to.
This fix deepens the shallow repo by 1 after fetching.
It also clarifies a print in verification script to be more descriptive.
2023-06-09 16:32:31 +02:00
Jonathan c1238f96d5 Fix broken github CI script caused by CVE fix
The github CI code broke due to a code injection vulnerability
being fixed in a quick-and-dirty way. The dirty solution is here
cleaned up and works better than previously.
2023-05-09 09:29:53 +02:00
Linus Färnstrand 9c623cc0b6 Temporary fix to avoid the reported vuln: GHSA-x5vj-ch4c-g3jr 2023-04-27 14:06:26 +02:00
Linus Färnstrand a0d5aa28ad Rename all mentions of the "master" branch to "main" 2023-02-23 12:01:58 +01:00
Linus Färnstrand eb82949a45 Run yamlfix on all of .github/workflows/ 2023-01-13 11:28:37 +01:00
Albin f78f0f50f0 Fix verification of container image references 2023-01-10 15:32:47 +01:00
Linus Färnstrand ad3714b95d Make any changes to the container sigstore require signatures 2022-12-07 10:59:24 +01:00
Mullvad build server bb179fae88 Add initial build-and-publish.sh script and readme for build containers 2022-11-30 14:45:46 +01:00
Albin 1de69a68bf Add gradle lockfiles to signature lockdown check 2022-09-06 06:40:42 +02:00
David Lönnhager d2a62b9067 Detect changes to go.sum in lockfile signature workflow 2022-08-12 10:15:12 +02:00
Jonathan fe89282b4b Add swift Package.resolved 2022-07-18 18:03:13 +02:00
Jonathan a6b73f3c3b Create verification script and github action
Create a script which verifies that a set of "locked down" files are not
changed in commits that have not been signed.

Create a github workflow that runs the script in the CI.

The script accepts --whitelist <commit> and --import-gpg-keys arguments.
The default settings are supposed to work on the build server without
importing the gpg keys from the trusted_keys.pub file and running with a
hardcoded whitelist commit.
Make the CI workflow use these arguments as it is supposed to in
.github.

The public keys that can be imported are specified as files in the ci/keys/
directory.

The files that are locked down are specified in the .github workflow as
a single source of truth. This requires some complicated parsing in the
verification script as well as a dependency from the verification script
to the workflow YAML. These are not ideal design choices however the
alternative is to not have a single source of truth for the locked down
files as the github workflow can not depend on an external file.

The mullvad signing key is named to be first in the list in order to be
imported first.

The whitelisted commit is the latest master before this commit
2022-07-05 11:27:04 +02:00