| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
One room at a time so we don't take out the whole server with leave
events, and restart at server restart.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This implements this very crudely: this probably isn't viable
because parting a user from all their rooms could take a long time,
and if the HS gets restarted in that time the process will be
aborted.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Refactor sync APIs to reuse pagination API
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The sync API often returns events in a topological rather than stream
ordering, e.g. when the user joined the room or on initial sync. When
this happens we can reuse existing pagination storage functions.
|
|/ / / / / / |
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There is no reason to return a tuple of tokens when the last token is
always the token passed as an argument. Changing it makes it consistent
with other storage APIs
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* When creating a new event, cap its depth to 2^63 - 1
* When receiving events, reject any without a sensible depth
As per https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Remove redundant call to preserve_fn
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
submit_event_for_as doesn't return a deferred anyway, so this is pointless.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
move httplib import to six
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Move more xrange to six
|
| |\ \ \ \ \ \ \ \
| | | |/ / / / / /
| | |/| | | | | | |
|
| | |/ / / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
plus a bonus next()
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
|\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | | |
Don't yield in list comprehensions
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
I've tried to grep for more of this with no success.
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
| | | | | | | |
|
|\| | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
reraise exceptions more carefully
|
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We need to be careful (under python 2, at least) that when we reraise an
exception after doing some error handling, we actually reraise the original
exception rather than anything that might have been raised (and handled) during
the error handling.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Improve exception handling for background processes
|
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
There were a bunch of places where we fire off a process to happen in the
background, but don't have any exception handling on it - instead relying on
the unhandled error being logged when the relevent deferred gets
garbage-collected.
This is unsatisfactory for a number of reasons:
- logging on garbage collection is best-effort and may happen some time after
the error, if at all
- it can be hard to figure out where the error actually happened.
- it is logged as a scary CRITICAL error which (a) I always forget to grep for
and (b) it's not really CRITICAL if a background process we don't care about
fails.
So this is an attempt to add exception handling to everything we fire off into
the background.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In general we want defer.gatherResults to consumeErrors, rather than having
exceptions hanging around and getting logged as CRITICAL unhandled errors.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While I was going through uses of preserve_fn for other PRs, I converted places
which only use the wrapped function once to use run_in_background, to avoid
creating the function object.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Reject events which have lots of prev_events
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
... this should protect us from being dossed by people making silly events
(deliberately or otherwise)
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
add __bool__ alias to __nonzero__ methods
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Refactor ResponseCache usage
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Adds a `.wrap` method to ResponseCache which wraps up the boilerplate of a
(get, set) pair, and then use it throughout the codebase.
This will be largely non-functional, but does include the following functional
changes:
* federation_server.on_context_state_request: drops use of _server_linearizer
which looked redundant and could cause incorrect cache misses by yielding
between the get and the set.
* RoomListHandler.get_remote_public_room_list(): fixes logcontext leaks
* the wrap function includes some logging. I'm hoping this won't be too noisy
on production.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Refactor store.have_events
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It turns out that most of the time we were calling have_events, we were only
using half of the result. Replace have_events with have_seen_events and
get_rejection_reasons, so that we can see what's going on a bit more clearly.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In most cases, we limit the number of prev_events for a given event to 10
events. This fixes a particular code path which created events with huge
numbers of prev_events.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add metrics for ResponseCache
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
erikj/processed_event_lag
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Send events to ASes concurrently
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
|/ / / / / / / |
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
Limit concurrent event sends for a room
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | | |
move handling of auto_join_rooms to RegisterHandler
|
| |\ \ \ \ \ \ |
|
| | |_|_|_|/ /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Currently the handling of auto_join_rooms only works when a user
registers itself via public register api. Registrations via
registration_shared_secret and ModuleApi do not work
This auto_joins the users in the registration handler which enables
the auto join feature for all 3 registration paths.
This is related to issue #2725
Signed-Off-by: Matthias Kesler <krombel@krombel.de>
|
|\ \ \ \ \ \ \
| |_|_|/ / / /
|/| | | | | | |
Return a 404 rather than a 500 on rejoining empty rooms
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Filter ourselves out of the server list before checking for an empty remote
host list, to fix 500 error
Fixes #2141
|
|/ / / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add joinability for groups
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The API is now under
/groups/$group_id/setting/m.join_policy
and expects a JSON blob of the shape
```json
{
"m.join_policy": {
"type": "invite"
}
}
```
where "invite" could alternatively be "open".
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Adds API to set the 'joinable' flag, and corresponding flag in the
table.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Replace old style error catching with 'as' keyword
|
| | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is both easier to read and compatible with python3 (not that that
matters)
Signed-off-by: Adrian Tschira <nota@notafile.com>
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Use static JSONEncoders
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
using json.dumps with custom options requires us to create a new JSONEncoder on
each call. It's more efficient to create one upfront and reuse it.
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
Let's use simplejson rather than json, for consistency.
|
|\ \ \ \ \ \ \
| |_|_|/ / / /
|/| | | | | | |
Fix error when claiming e2e keys from offline servers
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Make sure we stringify any exceptions we return from keys/query and keys/claim,
to avoid a 'not JSON serializable' error later
Fixes #3010
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
this stuff is badly c&p'ed
|
| | | | | | |
|
| | | | | | |
|
|/ / / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Implement RoomMemberWorkerHandler
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Only update remote profile cache on master
|
| | |_|_|/ /
| |/| | | | |
|
| |/ / / /
|/| | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Split RoomMemberHandler into base and master class
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I added yields when calling user_left_room, but they shouldn't matter on
the master process as they always return None anyway.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The intention here is to split the class into the bits that can be done
on workers and the bits that have to be done on the master.
In future there will also be a class that can be run on the worker,
which will delegate work to the master when necessary.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove ReplicationLayer and user Client/Server directly
|
| | | | | | |
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
Factor out _remote_reject_invite in RoomMember
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
erikj/factor_remote_leave
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | / / / /
| | |/ / / /
| |/| | | | |
Don't build handlers on workers unnecessarily
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Make RoomMemberHandler functions private that can be
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
extra_users is actually a list of UserIDs
|
| |/ / / / / |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Refactor get_or_register_3pid_guest
|
| |/ / / / |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | | |
Make the purge request return quickly, and allow scripts to poll for updates.
|
| |/ /
|/| |
| | |
| | | |
Queuing up purges doesn't sound like a good thing.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The race happens when the user joins a room at the same time as doing a
sync. We fetch the current token and then get the rooms the user is in.
If the join happens after the current token, but before we get the rooms
we end up sending down a partial room entry in the sync.
This is fixed by looking at the stream ordering of the membership
returned by get_rooms_for_user, and handling the case when that stream
ordering is after the current token.
|
|\ \ \
| | | |
| | | | |
use bcrypt.checkpw
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
in bcrypt 3.1.0 checkpw got introduced (already 2 years ago)
This makes use of that with enhancements which might get introduced
by that
Signed-Off-by: Matthias Kesler <krombel@krombel.de>
|
|\ \ \ \
| | | | |
| | | | | |
Implement purge_history by timestamp
|
| |/ / / |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
This functionality has been deprecated for a while as well as being
broken for a while. Instead of fixing it lets just remove it entirely.
See: https://github.com/matrix-org/matrix-doc/issues/1144
|
| | | |
|
|\ \ \
| | | |
| | | | |
Improve caching for read_marker API
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We add a new storage function to get a paritcular type of room account
data. This allows us to prefill the cache when updating that acount
data.
|
| | | | |
|
|/ / / |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Create a worker for event creation
|
| | | |
| | | |
| | | |
| | | | |
As we want to have it run on the main synapse instance
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
delete_local_events for purge_room_history
|
| | | |
| | | |
| | | |
| | | | |
Add a flag which makes the purger delete local events
|
| | | |
| | | |
| | | |
| | | | |
(beacause it deletes more than state)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The intention was for the check to be called as early as possible in the
request, but actually was called just before the main ratelimit check,
so was fairly pointless.
|
|\ \ \ \
| | | | |
| | | | | |
Split event creation into a separate handler
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Split state group persist into seperate storage func
* Add per database engine code for state group id gen
* Move store_state_group to StateReadStore
This allows other workers to use it, and so resolve state.
* Hook up store_state_group
* Fix tests
* Rename _store_mult_state_groups_txn
* Rename StateGroupReadStore
* Remove redundant _have_persisted_state_group_txn
* Update comments
* Comment compute_event_context
* Set start val for state_group_id_seq
... otherwise we try to recreate old state groups
* Update comments
* Don't store state for outliers
* Update comment
* Update docstring as state groups are ints
|
| | | |
| | | |
| | | |
| | | | |
(to make way for a method that actually just does the state group resolution)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
xrange step argument being 0
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
rooms is zero, the specific cause is due to xrange trying to use a step value of zero, but if the total room number really is zero then it makes sense to just bail and save the extra processing
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add federation_domain_whitelist
gives a way to restrict which domains your HS is allowed to federate with.
useful mainly for gracefully preventing a private but internet-connected HS from trying to federate to the wider public Matrix network
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* [ ] split config options into allowed_local_3pids and registrations_require_3pid
* [ ] simplify and comment logic for picking registration flows
* [ ] fix docstring and move check_3pid_allowed into a new util module
* [ ] use check_3pid_allowed everywhere
@erikjohnston PTAL
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check the user_id passed to a couple of APIs for validity, to avoid
"IndexError: list index out of range" exception which looks scary and results
in a 500 rather than a more useful error.
Fixes #1432, among other things
|
| | |
| | |
| | |
| | | |
More metrics I wished I'd had
|
|\ \ \
| | | |
| | | | |
Do bcrypt hashing in a background thread
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
which was missing its fed client API, since there is no other API
it might as well reuse the bulk one and unwrap it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
|
|\ \ \
| | | |
| | | |
| | | | |
erikj/createroom_content
|
| |\ \ \
| | | | |
| | | | | |
Add all local users to the user_directory and optionally search them
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |\| | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
additional users
Initial commit; this doesn't work yet - the LIKE filtering seems too aggressive.
It also needs _do_initial_spam to be aware of prepopulating the whole user_directory_search table with all users...
...and it needs a handle_user_signup() or something to be added so that new signups get incrementally added to the table too.
Committing it here as a WIP
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Wire the custom login type support from password providers into the UI-auth
user-validation flows.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Collect together all the places that validate a logged-in user via UI auth.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
Instead of returning False when auth is incomplete, throw an exception which
can be caught with a wrapper.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that we delete devices whenever a user is logged out due to any of
the following situations:
* /logout
* /logout_all
* change password
* deactivate account (by the user or by an admin)
* invalidate access token from a dynamic module
Fixes #2672.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Non-functional refactoring to move set_password. This means that we'll be able
to properly deactivate devices and access tokens without introducing a
dependency loop.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Non-functional refactoring to move deactivate_account. This means that we'll be
able to properly deactivate devices and access tokens without introducing a
dependency loop.
|
| |/ /
| | |
| | |
| | |
| | | |
Whenever an access token is invalidated, we should remove the associated
pushers.
|
| |\ \
| | | |
| | | | |
Add automagical AS Publicised Group(s)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
via registration file "users" namespace:
```YAML
...
namespaces:
users:
- exclusive: true
regex: '.*luke.*'
group_id: '+all_the_lukes:hsdomain'
...
```
This is part of giving App Services their own groups for matching users. With this, ghost users will be given the appeareance that they are in a group and that they have publicised the fact, but _only_ from the perspective of the `get_publicised_groups_for_user` API.
|
| | | | |
|
| |/ / |
|
| |\ \
| | | |
| | | | |
Remove preserve_context_over_{fn, deferred}
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Both of these functions ae known to leak logcontexts. Replace the remaining
calls to them and kill them off.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I'm not entirely sure if this will actually help anything, but it simplifies
the code and might give further clues about why room list search requests are
blowing out the get_current_state_ids caches.
|
| |/ /
| | |
| | |
| | | |
So we can see what it gets up to.
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
We reused the `content` dictionary between invite requests, which meant they could end up reusing the profile info for a previous user
|
|/ / |
|
| |
| |
| |
| | |
This reverts commit b70b64690330c25cbd04c1b2cacf8276b566efc8.
|
| |
| |
| |
| | |
Because we're never going to be able to fix this :'(
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix appservices being backlogged and not receiving new events due to a bug in notify_interested_services
|
| | | |
|
| | |
| | |
| | |
| | | |
in notify_interested_services
|
|\ \ \
| | | |
| | | | |
Fix bug in state group storage
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes a bug where the persisted state groups were different to those actually
being used after auth resolution.
|
| | | |
| | | |
| | | |
| | | | |
This is duplicated, so let's factor it out before fixing it
|
|\ \ \ \
| |/ / /
|/| | | |
Fix various embarrassing typos around user_directory and add some doc.
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
Fix for #2635: correctly update rooms avatar/display name when modified by admin
|
| | | |
|
| | |
| | |
| | |
| | | |
by admin
|
| | |
| | |
| | |
| | |
| | | |
We're going to need to use this from places that aren't password auth, so let's
move it to a proper class.
|
|\ \ \
| | | |
| | | | |
Notify auth providers on logout
|
| | | |
| | | |
| | | |
| | | | |
Provide a hook by which auth providers can be notified of logouts.
|
|\ \ \ \
| | | | |
| | | | | |
Allow password_auth_providers to return a callback
|
| | | | |
| | | | |
| | | | |
| | | | | |
this got broken in the previous commit
|
| |/ / /
| | | |
| | | |
| | | | |
... so that they have a way to record access tokens.
|
|\ \ \ \
| |/ / /
|/| | | |
Let auth providers get to the database
|
| | | |
| | | |
| | | |
| | | | |
Somewhat open to abuse, but also somewhat unavoidable :/
|
|\ \ \ \
| | | | |
| | | | | |
Let password auth providers handle arbitrary login types
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Provide a hook where password auth providers can say they know about other
login types, and get passed the relevant parameters
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
rav/refactor_accesstoken_delete
|
| |\ \ \ \
| | | | | |
| | | | | | |
Break dependency of auth_handler on device_handler
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I'm going to need to make the device_handler depend on the auth_handler, so I
need to break this dependency to avoid a cycle.
It turns out that the auth_handler was only using the device_handler in one
place which was an edge case which we can more elegantly handle by throwing an
error rather than fixing it up.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Remove the last vestiges of refresh_tokens
|
| | |/ / / |
|
| |/ / /
| | | |
| | | |
| | | | |
also includes renamings to make things more consistent.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Also move duplicated deactivation code into the auth handler.
I want to add some hooks when we deactivate an access token, so let's bring it
all in here so that there's somewhere to put it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I'm going to need some more flexibility in handling login types in password
auth providers, so as a first step, move some stuff from LoginRestServlet into
AuthHandler.
In particular, we pass everything other than SAML, JWT and token logins down to
the AuthHandler, which now has responsibility for checking the login type and
fishing the password out of the login dictionary, as well as qualifying the
user_id if need be. Ideally SAML, JWT and token would go that way too, but
there's no real need for it right now and I'm trying to minimise impact.
This commit *should* be non-functional.
|
|\ \ \
| | | |
| | | | |
Allow ASes to deactivate their own users
|
| |/ / |
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
what could possibly go wrong
|
|\ \
| | |
| | | |
Updates to ID checking
|
| | |
| | |
| | |
| | | |
... because the spec says we should.
|
| | |
| | |
| | |
| | |
| | | |
Factor out a common function for checking user ids and group ids, which forbids
capitals.
|
|/ /
| |
| |
| |
| | |
It just calls the constructor, so we may as well kill it rather than having
random codepaths.
|
| | |
|
| | |
|
| |
| |
| |
| | |
And return empty profile
|
|\ \
| | |
| | | |
Allow error strings from spam checker
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
fix a logcontext leak in read receipt handling
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Initial Group Implementation
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|