110 Commits

Author SHA1 Message Date
Jason Robinson
720c77b331 Add syn2mas flag to ignore missing auth providers
Currently `syn2mas` will always error in the Synapse checks phase if it finds auth providers in the `user_external_ids` database table, that are not configured in Synapse config. While normally this the right thing to do, we may have situations where we know what we're doing, and want to ignore invalid looking data in the external identifiers table. If the flag is given, ignore errors and output them as warnings instead.
2026-01-26 14:57:31 +02:00
Quentin Gliech
5cdf938129 Remove leftovers from the old email verification system 2026-01-08 15:17:37 +01:00
networkException
23322cfc28 Add upstream_oauth2.providers.[].client_secret_file config option
This patch factors out the previously introduced config
wrapper for client secrets to also use it for upstream oauth
providers.

See dd040220db
2025-11-08 16:10:19 +01:00
Quentin Gliech
7253ca69b0 Merge remote-tracking branch 'origin/main' into feat/login_hint_with_email 2025-08-18 16:43:00 +02:00
Quentin Gliech
eded025ff4 Fix a few clippy lints, mostly in doc comments 2025-08-18 10:34:28 +02:00
Quentin Gliech
78933acb3c Collapse a few nested if now that we have if let chains 2025-08-18 10:29:30 +02:00
mcalinghee
062f5aced7 move Clock/MockClock/SystemClock/BoxClock/BoxRng to mas-data-model 2025-07-31 11:17:33 +02:00
Quentin Gliech
b8d23be313 Fix many clippy warnings
This is because the tracing-attributes update made clippy look at those
again. I've removed the `too_many_lines` lint, as it's not really useful
and we ignore it most of the time anyway.
2025-07-30 14:49:38 +02:00
Quentin Gliech
62dcab9f75 Box all the figment errors to avoid large enum differences 2025-07-16 19:23:06 +02:00
Quentin Gliech
db8c557f81 Backchannel logout behavior settings on upstream providers 2025-07-04 16:27:10 +02:00
Quentin Gliech
6421d9d1f5 Add license headers in most files that missed them 2025-06-12 11:01:07 +02:00
Quentin Gliech
52b0a9b2ba Update license headers to match the actual license 2025-06-12 10:32:16 +02:00
Quentin Gliech
69e3001966 Define all the dependencies at the workspace level 2025-06-10 14:25:38 +02:00
Quentin Gliech
60be23eab7 Allow applying unicode normalisation to passwords before hashing (#4599) 2025-05-30 16:17:12 +02:00
Quentin Gliech
f63b466145 Allow applying unicode normalisation to passwords before hashing 2025-05-30 15:42:32 +02:00
dependabot[bot]
c9fff4dae4 build(deps): bump uuid from 1.16.0 to 1.17.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-27 13:27:19 +00:00
Doug
03d6fa0485 Fix database snapshot. 2025-05-07 09:17:28 +01:00
Doug
7f91c8948b Add a configuration for forwarding the login hint to the upstream provider. 2025-05-06 17:50:33 +01:00
Quentin Gliech
687b1b35c4 syn2mas: allow setting the db name via the database field
This is supported (but deprecated) by psycopg2, which Synapse uses
2025-05-05 09:58:46 +02:00
Quentin Gliech
348eb56344 syn2mas: introduce a dry-run mode 2025-04-23 14:42:30 +02:00
Quentin Gliech
44727912c0 Add a few missing license headers 2025-04-23 13:46:44 +02:00
Quentin Gliech
d62fe98f5a syn2mas: provide guidance on how to re-do a fresh migration 2025-04-23 13:34:34 +02:00
Quentin Gliech
fa1ecc5216 syn2mas: warn about existing oauth-delegated user_external_ids 2025-04-23 13:30:02 +02:00
Quentin Gliech
853b987a4a syn2mas: only log once when rebuilding constraints 2025-04-22 17:46:12 +02:00
Quentin Gliech
9aafc576a1 syn2mas: log the number of entities migrated at each step 2025-04-22 17:38:58 +02:00
Quentin Gliech
ad2c183c71 syn2mas: reduce the channel buffer size 2025-04-22 17:35:15 +02:00
Quentin Gliech
1056949149 syn2mas: remove the MasWriter::write_ methods and replaced them in tests 2025-04-22 16:35:37 +02:00
Quentin Gliech
47009a8800 syn2mas: make the MasWriteBuffer use the WriteBatch trait 2025-04-22 15:49:17 +02:00
Quentin Gliech
d2f1ab08fb syn2mas: implement WriteBatch for MasNewCompatRefreshToken 2025-04-22 14:42:52 +02:00
Quentin Gliech
aa2e2825fe syn2mas: implement WriteBatch for MasNewCompatAccessToken 2025-04-22 14:39:59 +02:00
Quentin Gliech
86000613ac syn2mas: implement WriteBatch for MasNewCompatSession 2025-04-22 14:37:32 +02:00
Quentin Gliech
07536cbd3b syn2mas: implement WriteBatch for MasNewUpstreamOauthLink 2025-04-22 14:33:16 +02:00
Quentin Gliech
028a993dc6 syn2mas: implement WriteBatch for MasNewUnsupportedThreepid 2025-04-22 14:30:51 +02:00
Quentin Gliech
2450e2e480 syn2mas: implement WriteBatch for MasNewEmailThreepid 2025-04-22 14:25:13 +02:00
Quentin Gliech
4c081152a9 syn2mas: implement WriteBatch for MasNewUserPassword 2025-04-22 14:17:37 +02:00
Quentin Gliech
8488476368 syn2mas: implement WriteBatch for MasNewUser 2025-04-22 14:14:44 +02:00
Quentin Gliech
b3538219e6 syn2mas: introduce a WriteBatch trait to refactor how we write to MAS 2025-04-22 14:14:20 +02:00
Quentin Gliech
b21748c2bd syn2mas: add a buffered channel for writing refreshable tokens 2025-04-22 13:49:22 +02:00
Quentin Gliech
c292da7ac9 syn2mas: add a buffered channel for writing external IDs 2025-04-22 13:44:52 +02:00
Quentin Gliech
ef81b3ce4f syn2mas: add a buffered channel for writing threepids 2025-04-22 13:40:14 +02:00
Quentin Gliech
1fcf650322 Option to generate a MAS config from an existing Synapse config
This is a best-effort conversion, which will warn about unsupported options.
2025-04-18 18:27:15 +02:00
Quentin Gliech
b4a1e5f691 syn2mas: replace #[allow] annotations with #[expect]
Also removes unused #[allow] annotations.
2025-04-18 11:34:27 +02:00
Quentin Gliech
35cd982e6f syn2mas: refactor the metrics logic in the progress module
We don't need to carry around the various meters. Just make them global.
2025-04-18 11:32:26 +02:00
Quentin Gliech
a86696e0a8 Fix Clippy lints introduced by Rust 1.86 2025-04-06 16:18:27 +02:00
Quentin Gliech
130cc5e834 syn2mas: Track skipped entities in the syn2mas progress (#4225) 2025-03-28 14:58:58 +01:00
Olivier 'reivilibre
887584d78f syn2mas: remove obsolete TODOs
all of these are either solved through implementation or through lack of
necessity.
2025-03-18 16:57:03 +00:00
Olivier 'reivilibre
390571f8e0 syn2mas: fix handling of missing Synapse password_config config
Closes #3929
2025-03-18 15:58:05 +00:00
Olivier 'reivilibre
a55b349a80 syn2mas: fix handling of Synapse user_consent config
Closes #3928
2025-03-18 15:57:40 +00:00
Olivier 'reivilibre
0553cbf249 syn2mas: use ChaCha20 for all operations 2025-03-17 17:14:53 +00:00
dependabot[bot]
24534c7df5 build(deps): bump uuid from 1.15.1 to 1.16.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.15.1 to 1.16.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 12:55:37 +00:00