Commit Graph

99 Commits

Author SHA1 Message Date
Jason Robinson 6a786dccbc 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 955b6f2266 Remove leftovers from the old email verification system 2026-01-08 15:17:37 +01:00
networkException b5a0834faa 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 a7e7c3caa1
2025-11-08 16:10:19 +01:00
Quentin Gliech 6a1d67f452 Merge remote-tracking branch 'origin/main' into feat/login_hint_with_email 2025-08-18 16:43:00 +02:00
Quentin Gliech 6a2492e70b Fix a few clippy lints, mostly in doc comments 2025-08-18 10:34:28 +02:00
Quentin Gliech 45b6b567db Collapse a few nested if now that we have if let chains 2025-08-18 10:29:30 +02:00
mcalinghee c314802fcd move Clock/MockClock/SystemClock/BoxClock/BoxRng to mas-data-model 2025-07-31 11:17:33 +02:00
Quentin Gliech ea873577aa 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 63a47aa41b Box all the figment errors to avoid large enum differences 2025-07-16 19:23:06 +02:00
Quentin Gliech e28ffccc3a Backchannel logout behavior settings on upstream providers 2025-07-04 16:27:10 +02:00
Quentin Gliech 3d96dc9d47 Update license headers to match the actual license 2025-06-12 10:32:16 +02:00
Quentin Gliech 40cb052d1f Allow applying unicode normalisation to passwords before hashing 2025-05-30 15:42:32 +02:00
Doug 26d84c5a36 Fix database snapshot. 2025-05-07 09:17:28 +01:00
Doug 096ce6037d Add a configuration for forwarding the login hint to the upstream provider. 2025-05-06 17:50:33 +01:00
Quentin Gliech 73cfc2c6fd 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 2539220d89 syn2mas: introduce a dry-run mode 2025-04-23 14:42:30 +02:00
Quentin Gliech 2b1703eb2b Add a few missing license headers 2025-04-23 13:46:44 +02:00
Quentin Gliech 3db04d5a65 syn2mas: provide guidance on how to re-do a fresh migration 2025-04-23 13:34:34 +02:00
Quentin Gliech 1b0b6a3d54 syn2mas: warn about existing oauth-delegated user_external_ids 2025-04-23 13:30:02 +02:00
Quentin Gliech f4f0c0ef8c syn2mas: only log once when rebuilding constraints 2025-04-22 17:46:12 +02:00
Quentin Gliech cb9ab3ff35 syn2mas: log the number of entities migrated at each step 2025-04-22 17:38:58 +02:00
Quentin Gliech 2e13c25dde syn2mas: reduce the channel buffer size 2025-04-22 17:35:15 +02:00
Quentin Gliech def366849e syn2mas: remove the MasWriter::write_ methods and replaced them in tests 2025-04-22 16:35:37 +02:00
Quentin Gliech 42138ac895 syn2mas: make the MasWriteBuffer use the WriteBatch trait 2025-04-22 15:49:17 +02:00
Quentin Gliech 0f30933fe2 syn2mas: implement WriteBatch for MasNewCompatRefreshToken 2025-04-22 14:42:52 +02:00
Quentin Gliech 28d3ab3cff syn2mas: implement WriteBatch for MasNewCompatAccessToken 2025-04-22 14:39:59 +02:00
Quentin Gliech de2caeb322 syn2mas: implement WriteBatch for MasNewCompatSession 2025-04-22 14:37:32 +02:00
Quentin Gliech 151f5a73f1 syn2mas: implement WriteBatch for MasNewUpstreamOauthLink 2025-04-22 14:33:16 +02:00
Quentin Gliech cd9f7bbba6 syn2mas: implement WriteBatch for MasNewUnsupportedThreepid 2025-04-22 14:30:51 +02:00
Quentin Gliech 202eab0972 syn2mas: implement WriteBatch for MasNewEmailThreepid 2025-04-22 14:25:13 +02:00
Quentin Gliech 1fe7e6cb25 syn2mas: implement WriteBatch for MasNewUserPassword 2025-04-22 14:17:37 +02:00
Quentin Gliech 521a96f0a2 syn2mas: implement WriteBatch for MasNewUser 2025-04-22 14:14:44 +02:00
Quentin Gliech d4a43fba0f syn2mas: introduce a WriteBatch trait to refactor how we write to MAS 2025-04-22 14:14:20 +02:00
Quentin Gliech 0af16617e4 syn2mas: add a buffered channel for writing refreshable tokens 2025-04-22 13:49:22 +02:00
Quentin Gliech a9a7929388 syn2mas: add a buffered channel for writing external IDs 2025-04-22 13:44:52 +02:00
Quentin Gliech 46c44e0b43 syn2mas: add a buffered channel for writing threepids 2025-04-22 13:40:14 +02:00
Quentin Gliech f49b8dcc3c 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 59bcf1b963 syn2mas: replace #[allow] annotations with #[expect]
Also removes unused #[allow] annotations.
2025-04-18 11:34:27 +02:00
Quentin Gliech cdb35d97ef 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 e776d652d9 Fix Clippy lints introduced by Rust 1.86 2025-04-06 16:18:27 +02:00
Quentin Gliech f300eca3ee syn2mas: Track skipped entities in the syn2mas progress (#4225) 2025-03-28 14:58:58 +01:00
Olivier 'reivilibre cf14876270 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 d28b1cc890 syn2mas: fix handling of missing Synapse password_config config
Closes #3929
2025-03-18 15:58:05 +00:00
Olivier 'reivilibre 0f479d0be8 syn2mas: fix handling of Synapse user_consent config
Closes #3928
2025-03-18 15:57:40 +00:00
Olivier 'reivilibre d8b221c76d syn2mas: use ChaCha20 for all operations 2025-03-17 17:14:53 +00:00
Quentin Gliech 56b7e086cb Track skipped entities in the syn2mas progress 2025-03-14 13:29:19 +00:00
Olivier 'reivilibre 9228f20f2a fixup! syn2mas: Add progress reporting to log and to opentelemetry metrics
Add metrics directly within syn2mas, no background thread
2025-03-13 14:50:32 +00:00
Olivier 'reivilibre ebad8a77aa syn2mas: Add progress reporting to log and to opentelemetry metrics 2025-03-12 18:49:36 +00:00
Olivier 'reivilibre 19d87e896d Remove TODO on MIGRATOR 2025-03-12 14:38:32 +00:00
Olivier 'reivilibre 0ee9a68e22 syn2mas: improve performance of reading access tokens / refresh tokens 2025-03-12 14:38:32 +00:00