Jason Volk
3127eca67c
Add conditional UIAA flows for SSO and password. ( #314 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-07 04:43:18 +00:00
Jason Volk
449b80de1d
Skip reserving capacity in fetch_auth_chain helper containers for now.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-07 03:39:13 +00:00
dasha_uwu
fbbea7ae1d
Refactor Event.redacts_id to look at room version rules, use it
2026-03-07 03:18:41 +00:00
Jason Volk
4b03feef85
Handle prev_events without interruption by sibling failure.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-07 03:18:41 +00:00
Jason Volk
3fa22ea9d9
Ensure limits for prev and auth events are respected.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-07 00:49:34 +00:00
Jason Volk
0ecdb86aca
Prevent duplicate fetches; optimize conflicted-subgraph.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-06 05:50:51 +00:00
Jason Volk
9a2000744c
Skip sentinel password migration when no SSO IdP configured. ( 59791db213) ( #313 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-06 05:50:51 +00:00
Jason Volk
b423e1c5e6
Add users util to check if account has a password.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-04 19:56:51 +00:00
Jason Volk
0420f527c5
Add oauth util to check for existence of session by user_id.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-04 19:56:51 +00:00
Jason Volk
ab1cbbc8ab
Skip already-accepted events from inclusion in recursive evals.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-04 07:58:11 +00:00
Jason Volk
8c8cc6d91e
Move inner auth_chan eval into closure.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-04 01:42:21 +00:00
Jason Volk
2b2c14513f
Constrain size of FuturesUnordered for conflicted-subgraph.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-04 01:42:21 +00:00
Jason Volk
6d6c5a3a9b
Optimize conflicted-subgraph with single state container.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 14:52:39 +00:00
Jason Volk
59791db213
Add db migration and further origin-overwrite rectifications. ( 6bed0d38f) ( #313 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:44 +00:00
Jason Volk
d00cfcb85a
Merge remote-tracking branch 'hatomist/fix/sso-origin-overwrite'
2026-03-03 06:12:26 +00:00
Jason Volk
39cf124813
Refactor conflicted_subgraph into stream::unfold() pattern.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
63b0014f8f
Split topological_sort; semi try_unfold refactor.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
d959dd740f
Optimize get_shared_rooms()/intersection_sorted_stream2() for tighter loops.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
254b53adf4
Split auth_chain shortid and eventid gathering callstacks.
...
Optimize event parse for auth_chain auth_events fetch.
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
42570a5a7c
Optimize sequential auth_chain chasing in power_sort.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
9ede830ffe
Move state_res from tuwunel_core to tuwunel_service.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
6a550baf5f
Add generic timeline.get_pdu suite to deserialize into other structs.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-03 06:12:09 +00:00
Jason Volk
cb219c2135
Additional new nightly lint fixes.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-03-01 07:29:06 +00:00
Jason Volk
0933943dd6
Remove bad_event_ratelimiter entries after expiration.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-27 22:20:54 +00:00
dasha_uwu
9dfba5904b
Don't grant admin if the first registered user is an appservice, fixes #331
2026-02-25 05:27:43 +05:00
dasha_uwu
d073e17f1a
Refactor RegistrationInfo, fix #330
2026-02-25 05:27:43 +05:00
dasha_uwu
45f4496e4f
Refactor admin rooms moderation
...
Split alias.*_alias_by from alias.*_ailias
2026-02-24 09:03:52 +05:00
Jason Volk
7df373524e
Add configurable concurrent batch requests to notary.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-18 04:14:49 +00:00
Jason Volk
6f93436eff
Fix notary result key accounting error.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-18 04:13:17 +00:00
Jason Volk
ef399c1d10
Only trigger sender for local user's receipts.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-18 00:58:54 +00:00
Jason Volk
fc23cc1568
Fix custom profile field values being double-serialized with escapes.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-17 19:04:35 +00:00
dasha_uwu
937cd9fff9
Fix limited use count registration token validity check
2026-02-16 17:54:55 +00:00
Denys Bezmenov
6bed0d38f4
Fix SSO/LDAP user origin overwritten by set_password
...
When `create()` registers a user with `origin: Some("sso")`, it correctly
sets `userid_origin = "sso"` then calls `set_password()`. However,
`set_password()` unconditionally overwrites `userid_origin` to "password"
whenever the password hash succeeds — including for the sentinel password
"*" used by SSO and LDAP accounts.
This causes all SSO/LDAP users to have `origin = "password"` in the
database, which breaks the UIA SSO bypass check in `uiaa.rs` that gates
on `users.origin(sender_user) == "sso"`. As a result, SSO users cannot
delete devices or perform other UIA-protected operations because they
are prompted for a password they don't have, and the SSO bypass never
triggers.
Fix: skip the `userid_origin` overwrite when the password is the
sentinel value `"*"`, preserving the origin set by `create()`.
2026-02-15 12:07:17 -08:00
Jason Volk
96fb02ac99
Return NotFound for empty room name string.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-14 22:44:16 +00:00
Jason Volk
1bd4ab0601
Optimize reference graph container value type for topological_sort.
...
Optimize initial container capacity estimates.
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-14 22:44:16 +00:00
Jason Volk
ca6cf8ad19
Eliminate mutable state.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-14 18:59:43 +00:00
Jason Volk
1004d99350
Split txn pdu/edu handling with separate spans.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-14 18:59:43 +00:00
dasha_uwu
31fcbe86fc
Include "preview" in url preview user agent string. ( fixes #303 )
...
This is required for fixupx.com to serve previews instead of redirecting
2026-02-12 13:15:41 +00:00
Jason Volk
994e1d12a7
Optimize various case-insensitive comparisons.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-12 13:15:41 +00:00
dasha_uwu
4bba40982c
Refactor room_version support code
...
Fix advertising unsupported room versions
2026-02-12 13:15:41 +00:00
dasha_uwu
34fb683ddd
Move reqwest clients behind one shared lazylock
2026-02-12 13:15:41 +00:00
dasha_uwu
e1dc52200c
Remove redundant service.users.is_admin
2026-02-12 13:15:41 +00:00
Jason Volk
5dcb4c9a34
Fix presence worker shutdown sequence.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-12 13:15:41 +00:00
dasha_uwu
87faf818ff
Add webpki roots for reqwest clients. ( fixes #296 )
2026-02-12 13:15:35 +00:00
Jason Volk
2e19a30ff2
Add conditional default for provider callback_url.
...
Co-authored-by: jeidnx <git@domainhier.de >
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-12 03:22:51 +00:00
jeidnx
60d418118f
fix: url calculation in make_url
2026-02-12 03:22:51 +00:00
Jason Volk
a6780697bd
Add username claim from OAuth provider. ( closes #287 )
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-06 15:48:57 +00:00
Jason Volk
13a11ce097
Bump dependencies.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-04 09:43:30 +00:00
Jason Volk
0b864801f5
Use map of identity_provider to accommodate env var enumerations.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2026-02-01 01:22:13 +00:00
Jason Volk
13ad2c7966
Fix m.tz identifier and bias to stable.
...
Bump Ruma; enable spec versions 1.12 and 1.15.
Signed-off-by: Jason Volk <jason@zemos.net >
2026-01-30 21:53:52 +00:00