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