summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add more useful logging when we block fetching eventsMark Haines2016-12-302-0/+14
|
* Remove fallback from get_missing_events.Mark Haines2016-12-301-69/+0
| | | | | | | get_missing_events used to fallback to fetching the missing events individually requesting from every server in the room, one by one.e This could be unacceptably slow, possibly causing #1732
* Use the new twisted logging framework.Mark Haines2016-12-301-3/+13
| | | | | Hopefully adding an observer to the new framework will avoid a memory leak https://twistedmatrix.com/trac/ticket/8164
* Bump changelog and version v0.18.6-rc1Mark Haines2016-12-291-1/+1
|
* Manually abort the underlying TLS connection.Mark Haines2016-12-291-2/+10
| | | | | | | | | | | | The abort() method calls loseConnection() which tries to shutdown the TLS connection cleanly. We now call abortConnection() directly which should promptly close both the TLS connection and the underlying TCP connection. I also added some TODO markers to consider cancelling the old previous timeout rather than checking time.time(). But given how urgently we want to get this code released I'd rather leave the existing code with the duplicate timeouts and the time.time() check.
* Respect long_retries param and default to offErik Johnston2016-12-291-2/+2
|
* Spelling and commentsErik Johnston2016-12-291-4/+6
|
* Clean upErik Johnston2016-12-292-7/+4
|
* Wrap connections in an N minute timeout to ensure they get reaped correctlyErik Johnston2016-12-292-5/+61
|
* Bump version and changelogErik Johnston2016-12-161-1/+1
|
* Add some logging for syncing to_device eventsRichard van der Hoff2016-12-152-5/+10
| | | | | 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
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/room_listErik Johnston2016-12-131-1/+1
| |\
| * | Fix caching on public room listErik Johnston2016-12-131-2/+4
| | |
* | | Merge pull request #1700 from matrix-org/erikj/backfill_filterErik Johnston2016-12-151-2/+5
|\ \ \ | | | | | | | | Fix /backfill returning events it shouldn't
| * | | CommentErik Johnston2016-12-141-0/+2
| | | |
| * | | Fix /backfill returning events it shouldn'tErik Johnston2016-12-141-2/+3
| | | |
* | | | Fix crash in url preview when html tag has no textMarcin Bachry2016-12-141-1/+4
|/ / / | | | | | | | | | Signed-off-by: Marcin Bachry <hegel666@gmail.com>
* | / Fixup membership queryErik Johnston2016-12-141-2/+2
| |/ |/|
* | Bump changelog and versionErik Johnston2016-12-131-1/+1
|/
* Merge pull request #1697 from matrix-org/erikj/fix_bg_memberErik Johnston2016-12-121-1/+1
|\ | | | | Fix background update that prematurely stopped
| * Fix background update that prematurely stoppedErik Johnston2016-12-121-1/+1
| |
* | Merge pull request #1676 from matrix-org/erikj/room_listErik Johnston2016-12-1215-42/+399
|\ \ | |/ |/| Add new API appservice specific public room list
| * Rename network_id to instance_id on client sideErik Johnston2016-12-121-1/+1
| |
| * Add cache to get_public_room_ids_at_stream_idErik Johnston2016-12-122-1/+4
| |
| * Notify replication. Use correct network_idErik Johnston2016-12-121-1/+3
| |
| * DocstringErik Johnston2016-12-121-0/+12
| |
| * CommentsErik Johnston2016-12-073-2/+12
| |
| * Don't include appservice idErik Johnston2016-12-061-1/+0
| |
| * Add new API appservice specific public room listErik Johnston2016-12-0614-40/+371
| |
* | Remove unspecced GET endpoints for e2e keysRichard van der Hoff2016-12-121-39/+4
| | | | | | | | | | | | | | | | GET /keys/claim is a terrible idea, since it isn't idempotent; also it throws 500 errors if you call it without all the right params. GET /keys/query is arguable, but it's unspecced, so let's get rid of it too to stop people relying on unspecced APIs.
* | Merge pull request #1620 from matrix-org/erikj/concurrent_room_accessErik Johnston2016-12-122-27/+91
|\ \ | | | | | | Limit the number of events that can be created on a given room concurrently
| * | CommentsErik Johnston2016-11-112-0/+15
| | |
| * | Limit the number of events that can be created on a given room concurretnlyErik Johnston2016-11-101-27/+31
| | |
| * | Add Limiter: limit concurrent access to resourceErik Johnston2016-11-101-0/+45
| | |
* | | 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.
* | | | Correctly handle timeout errorsErik Johnston2016-12-092-7/+20
| | | |
* | | | Fix rare notifier bug where listeners dont timeoutErik Johnston2016-12-092-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #1680 from matrix-org/erikj/joined_roomsErik Johnston2016-12-096-9/+165
|\ \ \ \ | | | | | | | | | | Add new room membership APIs
| * | | | Add /room/<room_id>/joined_members APIErik Johnston2016-12-083-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This returns the currently joined members in the room with their display names and avatar urls. This is more efficient than /members for large rooms where you don't need the full events.
| * | | | Add profile data to the room_membership table for joinsErik Johnston2016-12-084-0/+110
| | | | |
| * | | | Add joined_rooms servletErik Johnston2016-12-081-0/+17
| |/ / /
* | | | 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.
* | | | Fix result of insert_receiptRichard van der Hoff2016-12-081-1/+1
|/ / / | | | | | | | | | This should fix the absence of notifications when new receipts arrive.
* | / Prevent user tokens being used as guest tokens (#1675)Richard van der Hoff2016-12-062-16/+37
| |/ |/| | | | | | | 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.
* | | | Bugfix: Console logging handler missing default filterpik2016-12-031-0/+1
| | | |
* | | | preview_url_resource: Ellipsis must be in unicode stringJohannes Löthberg2016-12-011-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | | | Fix doc-stringRichard van der Hoff2016-12-011-2/+1
| | | | | | | | | | | | | | | | Remove refresh_token reference
* | | | Rip out more refresh_token codeRichard van der Hoff2016-11-306-105/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3010-61/+80
|\ \ \ \
| * \ \ \ Merge pull request #1660 from matrix-org/rav/better_content_type_validationRichard van der Hoff2016-11-301-18/+30
| |\ \ \ \ | | | | | | | | | | | | More intelligent Content-Type parsing
| | * | | | More intelligent Content-Type parsingRichard van der Hoff2016-11-301-18/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Content-Type is allowed to contain options (`; charset=utf-8`, for instance). We should allow that.
| * | | | | Merge pull request #1656 from matrix-org/rav/remove_time_caveatRichard van der Hoff2016-11-305-29/+21
| |\ \ \ \ \ | | | | | | | | | | | | | | Stop putting a time caveat on access tokens
| | * | | | | CommentsRichard van der Hoff2016-11-301-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update comments in verify_macaroon
| | * | | | | Stop putting a time caveat on access tokensRichard van der Hoff2016-11-295-26/+12
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Merge pull request #1653 from matrix-org/rav/guest_e2eRichard van der Hoff2016-11-295-14/+29
| |\ \ \ \ \ | | |/ / / / | |/| | | | Implement E2E for guests
| | * | | | Allow guest access to endpoints for E2ERichard van der Hoff2016-11-253-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose /devices, /keys, and /sendToDevice to guest users, so that they can use E2E.
| | * | | | Give guest users a device_idRichard van der Hoff2016-11-252-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to create devices for guests so that they can use e2e, but we don't have anywhere to store it, so just use a fixed one.
* | | | | | Stop generating refresh tokensRichard van der Hoff2016-11-283-37/+16
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #1655 from matrix-org/rav/remove_redundant_macaroon_checksRichard van der Hoff2016-11-251-26/+8
|\ \ \ \ \ | | | | | | | | | | | | Remove redundant list of known caveat prefixes
| * | | | | Remove redundant list of known caveat prefixesRichard van der Hoff2016-11-241-26/+8
| |/ / / / | | | | | | | | | | | | | | | Also add some comments.
* | | | | Use correct varErik Johnston2016-11-241-1/+1
| | | | |
* | | | | Correctly handle 500's and 429 on federationErik Johnston2016-11-242-1/+8
| | | | |
* | | | | Bump version and changelog v0.18.5-rc2Erik Johnston2016-11-241-1/+1
| | | | |
* | | | | Don't send old events as federationErik Johnston2016-11-241-1/+1
| | | | |
* | | | | Bump changelog and version v0.18.5-rc1Erik Johnston2016-11-241-1/+1
| |/ / / |/| | |
* | | | CommentErik Johnston2016-11-231-1/+3
| | | |
* | | | More efficient notif count queriesErik Johnston2016-11-232-8/+48
| | | |
* | | | Merge pull request #1635 from matrix-org/erikj/split_out_fed_txnErik Johnston2016-11-2334-213/+1108
|\ \ \ \ | | | | | | | | | | Split out federation transaction sending to a worker
| * | | | Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-236-8/+10
| | | | |
| * | | | Ensure only main or federation_sender process can send federation trafficErik Johnston2016-11-233-5/+21
| | | | |
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-11-238-24/+199
| |\ \ \ \ | | | | | | | | | | | | | | | | | | erikj/split_out_fed_txn
| * | | | | CommentErik Johnston2016-11-231-0/+3
| | | | | |
| * | | | | Explicit federation ackErik Johnston2016-11-233-8/+25
| | | | | |
| * | | | | Fix tests and flake8Erik Johnston2016-11-221-1/+0
| | | | | |
| * | | | | Invalidate retry cache in both directionsErik Johnston2016-11-226-27/+132
| | | | | |
| * | | | | CommentsErik Johnston2016-11-211-0/+2
| | | | | |
| * | | | | Add some metricsErik Johnston2016-11-211-48/+68
| | | | | |
| * | | | | CommentsErik Johnston2016-11-213-0/+41
| | | | | |
| * | | | | Remove explicit calls to send_pduErik Johnston2016-11-213-61/+9
| | | | | |
| * | | | | Fix testsErik Johnston2016-11-212-2/+5
| | | | | |
| * | | | | Store federation stream positions in the databaseErik Johnston2016-11-216-24/+94
| | | | | |
| * | | | | Handle sending events and device messages over federationErik Johnston2016-11-1714-55/+185
| | | | | |
| * | | | | Hook up the send queue and create a federation sender workerErik Johnston2016-11-168-22/+419
| | | | | |
| * | | | | Add initial cut of federation send queueErik Johnston2016-11-161-0/+174
| | | | | |
| * | | | | Use new federation_sender DIErik Johnston2016-11-167-63/+26
| | | | | |
| * | | | | Add transaction queue and transport layer to DIErik Johnston2016-11-165-10/+16
| | | | | |
| * | | | | Move logic into transaction_queueErik Johnston2016-11-163-19/+18
| | | | | |
| * | | | | Rename transaction queue functions to send_*Erik Johnston2016-11-162-12/+12
| | | | | |
* | | | | | Merge pull request #1641 from matrix-org/erikj/as_pushersErik Johnston2016-11-232-2/+18
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Ignore AS users when fetching push rules
| * | | | | Ignore AS users when fetching push rulesErik Johnston2016-11-232-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By ignoring AS users early on when fetching push rules for a room we can avoid needlessly hitting the DB and filling up the caches.
* | | | | | Return early on /sync code paths if a '*' filter is usedKegan Dougal2016-11-222-9/+51
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #1638 from matrix-org/kegan/sync-event-fieldsKegsay2016-11-223-14/+127
|\ \ \ \ \ | |/ / / / |/| | | | Implement "event_fields" in filters
| * | | | Review commentsKegan Dougal2016-11-221-11/+9
| | | | |
| * | | | Also check for dict since sometimes they aren't frozenKegan Dougal2016-11-221-1/+1
| | | | |
| * | | | Glue only_event_fields into the sync rest servletKegan Dougal2016-11-223-11/+15
| | | | |
| * | | | More testsKegan Dougal2016-11-221-3/+4
| | | | |
| * | | | Start adding some testsKegan Dougal2016-11-211-1/+3
| | | | |
| * | | | Move event_fields filtering to serialize_eventKegan Dougal2016-11-212-59/+98
| | | | | | | | | | | | | | | | | | | | Also make it an inclusive not exclusive filter, as the spec demands.
| * | | | Add filter_event_fields and filter_field to FilterCollectionKegan Dougal2016-11-211-0/+69
| |/ / /
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2016-11-222-1/+12
|\ \ \ \
| * | | | Fix flake8Mark Haines2016-11-181-1/+0
| | | | |
| * | | | Work around client replacing reg paramsDavid Baker2016-11-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Works around https://github.com/vector-im/vector-android/issues/715 and equivalent for iOS
| * | | | Bump changelog and version v0.18.4-rc1Erik Johnston2016-11-141-1/+1
| | | | |
* | | | | Fail with a coherent error message if `/sync?filter=` is invalidKegan Dougal2016-11-212-0/+9
| |/ / / |/| | |
* | | | Merge pull request #1628 from matrix-org/erikj/ldap_split_outErik Johnston2016-11-154-378/+17
|\ \ \ \ | | | | | | | | | | Use external ldap auth pacakge
| * | | | Use external ldap auth pacakgeErik Johnston2016-11-154-378/+17
| | | | |
* | | | | Merge pull request #1617 from matrix-org/erikj/intern_state_dictErik Johnston2016-11-151-1/+4
|\ \ \ \ \ | |/ / / / |/| | | | Correctly intern keys in state cache
| * | | | Correctly intern keys in state cacheErik Johnston2016-11-081-1/+4
| | | | |
* | | | | New Flake8 fixesErik Johnston2016-11-152-0/+3
| |/ / / |/| | |
* | | | Merge pull request #1624 from matrix-org/kegan/idempotent-requestsKegsay2016-11-146-184/+133
|\ \ \ \ | | | | | | | | | | Store Promise<Response> instead of Response for HTTP API transactions
| * | | | Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-144-8/+30
| | | | |
| * | | | Move .observe() up to the cache to make things neaterKegan Dougal2016-11-143-33/+11
| | | | |
| * | | | Review commentsKegan Dougal2016-11-115-158/+119
| | | | |
| * | | | More flake8Kegan Dougal2016-11-111-1/+3
| | | | |
| * | | | Flake8 and fix whoopsieKegan Dougal2016-11-111-4/+8
| | | | |
| * | | | Use ObservableDeferreds instead of Deferreds as they behave as intendedKegan Dougal2016-11-112-30/+31
| | | | |
| * | | | Use observable deferreds because they are saneKegan Dougal2016-11-111-3/+4
| | | | |
| * | | | Flake8Kegan Dougal2016-11-102-4/+4
| | | | |
| * | | | Store Promise<Response> instead of Response for HTTP API transactionsKegan Dougal2016-11-104-88/+68
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests.
* | | | Merge pull request #1625 from DanielDent/patch-1Erik Johnston2016-11-121-2/+3
|\ \ \ \ | |/ / / |/| | | Add support for durations in minutes
| * | | Add support for durations in minutesDaniel Dent2016-11-121-2/+3
| | | |
* | | | Don't assume providers raise ConfigError'sErik Johnston2016-11-081-2/+7
| | | |
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2016-11-082-2/+3
|\| | |
| * | | Bump version and changelogErik Johnston2016-11-081-1/+1
| | | |
| * | | Explicitly set authentication mode in ldap3Erik Johnston2016-11-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | This only makes a difference for versions of ldap3 before 1.0, but a) its best to be explicit and b) there are distributions that package ancient versions for ldap3 (e.g. debian).
* | | | Merge pull request #1615 from matrix-org/erikj/limit_prev_eventsErik Johnston2016-11-081-0/+15
|\ \ \ \ | | | | | | | | | | Limit the number of prev_events of new events
| * | | | Sample correctlyErik Johnston2016-11-081-1/+3
| | | | |
| * | | | Limit the number of prev_events of new eventsErik Johnston2016-11-081-0/+13
| | |/ / | |/| |
* / | | Respect use_frozen_dicts option in workersErik Johnston2016-11-086-0/+22
|/ / /
* | | Merge pull request #1198 from euank/more-ip-blacklistErik Johnston2016-11-071-0/+2
|\ \ \ | | | | | | | | default config: blacklist more internal ips
| * | | default config: blacklist more internal ipsEuan Kemp2016-11-061-0/+2
| |/ /
* | | CommentErik Johnston2016-11-041-0/+1
| | |
* | | Remove unused but buggy functionErik Johnston2016-11-041-11/+1
| | |
* | | Rename the python-specific metrics now the docs claim that we have donePaul "LeoNerd" Evans2016-11-031-7/+9
| | |
* | | Since we don't export per-filetype fd counts any more, delete all the code ↵Paul "LeoNerd" Evans2016-11-031-36/+4
| | | | | | | | | | | | related to that too
* | | Remove now-unused 'resource' importPaul "LeoNerd" Evans2016-11-031-8/+0
| | |
* | | Now we have new-style metrics don't bother exporting legacy-named process onesPaul "LeoNerd" Evans2016-11-031-16/+1
| | |
* | | Remove spurious commentErik Johnston2016-11-031-2/+2
| | |
* | | Replace postgres GIN with GISTErik Johnston2016-11-033-1/+45
| | | | | | | | | | | | | | | This is because GIN can be slow to write too, especially when the table gets large.
* | | Don't error on non-ascii passwordsDavid Baker2016-11-031-1/+1
| | |
* | | Set CORs headers on responses from the media repoMark Haines2016-11-023-7/+22
| | |
* | | Merge pull request #1188 from matrix-org/erikj/sent_transactionsErik Johnston2016-11-011-150/+4
|\ \ \ | |/ / |/| | Remove sent_transactions table.
| * | Continue to clean up received_transactionsErik Johnston2016-11-011-0/+14
| | |
| * | Removed unused stuffErik Johnston2016-10-311-163/+3
| | |
| * | Increase batching of sent transaction insertsErik Johnston2016-10-311-1/+1
| | | | | | | | | | | | | | | | | | This should further reduce the number of individual inserts, transactions and updates that are required for keeping sent_transactions up to date.
* | | Bump version and changelogErik Johnston2016-11-011-1/+1
| | |
* | | Bump changelog and versionMark Haines2016-10-281-1/+1
| | |
* | | Merge branch 'develop' into release-v0.18.2Mark Haines2016-10-283-9/+9
|\| |
| * | Set up the process collector during metrics __init__; that way all ↵Paul "LeoNerd" Evans2016-10-272-2/+3
| | | | | | | | | | | | split-process workers have it
| * | Pass the Metrics group into the process collector instead of having it find ↵Paul "LeoNerd" Evans2016-10-272-8/+4
| | | | | | | | | | | | its own one; this avoids it needing to import from synapse.metrics
| * | Allow creation of a 'subspace' within a Metrics object, returning another onePaul "LeoNerd" Evans2016-10-271-0/+3
| | |
* | | Bump changelog and version v0.18.2-rc4Erik Johnston2016-10-271-1/+1
|/ /
* | Use most recently added binding, not most recently seen user.Erik Johnston2016-10-271-19/+11
| |
* | Fix user_threepids schema deltaErik Johnston2016-10-271-1/+38
| | | | | | | | | | | | | | | | | | | | | | The delta `37/user_threepids.sql` aimed to update all the email addresses to be lower case, however duplicate emails may exist in the table already. This commit adds a step where the delta moves the duplicate emails to a new `medium` `email_old`. Only the most recently used account keeps the binding intact. We move rather than delete so that we retain some record of which emails were associated with which account.
* | Bump changelog and versionErik Johnston2016-10-271-1/+1
| |
* | Merge pull request #1098 from matrix-org/markjh/bearer_tokenMark Haines2016-10-251-9/+37
|\ \ | | | | | | Allow clients to supply access_tokens as headers
| * \ Merge branch 'develop' into markjh/bearer_tokenMark Haines2016-09-129-45/+108
| |\ \
| * | | Fix unit testsMark Haines2016-09-121-1/+1
| | | |
| * | | Merge branch 'develop' into markjh/bearer_tokenMark Haines2016-09-097-9/+89
| |\ \ \
| * | | | Allow clients to supply access_tokens as headersMark Haines2016-09-091-9/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients can continue to supply access tokens as query parameters or can supply the token as a header: Authorization: Bearer <access_token_goes_here> This matches the ouath2 format of https://tools.ietf.org/html/rfc6750#section-2.1
* | | | | Merge branch 'release-v0.18.2' of github.com:matrix-org/synapse into developErik Johnston2016-10-251-1/+1
|\ \ \ \ \
| * | | | | Bump version and changelogErik Johnston2016-10-251-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.
* | | | | | Actually use the new functionErik Johnston2016-10-241-1/+1
| | | | | |
* | | | | | Fix incredubly slow back pagination queryErik Johnston2016-10-244-12/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 #1177 from matrix-org/paul/standard-metric-namesPaul Evans2016-10-214-66/+191
|\ \ \ \ \ \ | | | | | | | | | | | | | | Standardise prometheus metrics
| * | | | | | Split callback metric lambda functions down onto their own lines to keep ↵Paul "LeoNerd" Evans2016-10-191-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | line lengths under 90
| * | | | | | Adjust code for <100 char line limitPaul "LeoNerd" Evans2016-10-191-1/+1
| | | | | | |
| * | | | | | Cut the raw /proc/self/stat line up into named fields at collection timePaul "LeoNerd" Evans2016-10-191-8/+22
| | | | | | |
| * | | | | | Move the process metrics collector code into its own filePaul "LeoNerd" Evans2016-10-193-141/+161
| | | | | | |
| * | | | | | A slightly neater way to manage metric collector functionsPaul "LeoNerd" Evans2016-10-191-2/+8
| | | | | | |
| * | | | | | appease pep8Paul "LeoNerd" Evans2016-10-191-3/+5
| | | | | | |
| * | | | | | Also guard /proc/self/fds-related code with a suitable psuedoconstantPaul "LeoNerd" Evans2016-10-191-3/+5
| | | | | | |
| * | | | | | Guard registration of process-wide metrics by existence of the requisite ↵Paul "LeoNerd" Evans2016-10-191-45/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | /proc entries
| * | | | | | Add standard process_start_time_seconds metricPaul "LeoNerd" Evans2016-10-191-0/+15
| | | | | | |
| * | | | | | Add standard process_max_fds metricPaul "LeoNerd" Evans2016-10-191-0/+13
| | | | | | |
| * | | | | | Add standard process_open_fds metricPaul "LeoNerd" Evans2016-10-191-20/+29
| | | | | | |
| * | | | | | Add standard process_*_memory_bytes metricsPaul "LeoNerd" Evans2016-10-191-0/+8
| | | | | | |
| * | | | | | Use /proc/self/stat to generate the new process_cpu_*_seconds_total metricsPaul "LeoNerd" Evans2016-10-191-4/+12
| | | | | | |
| * | | | | | Export CPU usage metrics also under prometheus-standard metric namePaul "LeoNerd" Evans2016-10-191-0/+15
| | | | | | |
| * | | | | | Callback metric values might not just be integers - allow floatsPaul "LeoNerd" Evans2016-10-191-2/+2
| | | | | | |
* | | | | | | Merge pull request #1175 from ↵Luke Barnard2016-10-205-12/+35
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/luke/feature-configurable-as-rate-limiting Allow Configurable Rate Limiting Per AS
| * | | | | | | StyleLuke Barnard2016-10-201-2/+3
| | | | | | | |
| * | | | | | | Closing brace on following lineLuke Barnard2016-10-201-1/+2
| | | | | | | |
| * | | | | | | as_user->app_service, less redundant comments, better positioned commentsLuke Barnard2016-10-203-14/+11
| | | | | | | |
| * | | | | | | flake8Luke Barnard2016-10-201-1/+3
| | | | | | | |
| * | | | | | | Use real AS object by passing it through the requesterLuke Barnard2016-10-203-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-183-1/+26
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | 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 #1164 from pik/error-codesErik Johnston2016-10-192-7/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Clarify Error codes for GET /filter/
| * | | | | | | Refactor test_filter to use real DataStorepik2016-10-182-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add tests for filter api errors
| * | | | | | | Error codes for filtersAlexander Maznev2016-10-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | | | | | | | Merge pull request #1176 from matrix-org/erikj/eager_ratelimit_checkErik Johnston2016-10-192-6/+25
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Check whether to ratelimit sooner to avoid work
| * | | | | | | CommentErik Johnston2016-10-191-0/+3
| | | | | | | |
| * | | | | | | Check whether to ratelimit sooner to avoid workErik Johnston2016-10-192-6/+22
| | |/ / / / / | |/| | | | |
* | | | | | | Latest delta is now 37David Baker2016-10-191-0/+0
| | | | | | |
* | | | | | | Merge remote-tracking branch 'origin/develop' into ↵David Baker2016-10-197-5/+89
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dbkr/password_reset_case_insensitive
| * | | | | | | Fix push notifications for a single unread messageErik Johnston2016-10-181-1/+1
| | | | | | | |
| * | | | | | | Reduce redundant database work in email pusherErik Johnston2016-10-181-0/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the last stream ordering if the `get_unread_push_actions_for_user_in_range_for_email` returns no new push actions. This reduces the range that it needs to check next iteration.
| * | | | | | Bump version and changelogErik Johnston2016-10-171-1/+1
| | | | | | |
| * | | | | | Bump schema versionErik Johnston2016-10-172-1/+1
| | | | | | |
| * | | | | | Remove TODOErik Johnston2016-10-171-2/+0
| | | | | | |
| * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/remove_authErik Johnston2016-10-1765-1327/+2800
| |\ \ \ \ \ \
| | * \ \ \ \ \ Merge pull request #1162 from larroy/masterErik Johnston2016-10-141-1/+1
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Use sys.executable instead of hardcoded python. fixes #1161
| | | * | | | | | Use sys.executable instead of hardcoded python. fixes #1161Pedro Larroy2016-10-081-1/+1
| | | | | | | | |
| * | | | | | | | Drop some unused indicesErik Johnston2016-10-173-17/+83
| | | | | | | | |
| * | | | | | | | Remove redundant event_auth indexErik Johnston2016-09-131-0/+16
| | | | | | | | |
* | | | | | | | | Convert emails to lowercase when storingDavid Baker2016-10-192-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And db migration sql to convert existing addresses.
* | | | | | | | | Revert part of 6207399David Baker2016-10-141-20/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | older sqlite doesn't support indexes on expressions, lets just store things lowercase in the db
* | | | | | | | | Merge remote-tracking branch 'origin/develop' into ↵David Baker2016-10-1412-467/+669
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | dbkr/password_reset_case_insensitive
| * | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-10-1413-498/+712
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/fix_email_notifs
| | * \ \ \ \ \ \ \ Merge pull request #1168 from matrix-org/rav/ui_auth_on_device_deleteRichard van der Hoff2016-10-131-5/+20
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | User-interactive auth on delete device
| | | * | | | | | | | Handle delete device requests with no bodyRichard van der Hoff2016-10-121-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should probably return a 401 rather than a 400 for existing clients that don't know they have to do the UIA dance to delete a device.
| | | * | | | | | | | User-interactive auth on delete deviceRichard van der Hoff2016-10-121-5/+11
| | | | | | | | | | |
| | * | | | | | | | | Merge pull request #1167 from matrix-org/markjh/fingerprintsMark Haines2016-10-122-13/+46
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Add config option for adding additional TLS fingerprints
| | | * | | | | | | | | Explain how long the servers can cache the TLS fingerprints forMark Haines2016-10-121-3/+4
| | | | | | | | | | | |
| | | * | | | | | | | | Improve comment formattingMark Haines2016-10-122-4/+7
| | | | | | | | | | | |
| | | * | | | | | | | | Add config option for adding additional TLS fingerprintsMark Haines2016-10-112-12/+41
| | | | |_|_|/ / / / / | | | |/| | | | | | |
| | * | | | | | | | | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_authErik Johnston2016-10-125-398/+471
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Implement pluggable password auth
| | | * | | | | | | | | Implement pluggable password authErik Johnston2016-10-035-398/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-10-1118-289/+475
| | |\ \ \ \ \ \ \ \ \ \ | | | | |_|/ / / / / / / | | | |/| | | | | | | | | | | | | | | | | | | | erikj/replication_noop
| | * | | | | | | | | | Fix check of wrong variableErik Johnston2016-10-111-1/+1
| | | | | | | | | | | |
| | * | | | | | | | | | Reduce DB hits for replicationErik Johnston2016-09-233-38/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some streams will occaisonally advance their positions without actually having any new rows to send over federation. Currently this means that the token will not advance on the workers, leading to them repeatedly sending a slightly out of date token. This in turns requires the master to hit the DB to check if there are any new rows, rather than hitting the no op logic where we check if the given token matches the current token. This commit changes the API to always return an entry if the position for a stream has changed, allowing workers to advance their tokens correctly.
| * | | | | | | | | | | Fix email push notifs being droppedErik Johnston2016-10-131-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of email push notifications were failing to be sent due to an exception being thrown along one of the (many) paths. This was due to a change where we moved from pulling out the full state for each room, but rather pulled out the event ids for the state and separately loaded the full events when needed.
* | | | | | | | | | | | Make password reset email field case insensitiveDavid Baker2016-10-142-10/+36
| |_|/ / / / / / / / / |/| | | | | | | | | |
* | | | | | | | | | | 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-1110-46/+46
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | 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-062-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-068-34/+27
| | |_|_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | synchronous
* | | | | | | | | | Merge pull request #1150 from Rugvip/state_keyErik Johnston2016-10-111-10/+0
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | api/auth: fix for not being allowed to set your own state_key
| * | | | | | | | | api/auth: fix for not being allowed to set your own state_keyPatrik Oldsberg2016-09-301-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | | | | | | | | | 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
* | | | | | | | | | Merge pull request #1159 from matrix-org/rav/uia_fallback_postmessageRichard van der Hoff2016-10-061-1/+3
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | window.postmessage for Interactive Auth fallback
| * | | | | | | | | window.postmessage for Interactive Auth fallbackRichard van der Hoff2016-10-061-1/+3
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you're a webapp running the fallback in an iframe, you can't set set a window.onAuthDone function. Let's post a message back to window.opener instead.
* | | | | | | | | Bump changelog and versionErik Johnston2016-10-051-1/+1
| | | | | | | | |
* | | | | | | | | Bump version and changelogErik Johnston2016-09-301-1/+1
| |_|/ / / / / / |/| | | | | | |
* | | | | | | | 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
* | | | | | | | Merge pull request #1145 from matrix-org/erikj/fix_reindexErik Johnston2016-09-291-15/+29
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Fix background reindex of origin_server_ts
| * | | | | | | Fix background reindex of origin_server_tsErik Johnston2016-09-271-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The storage function `_get_events_txn` was removed everywhere except from this background reindex. The function was removed due to it being (almost) completely unused while also being large and complex. Therefore, instead of resurrecting `_get_events_txn` we manually reimplement the bits that are needed directly.