summary refs log tree commit diff
path: root/synapse/handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use CodeMessageException subclass insteadDavid Baker2017-04-251-10/+19
| | | | | Parse json errors from get_json client methods and throw special errors.
* Merge remote-tracking branch 'origin/develop' into ↵David Baker2017-04-211-0/+64
|\ | | | | | | dbkr/http_request_propagate_error
| * m.read_marker -> m.fully_read (#2128)Luke Barnard2017-04-181-4/+4
| | | | | | | | | | | | Also: - change the REST endpoint to have a "S" on the end (so it's now /read_markers) - change the content of the m.read_up_to event to have the key "event_id" instead of "marker".
| * Merge pull request #2120 from matrix-org/luke/read-markersLuke Barnard2017-04-131-0/+64
| |\ | | | | | | Implement Read Marker API
| | * Simplify is_event_after logicLuke Barnard2017-04-121-2/+3
| | |
| | * Only notify user, not entire roomLuke Barnard2017-04-121-3/+1
| | |
| | * Remove comment, simplify null-guardLuke Barnard2017-04-121-4/+1
| | |
| | * Handle no previous RMLuke Barnard2017-04-121-1/+4
| | |
| | * flake8Luke Barnard2017-04-111-1/+0
| | |
| | * Refactor event ordering check to events storeLuke Barnard2017-04-111-28/+4
| | |
| | * CopyrightLuke Barnard2017-04-111-1/+1
| | |
| | * flake8Luke Barnard2017-04-111-2/+1
| | |
| | * Finish implementing RM endpointLuke Barnard2017-04-111-39/+48
| | | | | | | | | | | | | | | - This change causes a 405 to be sent if "m.read_marker" is set via /account_data - This also fixes-up the RM endpoint so that it actually Works.
| | * Initial commit of RM server-side impllukebarnard2017-04-111-0/+82
| | | | | | | | | | | | (See https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit#heading=h.lndohpg8at5u)
* | | Propagate errors sensibly from proxied IS requestsDavid Baker2017-04-211-5/+5
|/ / | | | | | | | | | | When we're proxying Matrix endpoints, parse out Matrix error responses and turn them into SynapseErrors so they can be propagated sensibly upstream.
* | Merge pull request #2115 from matrix-org/erikj/dedupe_federation_replErik Johnston2017-04-121-67/+76
|\ \ | | | | | | Reduce federation replication traffic
| * | Reuse get_interested_partiesErik Johnston2017-04-121-16/+5
| | |
| * | Move get_interested_partiesErik Johnston2017-04-111-35/+34
| | |
| * | CommentsErik Johnston2017-04-111-2/+3
| | |
| * | Move get_interested_remotes back to presence handlerErik Johnston2017-04-111-3/+49
| | |
| * | Reduce federation presence replication trafficErik Johnston2017-04-101-40/+14
| |/ | | | | | | | | | | | | | | This is mainly done by moving the calculation of where to send presence updates from the presence handler to the transaction queue, so we only need to send the presence event (and not the destinations) across the replication connection. Before we were duplicating by sending the full state across once per destination.
* | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2017-04-111-4/+4
|\ \ | |/ |/|
| * When we do an invite rejection, save the signed leave event to the dbRichard van der Hoff2017-04-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | During a rejection of an invite received over federation, we ask a remote server to make us a `leave` event, then sign it, then send that with `send_leave`. We were saving the *unsigned* version of the event (which has a different event id to the signed version) to our db (and sending it to the clients), whereas other servers in the room will have seen the *signed* version. We're not aware of any actual problems that caused, except that it makes the database confusing to look at and generally leaves the room in a weird state.
* | Merge pull request #2103 from matrix-org/erikj/no-double-encodeErik Johnston2017-04-071-3/+1
|\ \ | | | | | | Don't double encode replication data
| * | Don't double json encode typing replication dataErik Johnston2017-04-051-3/+1
| | |
* | | Use iteritemsErik Johnston2017-04-061-2/+2
|/ /
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-04-042-28/+33
|\ \ | | | | | | | | | erikj/repl_tcp_server
| * \ Merge pull request #2095 from matrix-org/rav/cull_log_preservesRichard van der Hoff2017-04-032-25/+20
| |\ \ | | |/ | |/| Cull spurious PreserveLoggingContexts
| | * Remove spurious yieldRichard van der Hoff2017-04-031-1/+1
| | | | | | | | | | | | | | | In `MessageHandler`, remove `yield` on call to `Notifier.on_new_room_event`: it doesn't return anything anyway.
| | * Remove more spurious `PreserveLoggingContext`sRichard van der Hoff2017-04-031-24/+19
| | | | | | | | | | | | | | | Remove `PreserveLoggingContext` around calls to `Notifier.on_new_room_event`; there is no problem if the logcontext is set when calling it.
| * | Accept join events from all serversRichard van der Hoff2017-04-031-3/+13
| |/ | | | | | | | | | | | | Make sure that we accept join events from any server, rather than just the origin server, to make the federation join dance work correctly. (Fixes #1893).
* | Add a timestamp to USER_SYNC commandErik Johnston2017-03-311-7/+7
| | | | | | | | This timestamp is used to indicate when the user last sync'd
* | Fix up presenceErik Johnston2017-03-311-1/+3
| |
* | Remove user from process_presence when stops syncingErik Johnston2017-03-301-0/+1
| |
* | Add functions to presence to support remote syncsErik Johnston2017-03-301-0/+66
| | | | | | | | | | | | | | The TCP replication protocol streams deltas of who has started or stopped syncing. This is different from the HTTP API which periodically sends the full list of users who are syncing. This commit adds support for the new TCP style of sending deltas.
* | Add new storage functions for new replicationErik Johnston2017-03-301-0/+3
|/ | | | | The new replication protocol will keep all the streams separate, rather than muxing multiple streams into one.
* Cache hosts in roomErik Johnston2017-03-241-2/+1
|
* Merge pull request #2050 from matrix-org/rav/federation_backoffRichard van der Hoff2017-03-233-22/+17
|\ | | | | push federation retry limiter down to matrixfederationclient
| * Ignore backoff history for invites, aliases, and roomdirsRichard van der Hoff2017-03-232-2/+5
| | | | | | | | | | Add a param to the federation client which lets us ignore historical backoff data for federation queries, and set it for a handful of operations.
| * push federation retry limiter down to matrixfederationclientRichard van der Hoff2017-03-231-20/+12
| | | | | | | | | | rather than having to instrument everywhere we make a federation call, make the MatrixFederationHttpClient manage the retry limiter.
* | Add a missing yield in device key uploadRichard van der Hoff2017-03-231-1/+1
|/ | | | | (this would only very very rarely actually be a useful thing, so the main problem was the logcontext leak...)
* Merge pull request #2027 from matrix-org/rav/logcontext_leaksRichard van der Hoff2017-03-201-2/+3
|\ | | | | A few fixes to logcontext things
| * Stop preserve_fn leaking context into the reactorRichard van der Hoff2017-03-181-2/+3
| | | | | | | | | | | | | | | | Fix a bug in ``logcontext.preserve_fn`` which made it leak context into the reactor, and add a test for it. Also, get rid of ``logcontext.reset_context_after_deferred``, which tried to do the same thing but had its own, different, set of bugs.
* | Refactoring and cleanupsRichard van der Hoff2017-03-171-0/+10
|/ | | | | | | | | | | | A few non-functional changes: * A bunch of docstrings to document types * Split `EventsStore._persist_events_txn` up a bit. Hopefully it's a bit more readable. * Rephrase `EventFederationStore._update_min_depth_for_room_txn` to avoid mind-bending conditional. * Rephrase rejected/outlier conditional in `_update_outliers_txn` to avoid mind-bending conditional.
* Merge pull request #2016 from matrix-org/rav/queue_pdus_during_joinRichard van der Hoff2017-03-171-24/+44
|\ | | | | Queue up federation PDUs while a room join is in progress
| * Queue up federation PDUs while a room join is in progressRichard van der Hoff2017-03-151-24/+44
| | | | | | | | | | | | | | This just takes the existing `room_queues` logic and moves it out to `on_receive_pdu` instead of `_process_received_pdu`, which ensures that we don't start trying to fetch prev_events and whathaveyou until the join has completed.
* | CommentsErik Johnston2017-03-161-2/+2
| |
* | CommentErik Johnston2017-03-161-3/+8
| |
* | Don't recreate so many setsErik Johnston2017-03-165-34/+28
| |
* | Implement no op for room stream in syncErik Johnston2017-03-161-4/+47
| |
* | Merge pull request #2014 from Half-Shot/hs/fix-appservice-presenceErik Johnston2017-03-151-1/+4
|\ \ | | | | | | Add fallback to last_active_ts if it beats the last sync time on a presence timeout.
| * | Add a great comment to handle_timeout for active vs sync times.Will Hunt2017-03-151-0/+2
| | |
| * | Add fallback to last_active_ts if it beats the last sync time.Will Hunt2017-03-151-1/+2
| | |
* | | Cache set of users whose presence the other user should seeErik Johnston2017-03-151-13/+27
| | |
* | | CommentErik Johnston2017-03-151-0/+3
| | |
* | | Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-153-23/+32
|/ /
* | Merge pull request #1994 from matrix-org/dbkr/msisdn_signin_2Erik Johnston2017-03-152-8/+61
|\ \ | | | | | | Phone number registration / login support v2
| * | Support registration / login with phone numberDavid Baker2017-03-132-8/+61
| |/ | | | | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-03-144-66/+239
|\ \ | | | | | | | | | erikj/public_list_speed
| * | Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-0/+34
| |/ | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review.
| * Merge remote-tracking branch 'origin/develop' into rav/refactor_received_pduRichard van der Hoff2017-03-133-64/+11
| |\
| | * Revert "Support registration & login with phone number"Erik Johnston2017-03-132-61/+8
| | |
| * | Move FederationServer._handle_new_pdu to FederationHandlerRichard van der Hoff2017-03-091-5/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately this significantly increases the size of the already-rather-big FederationHandler, but the code fits more naturally here, and it paves the way for the tighter integration that I need between handling incoming PDUs and doing the join dance. Other than renaming the existing `FederationHandler.on_receive_pdu` to `_process_received_pdu` to make way for it, this just consists of the move, and replacing `self.handler` with `self` and `self` with `self.replication_layer`.
* | | CommentsErik Johnston2017-03-131-0/+12
| | |
* | | Assume rooms likely haven't changedErik Johnston2017-03-131-8/+11
| | |
* | | Get current state by using current_state_events tableErik Johnston2017-03-102-19/+30
| |/ |/|
* | Noop repated delete device inbox calls from /syncErik Johnston2017-03-101-3/+3
|/
* Merge pull request #1971 from matrix-org/dbkr/msisdn_signinDavid Baker2017-03-092-8/+61
|\ | | | | Support registration & login with phone number
| * Fix log lineDavid Baker2017-03-081-1/+1
| |
| * Factor out msisdn canonicalisationDavid Baker2017-03-081-1/+1
| | | | | | | | Plus a couple of other minor fixes
| * Fix pep8David Baker2017-03-081-1/+1
| |
| * Just return the deferred straight offDavid Baker2017-03-011-4/+2
| | | | | | | | | | defer.returnValue doth not maketh a generator: it would need a yield to be a generator, and this doesn't need a yield.
| * Merge remote-tracking branch 'origin/develop' into dbkr/msisdn_signinDavid Baker2017-03-015-14/+39
| |\
| * | WIP support for msisdn 3pid proxy methodsDavid Baker2017-02-142-6/+61
| | |
* | | Don't keep around old stream IDs foreverErik Johnston2017-03-031-2/+9
| | |
* | | SpellingErik Johnston2017-03-031-2/+2
| | |
* | | Fix device list update to not constantly resyncErik Johnston2017-03-011-46/+115
| |/ |/|
* | Pop with default value to stop throwingErik Johnston2017-02-281-1/+1
| |
* | Pop rather than del from dictErik Johnston2017-02-271-1/+1
| |
* | Remove unused paramErik Johnston2017-02-201-1/+1
| |
* | Fix /context/ visibiltiy rulesErik Johnston2017-02-201-1/+4
| |
* | Merge pull request #1922 from matrix-org/dbkr/allow_forget_for_banDavid Baker2017-02-171-1/+3
|\ \ | | | | | | Allow forgetting rooms you're banned from
| * | Allow forgetting rooms you're banned fromDavid Baker2017-02-151-1/+3
| | |
* | | Fix bugs in the /keys/changes apiRichard van der Hoff2017-02-141-9/+29
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `get_forward_extremeties_for_room` takes a numeric `stream_ordering`. We were passing a `RoomStreamToken`, which meant that it returned the *current* extremities, rather than those corresponding to the `from_token`. However: * `get_state_ids_for_events` required a second ('types') parameter; this meant that a `TypeError` was thrown and we ended up acting as though there was *no* prev state. * `get_state_ids_for_events` actually returns a map from event_id to state dictionary - just looking up the state keys in it again meant that we acted as though there was no prev state. We now check if each member's state has changed since *any* of the extremities. Also add/fix some comments.
* / Cache get_presence storageErik Johnston2017-02-131-1/+1
|/
* Merge pull request #1784 from morteza-araby/user-adminErik Johnston2017-02-061-1/+43
|\ | | | | Administration functionalities
| * admin,storage: added more administrator functionalitiesMorteza Araby2017-02-021-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | administrators can now: - Set displayname of users - Update user avatars - Search for users by user_id - Browse all users in a paginated API - Reset user passwords - Deactivate users Helpers for doing paginated queries has also been added to storage Signed-off-by: Morteza Araby <morteza.araby@ericsson.com>
* | Measure new device list stuffErik Johnston2017-02-022-1/+6
| |
* | Use new get_users_who_share_room_with_userErik Johnston2017-02-021-11/+13
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-02-022-29/+16
|\ \ | | | | | | | | | erikj/device_list_fixes
| * \ Merge pull request #1876 from matrix-org/erikj/shared_member_storeErik Johnston2017-02-022-29/+16
| |\ \ | | |/ | |/| Make presence.get_new_events a bit faster
| | * Make presence.get_new_events a bit fasterErik Johnston2017-02-022-29/+16
| | | | | | | | | | | | We do this by caching the set of users a user shares rooms with.
* | | Use stream_ordering_to_exterm for /keys/changesErik Johnston2017-02-021-9/+9
|/ /
* / Fix email push in pusher workerErik Johnston2017-02-022-40/+50
|/ | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Doc argsErik Johnston2017-02-011-0/+7
|
* Include newly joined users in /keys/changes APIErik Johnston2017-02-011-4/+35
|
* Wake sync up for device changesErik Johnston2017-02-011-1/+2
|
* Implement /keys/changesErik Johnston2017-02-011-0/+16
|
* Merge pull request #1862 from matrix-org/erikj/presence_updateErik Johnston2017-01-311-3/+3
|\ | | | | Use DB cache of joined users for presence
| * Use DB cache of joined users for presenceErik Johnston2017-01-301-3/+3
| |
* | Fix unit testsErik Johnston2017-01-301-1/+1
| |
* | Noop device key changes if they're the sameErik Johnston2017-01-301-4/+5
|/
* Use get_users_in_room and declare it iterableErik Johnston2017-01-301-1/+1
|
* Merge pull request #1857 from matrix-org/erikj/device_list_streamErik Johnston2017-01-303-17/+195
|\ | | | | Implement device lists updates over federation
| * Hook device list updates to replicationErik Johnston2017-01-272-26/+25
| |
| * Better nameErik Johnston2017-01-271-1/+3
| |
| * Handle users leaving roomsErik Johnston2017-01-261-1/+16
| |
| * Add commentsErik Johnston2017-01-262-4/+19
| |
| * Implement device key caching over federationErik Johnston2017-01-262-17/+108
| |
| * Fix up sending of m.device_list_update edusErik Johnston2017-01-251-0/+1
| |
| * Add basic implementation of local device list changesErik Johnston2017-01-253-12/+67
| |
* | Don't clobber a displayname or avatar_url if provided by an m.room.member eventPaul "LeoNerd" Evans2017-01-241-2/+4
|/
* Insert delta of current_state_events to be more efficientErik Johnston2017-01-201-2/+6
|
* Derive current_state_events from state groupsErik Johnston2017-01-201-1/+0
|
* Merge pull request #1822 from matrix-org/erikj/statE_loggingErik Johnston2017-01-181-1/+1
|\ | | | | Change resolve_state_groups call site logging to DEBUG
| * Change resolve_state_groups call site logging to DEBUGErik Johnston2017-01-171-1/+1
| |
* | Merge pull request #1818 from matrix-org/erikj/state_auth_splitout_splitErik Johnston2017-01-181-2/+2
|\ \ | |/ |/| Optimise state resolution
| * Fix couple of federation state bugsErik Johnston2017-01-171-1/+1
| |
| * Optimise state resolutionErik Johnston2017-01-171-1/+1
| |
* | Add missing None checkErik Johnston2017-01-111-5/+6
|/
* Merge pull request #1789 from matrix-org/erikj/decouple_presenceErik Johnston2017-01-101-1/+3
|\ | | | | Don't block messages sending on bumping presence
| * CommentErik Johnston2017-01-101-0/+2
| |
| * Don't block messages sending on bumping presenceErik Johnston2017-01-101-1/+1
| |
* | Merge pull request #1787 from matrix-org/erikj/linearize_memberErik Johnston2017-01-101-4/+15
|\ \ | | | | | | Linearize updates to membership via PUT /state/
| * | Linearize updates to membership via PUT /state/Erik Johnston2017-01-091-4/+15
| |/
* / Name linearizer's for better logsErik Johnston2017-01-091-1/+1
|/
* Merge branch 'release-v0.18.6' into developMark Haines2017-01-061-4/+6
|\
| * handlers/room_member: fix guest access check when joining roomsPatrik Oldsberg2017-01-061-4/+6
| | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | Merge branch 'release-v0.18.6' into developMatthew Hodgson2017-01-051-0/+1
|\|
| * Fix caseMatthew Hodgson2017-01-051-1/+1
| |
| * add logging for all the places we call resolve_state_groups. my kingdom for ↵Matthew Hodgson2017-01-051-0/+1
| | | | | | | | a backtrace that actually works.
* | Merge branch 'release-v0.18.6' into developMatthew Hodgson2017-01-051-0/+4
|\|
| * Only send events that originate on this server.Mark Haines2017-01-051-0/+4
| | | | | | | | | | | | Or events that are sent via the federation "send_join" API. This should match the behaviour from before v0.18.5 and #1635 landed.
* | Fix another comment typoDavid Baker2016-12-211-1/+1
| |
* | Add /account/3pid/delete endpointDavid Baker2016-12-201-0/+11
| | | | | | | | Also fix a typo in a comment
* | fix ability to change password to a non-ascii oneMatthew Hodgson2016-12-181-2/+2
| | | | | | | | https://github.com/vector-im/riot-web/issues/2658
* | Cache network room list queries.Erik Johnston2016-12-161-3/+4
|/
* Add some logging for syncing to_device eventsRichard van der Hoff2016-12-151-4/+8
| | | | | Attempt to track down the loss of to_device events (https://github.com/vector-im/riot-web/issues/2711 etc).
* Merge pull request #1698 from matrix-org/erikj/room_listErik Johnston2016-12-151-2/+4
|\ | | | | Fix caching on public room list
| * Fix caching on public room listErik Johnston2016-12-131-2/+4
| |
* | CommentErik Johnston2016-12-141-0/+2
| |
* | Fix /backfill returning events it shouldn'tErik Johnston2016-12-141-2/+3
|/
* Merge pull request #1676 from matrix-org/erikj/room_listErik Johnston2016-12-122-12/+67
|\ | | | | Add new API appservice specific public room list
| * CommentsErik Johnston2016-12-072-2/+10
| |
| * Add new API appservice specific public room listErik Johnston2016-12-062-11/+58
| |
* | Merge pull request #1620 from matrix-org/erikj/concurrent_room_accessErik Johnston2016-12-121-27/+33
|\ \ | | | | | | Limit the number of events that can be created on a given room concurrently
| * | CommentsErik Johnston2016-11-111-0/+2
| | |
| * | Limit the number of events that can be created on a given room concurretnlyErik Johnston2016-11-101-27/+31
| | |
* | | Merge pull request #1686 from matrix-org/rav/fix_federation_key_failsRichard van der Hoff2016-12-121-0/+10
|\ \ \ | | | | | | | | E2E key query: handle federation fails
| * | | Remove unused importRichard van der Hoff2016-12-121-1/+0
| | | |
| * | | E2E key query: handle federation failsRichard van der Hoff2016-12-091-0/+11
| | | | | | | | | | | | | | | | Don't fail the whole request if we can't connect to a particular server.
* | | | Fix rare notifier bug where listeners dont timeoutErik Johnston2016-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | There was a race condition that caused the notifier to 'miss' the timeout notification, since there were no other checks for the timeout this caused listeners to get stuck in a loop until something happened.
* | | | Fix ignored read-receiptsRichard van der Hoff2016-12-081-1/+5
|/ / / | | | | | | | | | | | | Don't ignore read-receipts which arrive in the same EDU as a read-receipt for an old event.
* | / Prevent user tokens being used as guest tokens (#1675)Richard van der Hoff2016-12-061-1/+1
| |/ |/| | | | | | | Make sure that a user cannot pretend to be a guest by adding 'guest = True' caveats.
* | Merge pull request #653 from matrix-org/erikj/preset_guest_joinErik Johnston2016-12-051-0/+10
|\ \ | | | | | | Enable guest access for private rooms by default
| * | Enable guest access for private rooms by defaultErik Johnston2016-03-171-0/+10
| | |
* | | Merge pull request #1649 from matrix-org/dbkr/log_ui_auth_argsErik Johnston2016-12-051-1/+9
|\ \ \ | | | | | | | | Log the args that we have on UI auth completion
| * | | Clarify that creds doesn not contain passwords.David Baker2016-11-241-1/+3
| | | |
| * | | Log the args that we have on UI auth completionDavid Baker2016-11-241-1/+7
| | | | | | | | | | | | | | | | | | | | This will be super helpful for debugging if we have more registration woes.
* | | | Rip out more refresh_token codeRichard van der Hoff2016-11-301-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema.
* | | | Merge branch 'develop' into rav/no_more_refresh_tokensRichard van der Hoff2016-11-302-8/+8
|\ \ \ \
| * | | | Stop putting a time caveat on access tokensRichard van der Hoff2016-11-292-8/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats.
* / / / Stop generating refresh tokensRichard van der Hoff2016-11-281-16/+4
|/ / / | | | | | | | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins.
* | | Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-233-6/+4
| | |
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-11-231-9/+22
|\ \ \ | | | | | | | | | | | | erikj/split_out_fed_txn
| * | | Return early on /sync code paths if a '*' filter is usedKegan Dougal2016-11-221-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is currently very conservative in that it only does this if there is no `since` token. This limits the risk to clients likely to be doing one-off syncs (like bridges), but does mean that normal human clients won't benefit from the time savings here. If the savings are large enough, I would consider generalising this to just check the filter.
* | | | Remove explicit calls to send_pduErik Johnston2016-11-211-53/+0
| | | |
* | | | Handle sending events and device messages over federationErik Johnston2016-11-171-12/+1
| | | |
* | | | Use new federation_sender DIErik Johnston2016-11-165-14/+16
|/ / /
* | / Use external ldap auth pacakgeErik Johnston2016-11-151-0/+2
| |/ |/|
* | Sample correctlyErik Johnston2016-11-081-1/+3
| |
* | Limit the number of prev_events of new eventsErik Johnston2016-11-081-0/+13
| |
* | Don't error on non-ascii passwordsDavid Baker2016-11-031-1/+1
| |
* | Fix infinite typing bugErik Johnston2016-10-241-2/+10
| | | | | | | | | | | | | | There's a bug somewhere that causes typing notifications to not be timed out properly. By adding a paranoia timer and using correct inequalities notifications should stop being stuck, even if it the root cause hasn't been fixed.
* | Fix incredubly slow back pagination queryErik Johnston2016-10-242-4/+7
| | | | | | | | | | | | | | If a client didn't specify a from token when paginating backwards synapse would attempt to query the (global) maximum topological token. This a) doesn't make much sense since they're room specific and b) there are no indices that lets postgres do this efficiently.
* | Merge pull request #1175 from ↵Luke Barnard2016-10-201-0/+6
|\ \ | | | | | | | | | | | | matrix-org/luke/feature-configurable-as-rate-limiting Allow Configurable Rate Limiting Per AS
| * | as_user->app_service, less redundant comments, better positioned commentsLuke Barnard2016-10-201-6/+3
| | |
| * | Use real AS object by passing it through the requesterLuke Barnard2016-10-201-8/+3
| | | | | | | | | | | | This means synapse does not have to check if the AS is interested, but instead it effectively re-uses what it already knew about the requesting user
| * | Allow Configurable Rate Limiting Per ASLuke Barnard2016-10-181-0/+14
| | | | | | | | | | | | This adds a flag loaded from the registration file of an AS that will determine whether or not its users are rate limited (by ratelimit in _base.py). Needed for IRC bridge reasons - see https://github.com/matrix-org/matrix-appservice-irc/issues/240.
* | | Merge pull request #1176 from matrix-org/erikj/eager_ratelimit_checkErik Johnston2016-10-191-1/+16
|\ \ \ | | | | | | | | Check whether to ratelimit sooner to avoid work
| * | | CommentErik Johnston2016-10-191-0/+3
| | | |
| * | | Check whether to ratelimit sooner to avoid workErik Johnston2016-10-191-1/+13
| |/ /
* / / Convert emails to lowercase when storingDavid Baker2016-10-191-0/+12
|/ / | | | | | | And db migration sql to convert existing addresses.
* | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_authErik Johnston2016-10-121-295/+39
|\ \ | | | | | | Implement pluggable password auth
| * | Implement pluggable password authErik Johnston2016-10-031-295/+39
| | | | | | | | | | | | | | | | | | Allows delegating the password auth to an external module. This also moves the LDAP auth to using this system, allowing it to be removed from the synapse tree entirely in the future.
* | | Merge pull request #1166 from matrix-org/rav/grandfather_broken_riot_signupRichard van der Hoff2016-10-111-3/+14
|\ \ \ | | | | | | | | Work around email-spamming Riot bug
| * | | Work around email-spamming Riot bugRichard van der Hoff2016-10-111-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d9546f9 introduced a change to synapse behaviour, in that failures in the interactive-auth process would return the flows and params data as well as an error code (as specced in https://github.com/matrix-org/matrix-doc/pull/397). That change exposed a bug in Riot which would make it request a new validation token (and send a new email) each time it got a 401 with a `flows` parameter (see https://github.com/vector-im/vector-web/issues/2447 and the fix at https://github.com/matrix-org/matrix-react-sdk/pull/510). To preserve compatibility with broken versions of Riot, grandfather in the old behaviour for the email validation stage.
* | | | Merge pull request #1157 from Rugvip/nolimitErik Johnston2016-10-117-32/+30
|\ \ \ \ | |/ / / |/| | | Remove rate limiting from app service senders and fix get_or_create_user requester
| * | | rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-061-4/+2
| | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * | | handlers/profile: added admin override for set_displayname and set_avatar_urlPatrik Oldsberg2016-10-061-4/+4
| | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * | | handers: do not ratelimit app service sendersPatrik Oldsberg2016-10-061-1/+7
| | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * | | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-065-23/+17
| |/ / | | | | | | | | | synchronous
* | | Merge pull request #1160 from matrix-org/rav/401_on_password_failRichard van der Hoff2016-10-071-32/+52
|\ \ \ | |/ / |/| | Interactive Auth: Return 401 from for incorrect password
| * | Interactive Auth: Return 401 from for incorrect passwordRichard van der Hoff2016-10-071-32/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | This requires a bit of fettling, because I want to return a helpful error message too but we don't want to distinguish between unknown user and invalid password. To avoid hardcoding the error message into 15 places in the code, I've had to refactor a few methods to return None instead of throwing. Fixes https://matrix.org/jira/browse/SYN-744
* | | Restructure ldap authenticationMartin Weinelt2016-09-291-87/+192
|/ / | | | | | | | | | | | | | | - properly parse return values of ldap bind() calls - externalize authentication methods - change control flow to be more error-resilient - unbind ldap connections in many places - improve log messages and loglevels
* | Move FEDERATION_PING_INTERVAL timer. Update log lineErik Johnston2016-09-231-8/+10
| |
* | Time out typing over federationErik Johnston2016-09-231-70/+105
| |
* | Merge pull request #1136 from matrix-org/erikj/fix_signed_3pidErik Johnston2016-09-221-6/+9
|\ \ | | | | | | Allow invites via 3pid to bypass sender sig check
| * | Add commentsErik Johnston2016-09-221-0/+3
| | |
| * | Allow invites via 3pid to bypass sender sig checkErik Johnston2016-09-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a server sends a third party invite another server may be the one that the inviting user registers with. In this case it is that remote server that will issue an actual invitation, and wants to do it "in the name of" the original invitee. However, the new proper invite will not be signed by the original server, and thus other servers would reject the invite if it was seen as coming from the original user. To fix this, a special case has been added to the auth rules whereby another server can send an invite "in the name of" another server's user, so long as that user had previously issued a third party invite that is now being accepted.
* | | Merge pull request #1132 from matrix-org/erikj/initial_sync_splitErik Johnston2016-09-222-378/+446
|\ \ \ | |/ / |/| | Support /initialSync in synchrotron worker
| * | Support /initialSync in synchrotron workerErik Johnston2016-09-212-378/+446
| | |
* | | Add total_room_count_estimate to /publicRoomsErik Johnston2016-09-211-0/+3
|/ /
* | Merge pull request #1130 from matrix-org/erikj/fix_pubroom_pagErik Johnston2016-09-191-12/+25
|\ \ | | | | | | Handle fact that _generate_room_entry may not return a room entry
| * | PEP8Erik Johnston2016-09-171-1/+1
| | |
| * | Handle fact that _generate_room_entry may not return a room entryErik Johnston2016-09-171-12/+25
| | |
* | | Merge pull request #1129 from matrix-org/erikj/fix_pubroom_pagErik Johnston2016-09-171-110/+123
|\| | | | | | | | Fix and clean up publicRooms pagination
| * | SpellingErik Johnston2016-09-171-1/+1
| | |
| * | Fix and clean up publicRooms paginationErik Johnston2016-09-171-110/+123
| | |
* | | Make public room search case insensitiveDavid Baker2016-09-161-4/+4
|/ /
* | CommentErik Johnston2016-09-161-0/+2
| |
* | Add remote reoom cacheErik Johnston2016-09-161-2/+23
| |
* | Support filtering remote room listsErik Johnston2016-09-161-3/+9
| |
* | Filter remote rooms lists locallyErik Johnston2016-09-161-10/+24
| |
* | Don't cache searched in /publicRoomsErik Johnston2016-09-161-1/+5
| |
* | Add very basic filter API to /publicRoomsErik Johnston2016-09-151-5/+18
| |
* | Change the way we calculate new_limit in /publicRooms and add POST APIErik Johnston2016-09-151-15/+33
| |
* | Merge pull request #1121 from matrix-org/erikj/public_room_paginateErik Johnston2016-09-151-84/+196
|\ \ | | | | | | Add pagination support to publicRooms
| * | Base public room list off of public_rooms streamErik Johnston2016-09-151-7/+27
| | |
| * | Pass since/from parameters over federationErik Johnston2016-09-151-29/+26
| | |
| * | Allow paginating both forwards and backwardsErik Johnston2016-09-151-21/+50
| | |
| * | Remove support for aggregate room listsErik Johnston2016-09-151-55/+0
| | |
| * | Accept optional token to public room listErik Johnston2016-09-151-7/+75
| | |
| * | Calculate the public room list from a stream_orderingErik Johnston2016-09-141-3/+40
| | |
| * | Refactor public rooms to not pull out the full state for each roomErik Johnston2016-09-141-14/+30
| | |
* | | Merge pull request #1117 from matrix-org/erikj/fix_stateErik Johnston2016-09-141-0/+4
|\ \ \ | |/ / |/| | Ensure we don't mutate state cache entries
| * | Ensure we don't mutate state cache entriesErik Johnston2016-09-141-0/+4
| | |
* | | Move RoomListHandler into a separate fileErik Johnston2016-09-142-158/+185
|/ /
* | Merge pull request #1111 from matrix-org/matthew/device-idsMatthew Hodgson2016-09-141-1/+1
|\ \ | | | | | | make device IDs more useful for human disambiguation
| * | make device IDs more useful for human disambiguationMatthew Hodgson2016-09-131-1/+1
| | |
* | | Merge pull request #1116 from matrix-org/paul/tiny-fixesPaul Evans2016-09-131-2/+2
|\ \ \ | | | | | | | | Fix typo "persiting"
| * | | Fix typo "persiting"Paul "LeoNerd" Evans2016-09-131-2/+2
| | | |
* | | | Limit how often we ask for keys from dead serversMark Haines2016-09-131-11/+30
|/ / /
* | | Move the E2E key handling into the e2e handlerMark Haines2016-09-131-3/+102
| | |
* | | Merge pull request #1110 from matrix-org/markjh/e2e_timeoutMark Haines2016-09-131-21/+43
|\ \ \ | | | | | | | | Add a timeout parameter for end2end key queries.
| * | | Add a timeout parameter for end2end key queries.Mark Haines2016-09-121-21/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s.
* | | | Add is_direct param to /createRoomErik Johnston2016-09-121-0/+6
|/ / /
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/batch_edusErik Johnston2016-09-091-2/+31
|\| |
| * | Merge pull request #1091 from matrix-org/paul/third-party-lookupPaul Evans2016-09-091-2/+31
| |\ \ | | | | | | | | Improvements to 3PE lookup API
| | * | Reject malformed 3PE query metadata results earlier in AS API handling codePaul "LeoNerd" Evans2016-09-091-9/+5
| | | |
| | * | Minor fixes from PR commentsPaul "LeoNerd" Evans2016-09-091-2/+2
| | | |
| | * | Efficiency fix for lookups of a single protocolPaul "LeoNerd" Evans2016-09-091-1/+4
| | | |
| | * | Don't corrupt shared cache on subsequent protocol requestsPaul "LeoNerd" Evans2016-09-091-0/+2
| | | |
| | * | Collect up all the "instances" lists of individual AS protocol results into ↵Paul "LeoNerd" Evans2016-09-081-1/+29
| | | | | | | | | | | | | | | | one combined answer to the client
* | | | Clobber EDUs in send queueErik Johnston2016-09-093-15/+7
|/ / /
* / / Deduplicate presence in _update_statesErik Johnston2016-09-091-0/+6
|/ /
* | Merge pull request #1082 from matrix-org/erikj/remote_public_roomsErik Johnston2016-09-081-0/+10
|\ \ | | | | | | Add server param to /publicRooms
| * | Add server param to /publicRoomsErik Johnston2016-09-081-0/+10
| | |
* | | Check the user_id for presence/typing matches originErik Johnston2016-09-082-1/+15
| | |
* | | Merge branch 'develop' into markjh/direct_to_device_federationMark Haines2016-09-083-54/+35
|\| |