summary refs log tree commit diff
path: root/synapse/handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2854 from matrix-org/erikj/event_create_workerErik Johnston2018-02-131-6/+22
|\ | | | | Create a worker for event creation
| * Move presence handling into handle_new_client_eventErik Johnston2018-02-071-6/+6
| | | | | | | | As we want to have it run on the main synapse instance
| * Add replication http endpoint for event sendingErik Johnston2018-02-071-0/+16
| |
* | Merge pull request #2858 from matrix-org/rav/purge_updatesRichard van der Hoff2018-02-091-2/+2
|\ \ | |/ |/| delete_local_events for purge_room_history
| * delete_local_events for purge_historyRichard van der Hoff2018-02-091-2/+2
| | | | | | | | Add a flag which makes the purger delete local events
| * rename delete_old_state -> purge_historyRichard van der Hoff2018-02-091-1/+1
| | | | | | | | (beacause it deletes more than state)
* | Remove pointless ratelimit checkErik Johnston2018-02-071-5/+0
| | | | | | | | | | | | 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.
* | Merge pull request #2847 from matrix-org/erikj/separate_event_creationErik Johnston2018-02-065-179/+193
|\ \ | | | | | | Split event creation into a separate handler
| * | Update copyrightErik Johnston2018-02-064-1/+4
| | |
| * | s/_create_new_client_event/create_new_client_event/Erik Johnston2018-02-062-8/+8
| | |
| * | Update places where we create eventsErik Johnston2018-02-054-29/+26
| | |
| * | Split event creation into a separate handlerErik Johnston2018-02-051-146/+160
| | |
* | | Store state groups separately from events (#2784)Erik Johnston2018-02-061-7/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Rename resolve_state_groups -> resolve_state_groups_for_eventsRichard van der Hoff2018-02-011-6/+5
| | | | | | | | (to make way for a method that actually just does the state group resolution)
* | add white space lineNeil Johnson2018-01-261-0/+1
| |
* | rather than try reconstruct the results object, better to guard against the ↵Neil Johnson2018-01-261-6/+2
| | | | | | | | xrange step argument being 0
* | fix return type, should be a dictNeil Johnson2018-01-251-1/+1
| |
* | fix PEP8 violationNeil Johnson2018-01-251-1/+1
| |
* | remove white spaceNeil Johnson2018-01-251-1/+0
| |
* | synapse 500s on a call to publicRooms in the case where the number of public ↵Neil Johnson2018-01-251-0/+5
| | | | | | | | 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 option (#2820)Matthew Hodgson2018-01-223-1/+15
| | | | | | | | | | | | 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
* | rewrite based on PR feedback:Matthew Hodgson2018-01-191-10/+5
| | | | | | | | | | | | | | | | | | * [ ] 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
* | fix up v1, and improve errorsMatthew Hodgson2018-01-191-1/+12
|/
* Sanity checking for user idsRichard van der Hoff2018-01-172-8/+19
| | | | | | | | 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
* Metrics for events processed in appservice and fed senderRichard van der Hoff2018-01-151-0/+7
| | | | More metrics I wished I'd had
* Merge pull request #2773 from matrix-org/erikj/hash_bgErik Johnston2018-01-103-10/+18
|\ | | | | Do bcrypt hashing in a background thread
| * Do bcrypt hashing in a background threadErik Johnston2018-01-103-10/+18
| |
* | fix order of operations derp and also use `.get` to default to {}Michael Telatynski2018-01-101-2/+3
| | | | | | | | Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* | Fix publicised groups API (singular) over federationMichael Telatynski2018-01-101-4/+4
| | | | | | | | | | | | | | 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>
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-12-0712-116/+389
|\ \ | | | | | | | | | erikj/createroom_content
| * \ Merge pull request #2723 from matrix-org/matthew/search-all-local-usersMatthew Hodgson2017-12-053-16/+78
| |\ \ | | | | | | | | Add all local users to the user_directory and optionally search them
| | * | speed up the rate of initial spam for usersMatthew Hodgson2017-12-041-11/+12
| | | |
| | * | fix pep8 and testsMatthew Hodgson2017-12-042-4/+3
| | | |
| | * | switch to a simpler 'search_all_users' button as per review feedbackMatthew Hodgson2017-12-043-6/+6
| | | |
| | * | Merge branch 'develop' into matthew/search-all-local-usersMatthew Hodgson2017-11-304-37/+139
| | |\|
| | * | fix thinkos galoreMatthew Hodgson2017-11-301-4/+6
| | | |
| | * | kick the user_directory index when new users registerMatthew Hodgson2017-11-291-0/+8
| | | |
| | * | untested WIP but might actually workMatthew Hodgson2017-11-292-4/+56
| | | |
| | * | Add user_directory_include_pattern config param to expand search results to ↵Matthew Hodgson2017-11-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | support custom login types for validating usersRichard van der Hoff2017-12-051-24/+57
| | | | | | | | | | | | | | | | | | | | Wire the custom login type support from password providers into the UI-auth user-validation flows.
| * | | Factor out a validate_user_via_ui_auth methodRichard van der Hoff2017-12-051-0/+43
| | | | | | | | | | | | | | | | Collect together all the places that validate a logged-in user via UI auth.
| * | | Refactor UI auth implementationRichard van der Hoff2017-12-051-17/+29
| | |/ | |/| | | | | | | | | | Instead of returning False when auth is incomplete, throw an exception which can be caught with a wrapper.
| * | Delete devices in various logout situationsRichard van der Hoff2017-11-293-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Move set_password into its own handlerRichard van der Hoff2017-11-292-16/+45
| | | | | | | | | | | | | | | | | | 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.
| * | Move deactivate_account into its own handlerRichard van der Hoff2017-11-292-16/+44
| | | | | | | | | | | | | | | | | | 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.
| * | Remove pushers when deleting access tokensRichard van der Hoff2017-11-291-4/+12
| |/ | | | | | | | | Whenever an access token is invalidated, we should remove the associated pushers.
| * Merge pull request #2686 from matrix-org/luke/as-flairLuke Barnard2017-11-171-0/+11
| |\ | | | | | | Add automagical AS Publicised Group(s)
| | * Make sure we check AS groups for lookup on bulkLuke Barnard2017-11-161-0/+5
| | |
| | * Add automagical AS Publicised Group(s)Luke Barnard2017-11-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | typoMatthew Hodgson2017-11-171-1/+1
| | |
| * | Fix auth handler #2678Jurek2017-11-161-1/+1
| |/
| * Merge pull request #2675 from matrix-org/rav/remove_broken_logcontext_funcsRichard van der Hoff2017-11-152-4/+4
| |\ | | | | | | Remove preserve_context_over_{fn, deferred}
| | * Remove preserve_context_over_{fn, deferred}Richard van der Hoff2017-11-142-4/+4
| | | | | | | | | | | | | | | Both of these functions ae known to leak logcontexts. Replace the remaining calls to them and kill them off.
| * | Reshuffle room list request codeRichard van der Hoff2017-11-141-27/+24
| | | | | | | | | | | | | | | | | | 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.
| * | Add a load of logging to the room_list handlerRichard van der Hoff2017-11-141-0/+13
| |/ | | | | | | So we can see what it gets up to.
* | Copy dict in update_membership tooErik Johnston2017-12-071-0/+4
| |
* | PEP8Erik Johnston2017-11-281-1/+1
| |
* | Fix wrong avatars when inviting multiple users when creating roomErik Johnston2017-11-281-5/+5
| | | | | | We reused the `content` dictionary between invite requests, which meant they could end up reusing the profile info for a previous user
* | Fix auth handler #2678Jurek2017-11-171-1/+1
|/
* Revert "Allow upper-case characters in mxids"Richard van der Hoff2017-11-091-3/+3
| | | | This reverts commit b70b64690330c25cbd04c1b2cacf8276b566efc8.
* Allow upper-case characters in mxidsRichard van der Hoff2017-11-091-3/+3
| | | | Because we're never going to be able to fix this :'(
* Have an explicit API to update room configErik Johnston2017-11-081-0/+1
|
* Revert "Modify group room association API to allow modification of is_public"Erik Johnston2017-11-081-2/+2
|
* Merge pull request #2631 from xyzz/fix_appservice_event_backlogErik Johnston2017-11-081-5/+1
|\ | | | | Fix appservices being backlogged and not receiving new events due to a bug in notify_interested_services
| * Remove useless assignment in notify_interested_servicesIlya Zhuravlev2017-11-071-1/+0
| |
| * Fix appservices being backlogged and not receiving new events due to a bug ↵Ilya Zhuravlev2017-11-021-4/+1
| | | | | | | | in notify_interested_services
* | Merge pull request #2649 from matrix-org/rav/fix_delta_on_state_resRichard van der Hoff2017-11-081-20/+46
|\ \ | | | | | | Fix bug in state group storage
| * | s/items/iteritems/Richard van der Hoff2017-11-081-2/+2
| | |
| * | Update deltas when doing auth resolutionRichard van der Hoff2017-11-071-3/+7
| | | | | | | | | | | | | | | Fixes a bug where the persisted state groups were different to those actually being used after auth resolution.
| * | factor out _update_context_for_auth_eventsRichard van der Hoff2017-11-071-20/+42
| | | | | | | | | | | | This is duplicated, so let's factor it out before fixing it
* | | Merge pull request #2643 from matrix-org/matthew/user_dir_typosMatthew Hodgson2017-11-071-2/+2
|\ \ \ | |/ / |/| | Fix various embarrassing typos around user_directory and add some doc.
| * | s/intial/initial/Matthew Hodgson2017-11-041-2/+2
| |/
* | Merge pull request #2636 from farialima/me-masterErik Johnston2017-11-071-13/+8
|\ \ | |/ |/| Fix for #2635: correctly update rooms avatar/display name when modified by admin
| * removed unused import flagged by flake8aFrancois Granade2017-11-031-1/+0
| |
| * Fix for issue 2635: correctly update rooms avatar/display name when modified ↵Francois Granade2017-11-031-12/+8
| | | | | | | | by admin
* | Factor _AccountHandler proxy out to ModuleApiRichard van der Hoff2017-11-021-69/+3
| | | | | | | | | | We're going to need to use this from places that aren't password auth, so let's move it to a proper class.
* | Merge pull request #2624 from matrix-org/rav/password_provider_notify_logoutDavid Baker2017-11-021-2/+24
|\ \ | | | | | | Notify auth providers on logout
| * | Notify auth providers on logoutRichard van der Hoff2017-11-011-2/+24
| | | | | | | | | | | | Provide a hook by which auth providers can be notified of logouts.
* | | Merge pull request #2623 from matrix-org/rav/callbacks_for_auth_providersDavid Baker2017-11-021-6/+11
|\ \ \ | | | | | | | | Allow password_auth_providers to return a callback
| * | | Fix user-interactive password authRichard van der Hoff2017-11-011-1/+3
| | | | | | | | | | | | | | | | this got broken in the previous commit
| * | | Allow password_auth_providers to return a callbackRichard van der Hoff2017-11-011-5/+8
| |/ / | | | | | | | | | ... so that they have a way to record access tokens.
* | | Merge pull request #2622 from matrix-org/rav/db_access_for_auth_providersDavid Baker2017-11-021-0/+16
|\ \ \ | |/ / |/| | Let auth providers get to the database
| * | Let auth providers get to the databaseRichard van der Hoff2017-10-311-0/+16
| | | | | | | | | | | | Somewhat open to abuse, but also somewhat unavoidable :/
* | | Merge pull request #2620 from matrix-org/rav/auth_non_passwordRichard van der Hoff2017-11-011-22/+96
|\ \ \ | | | | | | | | Let password auth providers handle arbitrary login types
| * | | Let password auth providers handle arbitrary login typesRichard van der Hoff2017-11-011-22/+96
| |/ / | | | | | | | | | | | | Provide a hook where password auth providers can say they know about other login types, and get passed the relevant parameters
* | | Merge remote-tracking branch 'origin/develop' into ↵David Baker2017-11-013-13/+8
|\ \ \ | | | | | | | | | | | | rav/refactor_accesstoken_delete
| * \ \ Merge pull request #2615 from matrix-org/rav/break_auth_device_depDavid Baker2017-11-011-9/+6
| |\ \ \ | | | | | | | | | | Break dependency of auth_handler on device_handler
| | * | | Break dependency of auth_handler on device_handlerRichard van der Hoff2017-11-011-9/+6
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge pull request #2613 from matrix-org/rav/kill_refresh_tokensDavid Baker2017-11-011-2/+0
| |\ \ \ | | | | | | | | | | Remove the last vestiges of refresh_tokens
| | * | | Remove the last vestiges of refresh_tokensRichard van der Hoff2017-10-311-2/+0
| | |/ /
| * / / Modify group room association API to allow modification of is_publicLuke Barnard2017-10-311-2/+2
| |/ / | | | | | | | | | also includes renamings to make things more consistent.
* / / Move access token deletion into auth handlerRichard van der Hoff2017-11-013-5/+52
|/ / | | | | | | | | | | | | 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.
* | Refactor some logic from LoginRestServlet into AuthHandlerRichard van der Hoff2017-10-311-28/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #2589 from matrix-org/rav/as_deactivate_accountRichard van der Hoff2017-10-271-1/+1
|\ \ | | | | | | Allow ASes to deactivate their own users
| * | Allow ASes to deactivate their own usersRichard van der Hoff2017-10-271-1/+1
| |/
* | Update room_list.pyErik Johnston2017-10-261-1/+1
| |
* | Do logcontexts outside ResponseCacheErik Johnston2017-10-252-5/+8
| |
* | Add logging and fix log contexts for publicRoomsErik Johnston2017-10-251-0/+2
|/
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-238-17/+17
| | | | what could possibly go wrong
* Merge pull request #2561 from matrix-org/rav/id_checkingRichard van der Hoff2017-10-231-9/+6
|\ | | | | Updates to ID checking
| * Allow = in mxids and groupidsRichard van der Hoff2017-10-201-3/+2
| | | | | | | | ... because the spec says we should.
| * Disallow capital letters in useridsRichard van der Hoff2017-10-201-6/+4
| | | | | | | | | | Factor out a common function for checking user ids and group ids, which forbids capitals.
* | Remove pointless create() methodRichard van der Hoff2017-10-202-3/+3
|/ | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths.
* _create_rererouter for get_invited_users_in_groupLuke Barnard2017-10-161-17/+2
|
* Implement GET /groups/$groupId/invited_usersLuke Barnard2017-10-161-0/+17
|
* Log a warning when no profile for invited memberLuke Barnard2017-10-161-2/+5
| | | | And return empty profile
* Merge pull request #2531 from matrix-org/dbkr/spamcheck_error_messagesDavid Baker2017-10-121-2/+6
|\ | | | | Allow error strings from spam checker
| * fix isinstanceDavid Baker2017-10-111-1/+1
| |
| * Allow error strings from spam checkerDavid Baker2017-10-111-2/+6
| |
* | Fix fetching remote summariesErik Johnston2017-10-111-2/+2
| |
* | Merge pull request #2530 from matrix-org/rav/fix_receipt_logcontextRichard van der Hoff2017-10-111-0/+4
|\ \ | | | | | | fix a logcontext leak in read receipt handling
| * | fix a logcontext leak in read receipt handlingRichard van der Hoff2017-10-111-0/+4
| | |
* | | Fix attestations to check correct server nameErik Johnston2017-10-111-10/+20
| |/ |/|
* | Merge pull request #2466 from matrix-org/erikj/groups_mergedErik Johnston2017-10-118-17/+584
|\ \ | | | | | | Initial Group Implementation
| * \ Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-024-8/+121
| |\ \
| * | | Add remove room APIErik Johnston2017-09-261-0/+1
| | | |
| * | | Add is_publicised to group summaryErik Johnston2017-09-261-25/+31
| | | |
| * | | Ensure that creator of group sees group down /syncErik Johnston2017-09-192-4/+31
| | | |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_mergedErik Johnston2017-09-193-33/+163
| |\ \ \
| * | | | Add user profiles to summary from group serverErik Johnston2017-08-251-0/+23
| | | | |
| * | | | Fix typos and reinheritErik Johnston2017-08-251-12/+6
| | | | |
| * | | | Split out profile handler to fix testsErik Johnston2017-08-256-13/+16
| | | | |
| * | | | Add remote profile cacheErik Johnston2017-08-252-5/+93
| | | | |
| * | | | FixupErik Johnston2017-08-111-9/+13
| | | | |
| * | | | Add bulk group publicised lookup APIErik Johnston2017-08-091-0/+42
| | | | |
| * | | | Store whether the user wants to publicise their membership of a groupErik Johnston2017-08-081-0/+4
| | | | |
| * | | | Remove stale TODO commentsErik Johnston2017-08-041-10/+0
| | | | |
| * | | | Correctly add joins to correct segmentErik Johnston2017-07-241-1/+1
| | | | |
| * | | | Merge pull request #2378 from matrix-org/erikj/group_sync_supportErik Johnston2017-07-212-5/+80
| |\ \ \ \ | | | | | | | | | | | | Add groups to sync stream
| | * | | | Add notifierErik Johnston2017-07-201-0/+1
| | | | | |
| | * | | | Fix replication. And notifyErik Johnston2017-07-201-4/+16
| | | | | |
| | * | | | Remember to cast to boolErik Johnston2017-07-201-1/+1
| | | | | |
| | * | | | Add groups to sync streamErik Johnston2017-07-201-1/+63
| | | | | |
| * | | | | Add update group profile APIErik Johnston2017-07-201-0/+1
| |/ / / /
| * | | | CommentsErik Johnston2017-07-181-10/+19
| | | | |
| * | | | Fix typosErik Johnston2017-07-181-2/+3
| | | | |
| * | | | Update federation client pokesErik Johnston2017-07-181-13/+22
| | | | |
| * | | | Add client apisErik Johnston2017-07-181-1/+1
| | | | |
| * | | | CommentsErik Johnston2017-07-181-0/+3
| | | | |
| * | | | Use transport client directlyErik Johnston2017-07-181-18/+25
| | | | |
| * | | | Add local group server supportErik Johnston2017-07-171-0/+278
| | | | |
| * | | | Merge pull request #2352 from matrix-org/erikj/group_server_splitErik Johnston2017-07-121-8/+10
| |\ \ \ \ | | | | | | | | | | | | Initial Group Server
| | * | | | Initial group server implementationErik Johnston2017-07-101-8/+10
| | | | | |
* | | | | | Merge pull request #2483 from jeremycline/unfreeze-ujson-dumpErik Johnston2017-10-111-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Unfreeze event before serializing with ujson
| * | | | | | Unfreeze event before serializing with ujsonJeremy Cline2017-09-301-1/+2
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In newer versions of https://github.com/esnme/ultrajson, ujson does not serialize frozendicts (introduced in esnme/ultrajson@53f85b1). Although the PyPI version is still 1.35, Fedora ships with a build from commit esnme/ultrajson@2f1d487. This causes the serialization to fail if the distribution-provided package is used. This runs the event through the unfreeze utility before serializing it. Thanks to @ignatenkobrain for tracking down the root cause. fixes #2351 Signed-off-by: Jeremy Cline <jeremy@jcline.org>
* | | | | | Merge pull request #2490 from matrix-org/erikj/drop_left_room_eventsErik Johnston2017-10-101-0/+22
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Ignore incoming events for rooms that we have left
| * | | | | Update commentsErik Johnston2017-10-031-1/+1
| | | | | |
| * | | | | Remove spurious line feedErik Johnston2017-10-031-1/+0
| | | | | |
| * | | | | Ignore incoming events for rooms that we have leftErik Johnston2017-10-031-0/+23
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When synapse receives an event for a room its not in over federation, it double checks with the remote server to see if it is in fact in the room. This is done so that if the server has forgotten about the room (usually as a result of the database being dropped) it can recover from it. However, in the presence of state resets in large rooms, this can cause a lot of work for servers that have legitimately left. As a hacky solution that supports both cases we drop incoming events for rooms that we have explicitly left. This means that we no longer support the case of servers having forgotten that they've rejoined a room, but that is sufficiently rare that we're not going to support it for now.
* | | | | Fix up deferred handling in federation.pyRichard van der Hoff2017-10-061-24/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Avoid preserve_context_over_deferred, which is broken * set consumeErrors=True on defer.gatherResults, to avoid spurious "unhandled failure" erros
* | | | | Spam checking: add the invitee to user_may_inviteDavid Baker2017-10-052-6/+8
| | | | |
* | | | | spam check room publishingDavid Baker2017-10-041-0/+8
| | | | |
* | | | | un-double indentDavid Baker2017-10-041-1/+1
| | | | |
* | | | | Add room creation checks to spam checkerDavid Baker2017-10-042-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Lets the spam checker deny attempts to create rooms and add aliases to them.
* | | | | pass room id tooDavid Baker2017-10-032-2/+4
| | | | |
* | | | | Federation was passing strings anywayDavid Baker2017-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | so pass string everywhere
* | | | | this shouldn't be debugDavid Baker2017-10-031-2/+2
| | | | |
* | | | | better loggingDavid Baker2017-10-031-4/+9
| | | | |
* | | | | Skip spam check for admin usersDavid Baker2017-10-031-8/+8
| | | | |
* | | | | Fix param name & lintDavid Baker2017-10-031-2/+4
| | | | |
* | | | | Allow spam checker to reject invites tooDavid Baker2017-10-032-6/+18
|/ / / /
* | | | Fix /joined_members to work with AS usersErik Johnston2017-09-281-11/+25
| | | |
* | | | Fix bug where /joined_members didn't check user was in roomErik Johnston2017-09-271-0/+31
| | | |
* | | | Make the spam checker a moduleDavid Baker2017-09-261-2/+3
| | | |
* | | | Refactor to speed up incremental syncsErik Johnston2017-09-251-5/+18
| | | |
* | | | Fix device list when rejoining room (#2461)Erik Johnston2017-09-221-2/+14
| | | |
* | | | Add a config option to block all room invites (#2457)Richard van der Hoff2017-09-192-0/+25
| | | | | | | | | | | | | | | | | | | | - allows sysadmins the ability to lock down their servers so that people can't send their users room invites.
* | | | add some comments to on_exchange_third_party_invite_requestRichard van der Hoff2017-09-191-0/+11
| | | |
* | | | PoC for filtering spammy events (#2456)Richard van der Hoff2017-09-191-1/+7
| |_|/ |/| | | | | Demonstration of how you might add some hooks to filter out spammy events.
* | | Fix overzealous kicking of guest users (#2453)Richard van der Hoff2017-09-191-1/+1
| | | | | | | | | We should only kick guest users if the guest access event is authorised.
* | | Don't filter out current state events from timelineErik Johnston2017-09-181-0/+7
| | |
* | | Correctly handle leaving room in /key/changesErik Johnston2017-09-181-13/+12
| | |
* | | Fix typoErik Johnston2017-09-151-1/+1
| | |
* | | Actually hook leave notifs upErik Johnston2017-09-141-2/+3
| | |
* | | Handle joining/leaving rooms in /keys/changesErik Johnston2017-09-131-1/+38
| | |
* | | Get left roomsErik Johnston2017-09-131-3/+32
| | |
* | | In sync handle device lists for newly joined/left roomsErik Johnston2017-09-121-2/+10
| | |
* | | Add left section to /keys/changesErik Johnston2017-09-082-7/+17
| | |
* | | Send down device list change notif when member leaves/rejoins roomErik Johnston2017-09-072-13/+53
| | |
* | | Use less DB for device list handling in syncErik Johnston2017-07-121-8/+7
| |/ |/|
* | Don't compute push actions for backfilled eventsErik Johnston2017-07-111-1/+1
|/
* Fix bug where pusherpool didn't start and broke some roomsErik Johnston2017-07-062-2/+5
| | | | | | | | Since we didn't instansiate the PusherPool at start time it could fail at run time, which it did for some users. This may or may not fix things for those users, but it should happen at start time and stop the server from starting.
* Improve the error handling for bad invites received over federationMark Haines2017-06-301-2/+17
|
* Use an ExpiringCache for storing registration sessionsErik Johnston2017-06-291-11/+10
| | | | | This is because pruning them was a significant performance drain on matrix.org
* Merge pull request #2307 from matrix-org/erikj/user_ip_batchErik Johnston2017-06-271-2/+2
|\ | | | | Batch upsert user ips
| * Fix up client ips to read from pending dataErik Johnston2017-06-271-2/+2
| |
* | Remove unused variablesErik Johnston2017-06-261-1/+1
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-06-264-13/+52
|\| | | | | | | erikj/ensure_round_trip
| * Make some more params configurableErik Johnston2017-06-221-5/+8
| |
| * Typo. ARGH.Erik Johnston2017-06-221-1/+1
| |
| * Fix thinko in unhandled user spamErik Johnston2017-06-221-2/+2
| |
| * Don't work out users who share room with appservice usersErik Johnston2017-06-211-2/+11
| |
| * Handle all cases of sending membership eventsErik Johnston2017-06-191-0/+5
| |
| * Change to create new room and join other usersErik Johnston2017-06-191-4/+17
| |
| * Add shutdown room APIErik Johnston2017-06-192-0/+9
| |
* | Reject local events that don't round trip the DBErik Johnston2017-06-191-0/+9
|/
* Initial worker implErik Johnston2017-06-161-6/+13
|
* Include users who share room with requester in user directoryErik Johnston2017-06-151-2/+2
|
* Implement updating users who share rooms on the flyErik Johnston2017-06-151-23/+125
|
* Implement initial population of users who share rooms tableErik Johnston2017-06-151-2/+76
|
* Fix user directory insertion due to missing room_idErik Johnston2017-06-131-3/+7
|
* Don't assume existance of events when updating user directoryErik Johnston2017-06-131-3/+6
|
* Merge pull request #2266 from matrix-org/erikj/host_in_roomErik Johnston2017-06-121-3/+3
|\ | | | | Change is_host_joined to use current_state table
| * Change is_host_joined to use current_state tableErik Johnston2017-06-091-3/+3
| | | | | | | | | | | | This bypasses a bug where using the state groups to figure out if a host is in a room sometimes errors if the servers isn't in the room. (For example when the server rejected an invite to a remote room)
* | CommentErik Johnston2017-06-091-0/+2
| |
* | Mark remote invite rejections as outliersErik Johnston2017-06-091-0/+1
|/
* Merge pull request #2258 from matrix-org/erikj/user_dirErik Johnston2017-06-071-0/+3
|\ | | | | Don't start user_directory handling on workers
| * Don't start user_directory handling on workersErik Johnston2017-06-071-0/+3
| |
* | Merge pull request #2248 from matrix-org/erikj/state_fixupErik Johnston2017-06-071-7/+5
|\ \ | |/ |/| Faster cache for get_joined_hosts
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_fixupErik Johnston2017-06-071-0/+429
| |\
| * | Fix typing testsErik Johnston2017-05-261-7/+5
| | |
* | | Add some logging to user directoryErik Johnston2017-06-071-0/+7
| |/ |/|
* | Handle profile updates in user directoryErik Johnston2017-06-011-0/+25
| |
* | Split the table in twoErik Johnston2017-06-011-27/+50
| |
* | CommentsErik Johnston2017-06-011-3/+3
| |
* | Check if host is still in roomErik Johnston2017-06-011-0/+11
| |
* | Fix removing usersErik Johnston2017-06-011-0/+5
| |
* | Bug fixes and loggingErik Johnston2017-06-011-1/+21
| | | | | | | | | | - Check if room is public when a user joins before adding to user dir - Fix typo of field name "content.join_rules" -> "content.join_rule"
* | Comment briefly on how we keep user_directory up to dateErik Johnston2017-05-311-0/+10
| |
* | Lifts things into separate functionErik Johnston2017-05-311-56/+54
| |
* | TyposErik Johnston2017-05-311-8/+8
| |
* | Fix testsErik Johnston2017-05-311-2/+2
| |
* | Pull max id from correct tableErik Johnston2017-05-311-4/+2
| |
* | Handle the server leaving a public roomErik Johnston2017-05-311-3/+20
| |
* | Add commentsErik Johnston2017-05-311-41/+120
| |
* | Add searchErik Johnston2017-05-311-0/+3
| |
* | Update room column when room becomes unpublicErik Johnston2017-05-311-2/+21
| |
* | Add call laterErik Johnston2017-05-311-0/+2
| |
* | Start laterErik Johnston2017-05-311-1/+4
| |
* | Don't go round in circlesErik Johnston2017-05-311-4/+2
| |
* | Add user_directory to databaseErik Johnston2017-05-311-0/+218
|/
* Merge pull request #2247 from matrix-org/erikj/auth_eventErik Johnston2017-05-241-6/+14
|\ | | | | Only store event_auth for state events
| * Only store event_auth for state eventsErik Johnston2017-05-241-6/+14
| |
* | Add count of one time keys to sync streamErik Johnston2017-05-191-0/+11
|/
* Store ActionGenerator in HomeServerErik Johnston2017-05-192-5/+3
|
* Faster push rule calculation via push specific cacheErik Johnston2017-05-171-2/+3
| | | | | We add a push rule specific cache that ensures that we can reuse calculated push rules appropriately when a user join/leaves.
* Merge pull request #2228 from matrix-org/erikj/speed_up_get_hostsErik Johnston2017-05-161-1/+2
|\ | | | | Speed up get_joined_hosts
| * Speed up get_joined_hostsErik Johnston2017-05-161-1/+2
| |
* | Make presence use cached users/hosts in roomErik Johnston2017-05-161-3/+3
|/
* Modify condition on empty localpartLuke Barnard2017-05-101-1/+1
|
* Modify register/available to be GET with query paramLuke Barnard2017-05-101-0/+7
| | | | | | | - GET is now the method for register/available - a query parameter "username" is now used Also, empty usernames are now handled with an error message on registration or via register/available: `User ID cannot be empty`
* Merge pull request #2208 from matrix-org/erikj/ratelimit_overridErik Johnston2017-05-104-18/+36
|\ | | | | Add per user ratelimiting overrides
| * Add per user ratelimiting overridesErik Johnston2017-05-104-18/+36
| |
* | Replace some instances of preserve_context_over_deferredRichard van der Hoff2017-05-091-3/+3
| |
* | Do some logging when one-time-keys get claimedRichard van der Hoff2017-05-091-0/+10
| | | | | | | | | | might help us figure out if https://github.com/vector-im/riot-web/issues/3868 has happened.
* | Allow clients to upload one-time-keys with new sigsRichard van der Hoff2017-05-091-13/+57
|/ | | | | | | When a client retries a key upload, don't give an error if the signature has changed (but the key is the same). Fixes https://github.com/vector-im/riot-android/issues/1208, hopefully.
* Merge pull request #2190 from matrix-org/erikj/mark_remote_as_back_moreErik Johnston2017-05-051-7/+0
|\ | | | | Always mark remotes as up if we receive a signed request from them
| * Remove redundant reset of destination timersErik Johnston2017-05-051-7/+0
| |
* | CommentErik Johnston2017-05-051-0/+6
| |
* | Add comment and TODOErik Johnston2017-05-051-0/+6
| |