summary refs log tree commit diff
path: root/synapse (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Allow error strings from spam checkerDavid Baker2017-10-111-2/+6
|
* Fix schema delta versionsErik Johnston2017-10-113-1/+1
|
* Merge pull request #2466 from matrix-org/erikj/groups_mergedErik Johnston2017-10-1131-57/+4786
|\ | | | | Initial Group Implementation
| * Validate room idsErik Johnston2017-10-111-1/+5
| |
| * Don't corrupt cacheErik Johnston2017-10-051-0/+1
| |
| * Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-0226-273/+930
| |\
| * | Add remove room APIErik Johnston2017-09-266-1/+72
| | |
| * | Add unique index to group_rooms tableErik Johnston2017-09-262-3/+1
| | |
| * | Add is_publicised to group summaryErik Johnston2017-09-261-25/+31
| | |
| * | Remove user from group summary when the leave the groupErik Johnston2017-09-211-0/+8
| | |
| * | Revert: Keep room_id's in group summaryErik Johnston2017-09-211-0/+1
| | |
| * | Keep room_id's in group summaryErik Johnston2017-09-211-1/+0
| | |
| * | Correctly return next tokenErik Johnston2017-09-201-1/+2
| | |
| * | Fix initial syncErik Johnston2017-09-201-1/+9
| | |
| * | 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-1924-546/+580
| |\ \
| * | | Add user profiles to summary from group serverErik Johnston2017-08-253-2/+30
| | | |
| * | | Fix typos and reinheritErik Johnston2017-08-251-12/+6
| | | |
| * | | Split out profile handler to fix testsErik Johnston2017-08-258-22/+30
| | | |
| * | | Add remote profile cacheErik Johnston2017-08-255-5/+237
| | | |
| * | | Add _simple_updateErik Johnston2017-08-251-19/+32
| | | |
| * | | Merge pull request #2410 from matrix-org/erikj/groups_publiciseErik Johnston2017-08-216-0/+197
| |\ \ \ | | | | | | | | | | Add ability to publicise group membership
| | * | | Use BOOLEAN rather than TEXT typeErik Johnston2017-08-211-1/+1
| | | | |
| | * | | FixupErik Johnston2017-08-112-9/+14
| | | | |
| | * | | Add bulk group publicised lookup APIErik Johnston2017-08-095-0/+142
| | | | |
| | * | | Allow update group publicityErik Johnston2017-08-082-0/+43
| | | | |
| | * | | Store whether the user wants to publicise their membership of a groupErik Johnston2017-08-083-0/+7
| | | | |
| * | | | Groups: Fix mising json.load in initial syncErik Johnston2017-08-211-1/+7
| |/ / /
| * | | Remove stale TODO commentsErik Johnston2017-08-041-10/+0
| | | |
| * | | Update commentErik Johnston2017-07-241-2/+2
| | | |
| * | | Use join rather than joined, etc.Erik Johnston2017-07-241-2/+2
| | | |
| * | | Fix all the typosErik Johnston2017-07-241-8/+7
| | | |
| * | | Include users membership in group in summary APIErik Johnston2017-07-242-0/+60
| | | |
| * | | Check users/rooms are in group before adding to summaryErik Johnston2017-07-241-0/+25
| | | |
| * | | Correctly add joins to correct segmentErik Johnston2017-07-241-1/+1
| | | |
| * | | Merge pull request #2378 from matrix-org/erikj/group_sync_supportErik Johnston2017-07-2111-10/+281
| |\ \ \ | | | | | | | | | | Add groups to sync stream
| | * | | Add notifierErik Johnston2017-07-201-0/+1
| | | | |
| | * | | Fix replication. And notifyErik Johnston2017-07-205-4/+119
| | | | |
| | * | | Remember to cast to boolErik Johnston2017-07-201-1/+1
| | | | |
| | * | | Fix bug in generating current tokenErik Johnston2017-07-201-0/+2
| | | | |
| | * | | Add groups to sync streamErik Johnston2017-07-207-6/+159
| | | | |
| * | | | Merge pull request #2377 from matrix-org/erikj/group_profile_updateErik Johnston2017-07-205-0/+55
| |\ \ \ \ | | |/ / / | |/| | | Add update group profile API
| | * | | Remove spurious content paramErik Johnston2017-07-201-1/+1
| | | | |
| | * | | Check values are stringsErik Johnston2017-07-201-1/+4
| | | | |
| | * | | Fix a storage descErik Johnston2017-07-201-1/+1
| | | | |
| | * | | Add update group profile APIErik Johnston2017-07-205-0/+52
| | | | |
| * | | | Fix typoErik Johnston2017-07-201-1/+1
| |/ / /
| * | | CommentsErik Johnston2017-07-184-13/+24
| | | |
| * | | CommentsErik Johnston2017-07-182-103/+88
| | | |
| * | | Fix permissionsErik Johnston2017-07-181-2/+6
| | | |
| * | | Add DELETEErik Johnston2017-07-181-0/+46
| | | |
| * | | Add 'args' param to post_jsonErik Johnston2017-07-181-9/+15
| | | |
| * | | Fix typosErik Johnston2017-07-183-12/+22
| | | |
| * | | Correctly parse query paramsErik Johnston2017-07-181-19/+19
| | | |
| * | | Update federation client pokesErik Johnston2017-07-181-13/+22
| | | |
| * | | Add client apisErik Johnston2017-07-182-10/+188
| | | |
| * | | CommentsErik Johnston2017-07-182-15/+22
| | | |
| * | | Use transport client directlyErik Johnston2017-07-181-18/+25
| | | |
| * | | CommentErik Johnston2017-07-181-0/+14
| | | |
| * | | Remove sync stuffErik Johnston2017-07-182-29/+1
| | | |
| * | | Add GroupID typeErik Johnston2017-07-181-0/+5
| | | |
| * | | Remove unused tablesErik Johnston2017-07-181-7/+0
| | | |
| * | | Remove sync stuffErik Johnston2017-07-182-70/+0
| | | |
| * | | Add local group server supportErik Johnston2017-07-1710-2/+1248
| | | |
| * | | Ensure category and role ids are non-nullErik Johnston2017-07-141-0/+24
| | | |
| * | | Add DEFAULT_ROLE_IDErik Johnston2017-07-141-4/+5
| | | |
| * | | Correctly increment ordersErik Johnston2017-07-141-2/+2
| | | |
| * | | Remove unused functionsErik Johnston2017-07-131-152/+0
| | | |
| * | | CommentsErik Johnston2017-07-132-12/+32
| | | |
| * | | Remove TODOErik Johnston2017-07-131-1/+0
| | | |
| * | | Add summary APIs to federationErik Johnston2017-07-131-11/+223
| | | |
| * | | raise NotImplementedErrorErik Johnston2017-07-131-5/+2
| | | |
| * | | CommentsErik Johnston2017-07-123-5/+79
| | | |
| * | | Simplify checking if adminErik Johnston2017-07-121-53/+19
| | | |
| * | | Add group summary APIsErik Johnston2017-07-124-2/+970
| | | |
| * | | Merge pull request #2352 from matrix-org/erikj/group_server_splitErik Johnston2017-07-1211-11/+1206
| |\ \ \ | | | | | | | | | | Initial Group Server
| | * | | CommentErik Johnston2017-07-121-1/+1
| | | | |
| | * | | Move commentErik Johnston2017-07-111-2/+2
| | | | |
| | * | | Add federation API for adding room to groupErik Johnston2017-07-111-0/+18
| | | | |
| | * | | CommentErik Johnston2017-07-111-5/+8
| | | | |
| | * | | TypoErik Johnston2017-07-111-1/+1
| | | | |
| | * | | Rename column to attestation_jsonErik Johnston2017-07-112-5/+5
| | | | |
| | * | | CommentsErik Johnston2017-07-113-5/+9
| | | | |
| | * | | CommentErik Johnston2017-07-112-0/+26
| | | | |
| | * | | Remove u/ requirementErik Johnston2017-07-111-2/+3
| | | | |
| | * | | Lift out visibility parsingErik Johnston2017-07-111-20/+21
| | | | |
| | * | | CommentsErik Johnston2017-07-114-43/+132
| | | | |
| | * | | Initial group server implementationErik Johnston2017-07-1011-11/+1064
| | | | |
* | | | | Merge pull request #2501 from matrix-org/dbkr/channel_notificationsErik Johnston2017-10-113-7/+85
|\ \ \ \ \ | | | | | | | | | | | | Support for channel notifications
| * | | | | pep8David Baker2017-10-102-3/+5
| | | | | |
| * | | | | Don't KeyError if no power_levels eventDavid Baker2017-10-101-1/+3
| | | | | |
| * | | | | Use notification levels in power_levelsDavid Baker2017-10-103-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than making the condition directly require a specific power level. This way the level require to notify a room can be configured per room.
| * | | | | There was already a constant for thisDavid Baker2017-10-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | also update copyright
| * | | | | More optimisationDavid Baker2017-10-101-6/+9
| | | | | |
| * | | | | What year is it!? Who's the president!?David Baker2017-10-101-1/+1
| | | | | |
| * | | | | Merge branch 'develop' into dbkr/channel_notificationsDavid Baker2017-10-107-107/+183
| |\ \ \ \ \
| * | | | | | Make be fasterDavid Baker2017-10-051-3/+3
| | | | | | |
| * | | | | | Add fastpath optimisationDavid Baker2017-10-051-3/+9
| | | | | | |
| * | | | | | pep8David Baker2017-10-051-0/+3
| | | | | | |
| * | | | | | They're called roomsDavid Baker2017-10-051-4/+4
| | | | | | |
| * | | | | | Get rule type rightDavid Baker2017-10-051-1/+1
| | | | | | |
| * | | | | | Support for channel notificationsDavid Baker2017-10-053-8/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add condition type to check the sender's power level and add a base rule using it for @channel notifications.
* | | | | | | 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-103-0/+65
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Ignore incoming events for rooms that we have left
| * | | | | | | Fix up commentErik Johnston2017-10-091-1/+2
| | | | | | | |
| * | | | | | | Invalidate cacheErik Johnston2017-10-031-0/+3
| | | | | | | |
| * | | | | | | Update commentsErik Johnston2017-10-032-1/+8
| | | | | | | |
| * | | | | | | Remove spurious line feedErik Johnston2017-10-031-1/+0
| | | | | | | |
| * | | | | | | Ignore incoming events for rooms that we have leftErik Johnston2017-10-032-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | fed server: process PDUs for different rooms in parallelRichard van der Hoff2017-10-091-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With luck, this will give a real-time improvement when there are many rooms and the server ends up calling out to fetch missing events.
* | | | | | | | Fed server: use a linearizer for ongoing transactionsRichard van der Hoff2017-10-091-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want to process the same transaction multiple times concurrently, so use a linearizer.
* | | | | | | | fed server: refactor on_incoming_transactionRichard van der Hoff2017-10-091-24/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move as much as possible to after the have_responded check, and reduce the number of times we iterate over the pdu list.
* | | | | | | | Fed server: Move origin-check code to _handle_received_pduRichard van der Hoff2017-10-091-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The response-building code expects there to be an entry in the `results` list for each entry in the pdu_list, so the early `continue` was messing this up. That doesn't really matter, because all that the federation client does is log any errors, but it's pretty poor form.
* | | | | | | | Merge pull request #2508 from matrix-org/rav/federation_queue_logcontextsRichard van der Hoff2017-10-091-16/+32
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix up logcontext handling in (federation) TransactionQueue
| * | | | | | | | Fix up logcontext handling in (federation) TransactionQueueRichard van der Hoff2017-10-061-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid using preserve_context_over_function, which has problems with respect to logcontexts.
* | | | | | | | | Merge pull request #2507 from matrix-org/rav/execute_concurrently_log_contextsRichard van der Hoff2017-10-091-2/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix logcontext handling for concurrently_execute
| * | | | | | | | | Fix logcontext handling for concurrently_executeRichard van der Hoff2017-10-061-2/+2
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid preserve_context_over_deferred, which is broken.
* / / / / / / / / 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
* | | | | | | | some comments in the state res codeRichard van der Hoff2017-10-051-0/+13
| | | | | | | |
* | | | | | | | Spam checking: add the invitee to user_may_inviteDavid Baker2017-10-053-8/+10
| |_|/ / / / / |/| | | | | |
* | | | | | | Use better method for word boundary searchingDavid Baker2017-10-051-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From https://github.com/matrix-org/matrix-js-sdk/commit/ebc95667b8a5777d13e5d3c679972bedae022fd5
* | | | | | | pep8David Baker2017-10-051-0/+1
| | | | | | |
* | | | | | | Fix notif kws that start/end with non-word charsDavid Baker2017-10-051-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only prepend / append word bounary characters if the search expression starts or ends with a word character, otherwise they don't work because there's no word bounary between whitespace and a non-word char.
* | | | | | | spam check room publishingDavid Baker2017-10-042-0/+26
| | | | | | |
* | | | | | | un-double indentDavid Baker2017-10-041-1/+1
| | | | | | |
* | | | | | | Add room creation checks to spam checkerDavid Baker2017-10-043-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lets the spam checker deny attempts to create rooms and add aliases to them.
* | | | | | | s/roomid/room_id/David Baker2017-10-031-2/+2
| | | | | | |
* | | | | | | pass room id tooDavid Baker2017-10-033-4/+6
| | | | | | |
* | | | | | | 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
| | | | | | |
* | | | | | | Actually write warpper functionDavid Baker2017-10-031-0/+16
| | | | | | |
* | | | | | | 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
|/ / / / / /
* | | | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2017-10-024-13/+29
|\ \ \ \ \ \
| * | | | | | Bump version and changelog v0.23.1Erik Johnston2017-10-021-1/+1
| | | | | | |
| * | | | | | Make 'affinity' package optionalErik Johnston2017-10-022-2/+17
| | | | | | |
| * | | | | | Move quit_with_errorErik Johnston2017-10-022-10/+11
| | | | | | |
* | | | | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2017-10-021-1/+1
|\| | | | | | | |_|_|_|_|/ |/| | | | |
| * | | | | Bump version and change log github/release-v0.23.0 release-v0.23.0Erik Johnston2017-10-021-1/+1
| | | | | |
* | | | | | Merge pull request #2480 from matrix-org/rav/federation_client_loggingRichard van der Hoff2017-09-291-7/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | Improve logging of failures in matrixfederationclient
| * | | | | | Improve logging of failures in matrixfederationclientRichard van der Hoff2017-09-281-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * don't log exception types twice * not all exceptions have a meaningful 'message'. Use the repr rather than attempting to build a string ourselves.
* | | | | | | Only log if we've removed mediaErik Johnston2017-09-281-2/+4
|/ / / / / /
* | | | | | Handle SERVFAILs when doing AAAA lookups for federation (#2477)Richard van der Hoff2017-09-281-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... to cope with people with broken dnssec setups, mostly
* | | | | | Up the limits on number of url cache entries to delete at one timeErik Johnston2017-09-281-2/+2
| | | | | |
* | | | | | Add old indicesErik Johnston2017-09-281-0/+2
| | | | | |
* | | | | | Clear up expired url cache every 10sErik Johnston2017-09-281-1/+1
| | | | | |
* | | | | | Actually assign result to variableErik Johnston2017-09-281-1/+1
| | | | | |
* | | | | | Only pull out local media that were for url cacheErik Johnston2017-09-281-1/+1
| | | | | |
* | | | | | Fix typo in url cache expiry timerErik Johnston2017-09-281-1/+1
| | | | | |
* | | | | | Merge pull request #2479 from matrix-org/erikj/expire_url_cache_thumbnailsErik Johnston2017-09-281-31/+81
|\ \ \ \ \ \ | | | | | | | | | | | | | | Support new and old style media id formats
| * | | | | | Support new and old style media id formatsErik Johnston2017-09-281-31/+81
| | | | | | |
* | | | | | | Fix typoErik Johnston2017-09-281-3/+3
|/ / / / / /
* | | | | | Change expires column to expires_tsErik Johnston2017-09-283-10/+29
| | | | | |
* | | | | | More bracketsErik Johnston2017-09-281-1/+1
| | | | | |
* | | | | | Delete expired url cache dataErik Johnston2017-09-285-5/+208
| | | | | |
* | | | | | Fix /joined_members to work with AS usersErik Johnston2017-09-282-13/+26
| | | | | |
* | | | | | Fix bug where /joined_members didn't check user was in roomErik Johnston2017-09-272-10/+38
| | | | | |
* | | | | | Don't test is spam_checker not NoneDavid Baker2017-09-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes it's a Mock object which is not none but is still not what we're after
* | | | | | Remove unintentional debuggingDavid Baker2017-09-271-1/+0
| | | | | |
* | | | | | pep8David Baker2017-09-272-0/+2
| | | | | |
* | | | | | Forgot the new file again :(David Baker2017-09-271-0/+35
| | | | | |
* | | | | | Make the spam checker a moduleDavid Baker2017-09-265-23/+33
| | | | | |
* | | | | | unnecessary parensDavid Baker2017-09-261-1/+1
| | | | | |
* | | | | | Add module_loader.pyDavid Baker2017-09-261-0/+41
| | | | | |
* | | | | | Factor out module loading to a separate placeDavid Baker2017-09-261-12/+10
|/ / / / / | | | | | | | | | | | | | | | So it can be reused
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.23.0 v0.23.0-rc2Erik Johnston2017-09-262-6/+19
|\ \ \ \ \
| * | | | | Refactor to speed up incremental syncsErik Johnston2017-09-251-5/+18
| | | | | |
| * | | | | Merge branch 'release-v0.23.0' of github.com:matrix-org/synapse into developErik Johnston2017-09-251-1/+1
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'develop' into developRichard van der Hoff2017-09-2532-755/+963
| |\ \ \ \ \ \
| * | | | | | | Fix iteration of requests_missing_keys; list doesn't have .values()Kenny Keslar2017-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kenny Keslar <r3dey3@r3dey3.com>
* | | | | | | | Bump changelog and versionErik Johnston2017-09-261-1/+1
| |_|/ / / / / |/| | | | | |
* | | | | | | Bump version and changesErik Johnston2017-09-251-1/+1
| |/ / / / / |/| | | | |
* | | | | | Fix logcontxt leak in keyclient (#2465)Richard van der Hoff2017-09-251-12/+5
| | | | | | | | | | | | | | | | | | preserve_context_over_function doesn't do what you want it to do.
* | | | | | Do an AAAA lookup on SRV record targets (#2462)Richard van der Hoff2017-09-221-20/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support SRV records which point at AAAA records, as well as A records. Fixes https://github.com/matrix-org/synapse/issues/2405
* | | | | | fix thinko'd docstringMatthew Hodgson2017-09-221-1/+1
| | | | | |
* | | | | | Fix device list when rejoining room (#2461)Erik Johnston2017-09-221-2/+14
| | | | | |
* | | | | | Fix logcontexts in _check_sigs_and_hashesRichard van der Hoff2017-09-202-60/+62
| | | | | |
* | | | | | Fix logcontext handling in verify_json_objects_for_serverRichard van der Hoff2017-09-201-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preserve_context_over_fn is essentially broken, because (a) it pointlessly drops the current logcontext before calling its wrapped function, which means we don't get any useful logcontexts for _handle_key_deferred; (b) it wraps the resulting deferred in a _PreservingContextDeferred, which is very dangerous because you then can't yield on it without leaking context back into the reactor. Instead, let's specify that the resultant deferreds call their callbacks with no logcontext.
* | | | | | Turn _start_key_lookups into an inlineCallbacks functionRichard van der Hoff2017-09-201-40/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... which means that logcontexts can be correctly preserved for the stuff it does. get_server_verify_keys is now called with the logcontext, so needs to preserve_fn when it fires off its nested inlineCallbacks function. Also renames get_server_verify_keys to reflect the fact it's meant to be private.
* | | | | | Fix potential race in _start_key_lookupsRichard van der Hoff2017-09-201-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the verify_request.deferred has already completed, then `remove_deferreds` will be called immediately. It therefore might resolve the server_to_deferred deferred while there are still other requests for that server in flight. To avoid that, we should build the complete list of requests, and *then* add the callbacks.
* | | | | | Add some comments to _start_key_lookupsRichard van der Hoff2017-09-201-0/+8
| | | | | |
* | | | | | Consistency for how verify_request.deferred is calledRichard van der Hoff2017-09-201-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define that it is run with no log context, and make sure that happens. If we aren't careful to reset the logcontext, we can't bung the deferreds into defer.gatherResults etc. We don't actually do that directly, but we *do* resolve other deferreds from affected callbacks (notably the server_to_deferred map in _start_key_lookups), and those *do* get passed into defer.gatherResults. It turns out that this way ends up being least confusing.
* | | | | | Factor out _start_key_lookupsRichard van der Hoff2017-09-201-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | ... to make it easier to see what's going on.
* | | | | | Replace `server_and_json` with `verify_requests`Richard van der Hoff2017-09-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is a precursor to factoring some of this code out.
* | | | | | pull out handle_key_deferred to top levelRichard van der Hoff2017-09-201-43/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need for this to be a nested definition; pulling it out not only makes it more efficient, but makes it easier to check that it's not accessing any local variables it shouldn't be.
* | | | | | Fix incorrect key_ids in error messageRichard van der Hoff2017-09-201-1/+1
| | | | | |
* | | | | | Invalidate signing key cache when we gat an updateRichard van der Hoff2017-09-201-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | This might make the cache slightly more efficient.
* | | | | | Remove redundant `preserve_fn`Richard van der Hoff2017-09-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preserve_fn is a no-op unless the wrapped function returns a Deferred. verify_json_objects_for_server returns a list, so this is doing nothing.
* | | | | | Fix concurrent server_key requests (#2458)Richard van der Hoff2017-09-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Fix a bug where we could end up firing off multiple requests for server_keys for the same server at the same time.
* | | | | | Add a config option to block all room invites (#2457)Richard van der Hoff2017-09-194-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-193-17/+69
| |_|_|_|/ |/| | | | | | | | | 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.
* | | | | Clean up and document handling of logcontexts in Keyring (#2452)Richard van der Hoff2017-09-181-28/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm still unclear on what the intended behaviour for `verify_json_objects_for_server` is, but at least I now understand the behaviour of most of the things it calls...
* | | | | Merge pull request #2451 from matrix-org/erikj/add_state_to_timelineErik Johnston2017-09-182-3/+18
|\ \ \ \ \ | | | | | | | | | | | | Don't filter out current state events from timeline
| * | | | | Don't filter out current state events from timelineErik Johnston2017-09-182-3/+18
| | | | | |
* | | | | | Merge pull request #2450 from matrix-org/dbkr/push_event_id_onlyDavid Baker2017-09-181-0/+20
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Add support for event_id_only push format
| * | | | | Also include the room_idDavid Baker2017-09-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | as really it's part of the event ID
| * | | | | Use .get - it's much shorterDavid Baker2017-09-181-1/+1
| | | | | |
| * | | | | Add support for event_id_only push formatDavid Baker2017-09-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Param in the data dict of a pusher that tells an HTTP pusher to send just the event_id of the event it's notifying about and the notification counts. For clients that want to go & fetch the body of the event themselves anyway.
* | | | | | 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-083-11/+19
| | | | |
* | | | | Send down device list change notif when member leaves/rejoins roomErik Johnston2017-09-073-14/+55
| | | | |
* | | | | Merge pull request #2288 from kyrias/bcryptRichard van der Hoff2017-08-231-1/+1
|\ \ \ \ \ | | | | | | | | | | | | python_dependencies: Use bcrypt module instead of py-bcrypt
| * | | | | python_dependencies: Use bcrypt module instead of py-bcryptJohannes Löthberg2017-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | py-bcrypt has been unmaintained for a long while, while bcrypt is actively maintained. And since ff8b87118dcfb153d972e29c2b77b195244d5ddc we're compatible with the bcrypt anyway. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | | | | | Fix user_dir startupRichard van der Hoff2017-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add missing parameter to _base.start_worker_reactor
* | | | | | Fix process startupRichard van der Hoff2017-08-161-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | escape the % that got added in 92168cb so that the process starts up ok.
* | | | | | explain why CPU affinity is a good ideaMatthew Hodgson2017-08-151-0/+8
| | | | | |
* | | | | | Allow configuration of CPU affinityRichard van der Hoff2017-08-155-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to set the CPU affinity in the config file, so that we don't need to remember to do it manually every time.
* | | | | | Factor out common application startRichard van der Hoff2017-08-1511-464/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have 10 copies of this code, and I don't really want to update each one separately.
* | | | | | fix englishhera2017-08-041-7/+7
| | | | | |
* | | | | | typohera2017-08-041-1/+1
| | | | | |
* | | | | | Reduce spammy log line in synchrotronsErik Johnston2017-08-021-1/+1
| |/ / / / |/| | | |
* | | | | Increase cache hit ratio for pushErik Johnston2017-07-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | We don't update the cache in all code paths, which causes subsequent calls to miss the cache
* | | | | Add more metrics to push rule evaluationErik Johnston2017-07-131-2/+42
| | | | |
* | | | | Push: Don't acquire lock unless necessaryErik Johnston2017-07-131-0/+4
| | | | |
* | | | | Use less DB for device list handling in syncErik Johnston2017-07-121-8/+7
| |_|/ / |/| | |
* | | | Merge pull request #2354 from krombel/reduce_static_sync_replyErik Johnston2017-07-111-16/+25
|\ \ \ \ | | | | | | | | | | encode sync-response statically
| * | | | split out reducing stuff; just make encode_* staticKrombel2017-07-111-35/+27
| | | | |
| * | | | fix testKrombel2017-07-101-1/+3
| | | | |
| * | | | encode sync-response statically; omit empty objects from sync-responseKrombel2017-07-101-33/+48
| | | | |
* | | | | Merge pull request #2357 from matrix-org/erikj/pushErik Johnston2017-07-111-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Don't compute push actions for backfilled events
| * | | | | Don't compute push actions for backfilled eventsErik Johnston2017-07-111-1/+1
| | |_|_|/ | |/| | |
* / | | | Reduce log levels in tcp replicationErik Johnston2017-07-111-2/+2
|/ / / /
* | | | Include registration and as stores in frontend proxyErik Johnston2017-07-071-0/+4
| | | |
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2017-07-071-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | Bump version and changelogErik Johnston2017-07-061-1/+1
| | | |
* | | | Add a frontend proxyErik Johnston2017-07-072-0/+269
| | | |
* | | | Perf: Don't filter events for pushErik Johnston2017-07-073-36/+21
| |/ / |/| | | | | | | | | | | We know the users are joined and we can explicitly check for if they are ignoring the user, so lets do that.
* | | Merge pull request #2342 from matrix-org/erikj/pusher_pool_instantiateErik Johnston2017-07-063-10/+11
|\| | | | | | | | Fix bug where pusherpool didn't start and broke some rooms
| * | Fix bug where pusherpool didn't start and broke some roomsErik Johnston2017-07-063-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2309 from matrix-org/erikj/user_ip_replErik Johnston2017-07-064-11/+16
|\ \ \ | | | | | | | | Fix up user_ip replication commands
| * | | Serialize user ip command as jsonErik Johnston2017-06-271-5/+9
| | | |
| * | | Fix upErik Johnston2017-06-273-6/+7
| | | |
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2017-07-061-1/+1
|\ \ \ \ | | |/ / | |/| |
| * | | Bump version and changelog github/release-v0.22.0 release-v0.22.0Erik Johnston2017-07-061-1/+1
| | | |
| * | | Bump version and changelog v0.22.0-rc2Erik Johnston2017-07-041-1/+1
| | | |
* | | | Merge pull request #2334 from matrix-org/erikj/refactor_transport_serverErik Johnston2017-07-051-8/+16
|\ \ \ \ | | | | | | | | | | Separate federation servlet into different lists
| * | | | Separate federation servlet into different listsErik Johnston2017-07-051-8/+16
| |/ / /
* | | | Merge pull request #2332 from matrix-org/rav/fix_pushesRichard van der Hoff2017-07-051-1/+3
|\ \ \ \ | |/ / / |/| | | Fix caching error in the push evaluator
| * | | Fix caching error in the push evaluatorRichard van der Hoff2017-07-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialising `result` to `{}` in the parameters meant that every call to _flatten_dict used the *same* target dictionary. I'm hopeful this will fix https://github.com/matrix-org/synapse/issues/2270, but I suspect it won't. (This code seems to have been here since forever, unlike the bug, and I don't really think it explains the observed behaviour). Still, it makes it hard to investigate the problem.
* | | | Merge pull request #2330 from matrix-org/erikj/cache_size_factorErik Johnston2017-07-046-22/+7
|\ \ \ \ | | | | | | | | | | Increase default cache size