summary refs log tree commit diff
path: root/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Include eventid in log lines when processing incoming federation ↵Richard van der Hoff2018-09-272-12/+21
| | | | | | | | | | | transactions (#3959) when processing incoming transactions, it can be hard to see what's going on, because we process a bunch of stuff in parallel, and because we may end up recursively working our way through a chain of three or four events. This commit creates a way to use logcontexts to add the relevant event ids to the log lines.
* docstrings and unittests for storage.state (#3958)Richard van der Hoff2018-09-271-0/+39
| | | | I spent ages trying to figure out how I was going mad...
* Merge pull request #3932 from matrix-org/erikj/auto_start_expiring_cachesRichard van der Hoff2018-09-251-1/+0
|\ | | | | Fix some instances of ExpiringCache not expiring cache items
| * Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-211-1/+0
| | | | | | | | | | | | | | | | ExpiringCache required that `start()` be called before it would actually start expiring entries. A number of places didn't do that. This PR removes `start` from ExpiringCache, and automatically starts backround reaping process on creation instead.
* | Merge branch 'master' into developAmber Brown2018-09-251-2/+2
|\ \ | |/ |/|
| * Fix compatibility issue with older Twisted in tests.Oleg Girko2018-09-251-2/+2
| | | | | | | | | | | | | | | | Older Twisted (18.4.0) returns TimeoutError instead of ConnectingCancelledError when connection times out. This change allows tests to be compatible with this behaviour. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* | Fix client IPs being broken on Python 3 (#3908)Amber Brown2018-09-204-42/+202
| |
* | Add a regression test for logging on failed connections (#3912)Amber Brown2018-09-202-3/+74
| |
* | Refactor matrixfederationclient to fix logging (#3906)Richard van der Hoff2018-09-183-37/+122
|/ | | | | | | | We want to wait until we have read the response body before we log the request as complete, otherwise a confusing thing happens where the request appears to have completed, but we later fail it. To do this, we factor the salient details of a request out to a separate object, which can then keep track of the txn_id, so that it can be logged.
* TestsErik Johnston2018-09-141-0/+81
|
* Attempt to figure out what's going on with timeouts (#3857)Amber Brown2018-09-142-1/+198
|
* improve namingNeil Johnson2018-09-121-3/+3
|
* expose number of real reserved usersNeil Johnson2018-09-121-0/+31
|
* Port tests/ to Python 3 (#3808)Amber Brown2018-09-0711-430/+348
|
* Merge pull request #3800 from matrix-org/neilj/remove-guests-from-mau-count hhs-6Neil Johnson2018-09-063-5/+48
|\ | | | | guest users should not be part of mau total
| * ensure guests never enter mau listNeil Johnson2018-09-063-4/+7
| |
| * guest users should not be part of mau totalNeil Johnson2018-09-051-2/+42
| |
* | Merge branch 'master' into developRichard van der Hoff2018-09-062-14/+17
|\ \ | |/ |/|
| * Fix origin handling for pushed transactionsRichard van der Hoff2018-09-052-14/+17
| | | | | | | | | | Use the actual origin for push transactions, rather than whatever the remote server claimed.
* | Fix tests on postgresql (#3740)Amber Brown2018-09-0416-337/+355
| |
* | move threepid checker to config, add missing yieldsNeil Johnson2018-08-311-0/+6
| |
* | fix bug where preserved threepid user comes to sign up and server is mau blockedNeil Johnson2018-08-311-0/+17
| |
* | Port storage/ to Python 3 (#3725)Amber Brown2018-08-314-4/+129
| |
* | Fix up testsRichard van der Hoff2018-08-283-6/+10
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/admin_contactErik Johnston2018-08-241-0/+1
|\ \
| * | Fix checking if service notice room is already taggedErik Johnston2018-08-241-0/+1
| | | | | | | | | | | | This manifested in synapse repeatedly setting the tag for the room
* | | Change admin_uri to admin_contact in config and errorsErik Johnston2018-08-243-5/+5
|/ /
* | Unit testsErik Johnston2018-08-232-3/+227
| |
* | Implement trail usersErik Johnston2018-08-231-0/+1
| |
* | Fix bug where we resent "limit exceeded" server noticesErik Johnston2018-08-231-0/+66
| | | | | | | | This was due to a bug where we mutated a cached event's contents
* | Actually run the testsErik Johnston2018-08-231-0/+0
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2219-127/+395
|\ \ | | | | | | | | | neilj/server_notices_on_blocking
| * \ Merge pull request #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-221-2/+2
| |\ \ | | | | | | | | Allow profile updates to happen on workers
| | * \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-1782-2374/+2146
| | |\ \ | | | | | | | | | | | | | | | erikj/split_profiles
| | * | | Split ProfileHandler into master and workerErik Johnston2018-08-171-2/+2
| | | | |
| * | | | Merge pull request #3673 from matrix-org/erikj/refactor_state_handlerErik Johnston2018-08-226-6/+48
| |\ \ \ \ | | | | | | | | | | | | Refactor state module to support multiple room versions
| | * \ \ \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-2085-2483/+2389
| | |\ \ \ \ | | | | |_|/ | | | |/| | | | | | | | erikj/refactor_state_handler
| | * | | | Fix testsErik Johnston2018-08-096-5/+46
| | | | | |
| * | | | | Split the state_group_cache in two (#3726)Matthew Hodgson2018-08-221-11/+94
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Splits the state_group_cache in two. One half contains normal state events; the other contains member events. The idea is that the lazyloading common case of: "I want a subset of member events plus all of the other state" can be accomplished efficiently by splitting the cache into two, and asking for "all events" from the non-members cache, and "just these keys" from the members cache. This means we can avoid having to make DictionaryCache aware of these sort of complicated queries, whilst letting LL requests benefit from the caching. Previously we were unable to sensibly use the caching and had to pull all state from the DB irrespective of the filtering, which made things slow. Hopefully fixes https://github.com/matrix-org/synapse/issues/3720.
| * | | | Integrate presence from hotfixes (#3694)Amber Brown2018-08-186-50/+204
| | | | |
| * | | | Merge pull request #3701 from matrix-org/rav/use_producer_for_responsesRichard van der Hoff2018-08-177-60/+49
| |\ \ \ \ | | | | | | | | | | | | Use a producer to stream back responses
| | * | | | Fix the testsAmber Brown2018-08-157-60/+49
| | | | | |
* | | | | | Update notice formatErik Johnston2018-08-221-3/+9
| | | | | |
* | | | | | rename error codeNeil Johnson2018-08-182-4/+4
| | | | | |
* | | | | | special case server_notices_mxidNeil Johnson2018-08-181-0/+8
| | | | | |
* | | | | | clean up, no functional changesNeil Johnson2018-08-171-15/+17
| | | | | |
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-175-18/+19
|\| | | | | | | | | | | | | | | | | | | | | | | neilj/server_notices_on_blocking
| * | | | | Merge branch 'develop' into neilj/limit_exceeded_errorNeil Johnson2018-08-171-0/+13
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| * | | | | add new error type ResourceLimitNeil Johnson2018-08-165-18/+19
| | | | | |
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-171-0/+13
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | neilj/server_notices_on_blocking
| * | | | | call reap on start up and fix under reaping bugNeil Johnson2018-08-161-0/+13
| |/ / / /
* | | | | refactor for readability, and reuse caching for setting tagsNeil Johnson2018-08-161-0/+1
| | | | |
* | | | | check for room state before deciding on actionNeil Johnson2018-08-161-20/+32
| | | | |
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-153-3/+57
|\| | | | | | | | | | | | | | | | | | | neilj/server_notices_on_blocking
| * | | | Merge pull request #3689 from matrix-org/neilj/fix_off_by_1+mausNeil Johnson2018-08-152-2/+56
| |\ \ \ \ | | | | | | | | | | | | Fix Mau off by one errors
| | * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-153-7/+7
| | |\| | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-142-2/+2
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * | | | | fix off by 1 errorsNeil Johnson2018-08-142-3/+14
| | | | | | |
| | * | | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | AuthError in all cases
| | * | | | | fix off by 1s on mauNeil Johnson2018-08-142-5/+48
| | | | | | |
| | * | | | | Merge branch 'neilj/admin_email' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-143-5/+10
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| | * \ \ \ \ \ Merge branch 'neilj/mau_sync_block' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-143-12/+84
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/fix_off_by_1+maus
| * | | | | | | | speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-151-1/+1
| | |_|_|_|/ / / | |/| | | | | |
* | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-1582-2362/+1984
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/server_notices_on_blocking
| * | | | | | | update error codesNeil Johnson2018-08-151-2/+2
| | | | | | | |
| * | | | | | | update error codes for resource limitingNeil Johnson2018-08-151-2/+2
| | | | | | | |
| * | | | | | | replace admin_email with admin_uri for greater flexibilityNeil Johnson2018-08-152-3/+3
| | | | | | | |
| * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/admin_emailNeil Johnson2018-08-145-50/+258
| |\ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | / / / | | | |_|/ / / | | |/| | | |
| | * | | | | fix setup_test_homeserver to be postgres compatibleNeil Johnson2018-08-141-1/+1
| | | | | | |
| | * | | | | in case max_mau is less than I thinkNeil Johnson2018-08-141-1/+1
| | | | | | |
| | * | | | | Merge pull request #3670 from matrix-org/neilj/mau_sync_blockNeil Johnson2018-08-143-12/+84
| | |\ \ \ \ \ | | | |/ / / / | | |/| / / / | | | |/ / / Block ability to read via sync if mau limit exceeded
| | * | | | Implement a new test baseclass to cut down on boilerplate (#3684)Amber Brown2018-08-142-37/+173
| | | | | |
| * | | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-133-5/+10
| |/ / / / | | | | | | | | | | | | | | | AuthError in all cases
| * | | | Revert "support admin_email config and pass through into blocking errors, ↵Neil Johnson2018-08-133-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | return AuthError in all cases" This reverts commit 0d43f991a19840a224d3dac78d79f13d78212ee6.
| * | | | support admin_email config and pass through into blocking errors, return ↵Neil Johnson2018-08-133-5/+10
| | | | | | | | | | | | | | | | | | | | AuthError in all cases
| * | | | Run tests under PostgreSQL (#3423)Amber Brown2018-08-1344-58/+187
| | | | |
| * | | | fix up a forced long lineAmber Brown2018-08-111-1/+2
| | | | |
| * | | | Run black.black2018-08-1075-2280/+1629
| | | | |
| * | | | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-103-3/+3
| | | | |
| * | | | Merge pull request #3439 from vojeroen/send_sni_for_federation_requestsRichard van der Hoff2018-08-101-0/+2
| |\ \ \ \ | | |_|/ / | |/| | | send SNI for federation requests
| | * | | Merge branch 'develop' into send_sni_for_federation_requestsRichard van der Hoff2018-07-2723-1161/+2080
| | |\ \ \
| | * \ \ \ Merge remote-tracking branch 'upstream/develop' into ↵Jeroen2018-07-1476-218/+279
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | send_sni_for_federation_requests # Conflicts: # synapse/crypto/context_factory.py
| | * \ \ \ \ Merge branch 'develop' into send_sni_for_federation_requestsJeroen2018-07-0910-6/+731
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # synapse/http/endpoint.py
| | * | | | | | send SNI for federation requestsJeroen2018-06-241-0/+2
| | | | | | | |
* | | | | | | | implementation of server notices to alert on hitting resource limitsNeil Johnson2018-08-101-0/+125
| |_|_|_|_|/ / |/| | | | | |
* | | | | | | rename _user_last_seen_monthly_activeNeil Johnson2018-08-092-12/+13
| | | | | | |
* | | | | | | fix importsNeil Johnson2018-08-091-1/+1
| | | | | | |
* | | | | | | only block on sync where user is not part of the mau cohortNeil Johnson2018-08-091-9/+31
| | | | | | |
* | | | | | | block sync if auth checks failNeil Johnson2018-08-091-6/+13
| | | | | | |
* | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-092-1/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/mau_sync_block
| * | | | | | Merge pull request #3655 from matrix-org/neilj/disable_hsNeil Johnson2018-08-092-1/+12
| |\ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | Flag to disable HS without disabling federation
| | * | | | | Merge branch 'develop' into neilj/disable_hsNeil Johnson2018-08-081-0/+4
| | |\ \ \ \ \
| | * \ \ \ \ \ Merge branch 'develop' into neilj/disable_hsNeil Johnson2018-08-082-1/+60
| | |\ \ \ \ \ \
| | * | | | | | | disable HS from configNeil Johnson2018-08-042-1/+12
| | | | | | | | |
* | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-0913-52/+74
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/mau_sync_block
| * | | | | | | | Test fixes for Python 3 (#3647)Amber Brown2018-08-0913-52/+70
| | |_|/ / / / / | |/| | | | | |
| * | | | | | | Merge pull request #3654 from matrix-org/rav/room_versionsRichard van der Hoff2018-08-081-0/+4
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | Support for room versioning
| | * | | | | | Basic support for room versioningRichard van der Hoff2018-08-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first tranche of support for room versioning. It includes: * setting the default room version in the config file * new room_version param on the createRoom API * storing the version of newly-created rooms in the m.room.create event * fishing the version of existing rooms out of the m.room.create event
* | | | | | | | sync auth blockingNeil Johnson2018-08-081-0/+42
|/ / / / / / /
* | | | | | | mock config.max_mau_valueNeil Johnson2018-08-081-0/+1
| | | | | | |
* | | | | | | implement reserved users for mau limitsNeil Johnson2018-08-071-1/+58
| | | | | | |
* | | | | | | add default mau_limits_reserved_threepidsNeil Johnson2018-08-061-0/+1
| |/ / / / / |/| | | | |
* | | | | | remove unused importNeil Johnson2018-08-031-1/+1
| | | | | |
* | | | | | bug fixesNeil Johnson2018-08-032-8/+3
| | | | | |
* | | | | | wip commit - tests failingNeil Johnson2018-08-032-13/+13
| | | | | |
* | | | | | fix (lots of) py3 test failuresNeil Johnson2018-08-032-1/+1
| | | | | |
* | | | | | fix py3 test failureNeil Johnson2018-08-031-0/+1
| | | | | |
* | | | | | fix caching and testsNeil Johnson2018-08-031-13/+37
| | | | | |
* | | | | | do mau checks based on monthly_active_users tableNeil Johnson2018-08-023-42/+68
| | | | | |
* | | | | | remove unused count_monthly_usersNeil Johnson2018-08-021-65/+0
| | | | | |
* | | | | | fix test, update constructor callNeil Johnson2018-08-021-1/+1
| | | | | |
* | | | | | insertion into monthly_active_usersNeil Johnson2018-08-021-3/+63
| | | | | |
* | | | | | Revert "change monthly_active_users table to be a single column"Neil Johnson2018-08-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ec716a35b219d147dee51733b55573952799a549.
* | | | | | change monthly_active_users table to be a single columnNeil Johnson2018-08-011-3/+3
| | | | | |
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-017-32/+310
|\| | | | |
| * | | | | Merge pull request #3630 from matrix-org/neilj/mau_sign_in_log_in_limitsNeil Johnson2018-08-013-12/+184
| |\ \ \ \ \ | | | | | | | | | | | | | | Initial impl of capping MAU
| | * | | | | fix isortNeil Johnson2018-08-011-1/+0
| | | | | | |
| | * | | | | fix test for py3Neil Johnson2018-08-011-0/+4
| | | | | | |
| | * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-012-1/+101
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | neilj/mau_sign_in_log_in_limits
| | * | | | | | fix known broken testNeil Johnson2018-08-011-25/+20
| | | | | | | |
| | * | | | | | make count_monthly_users async synapse/handlers/auth.pyNeil Johnson2018-08-012-21/+28
| | | | | | | |
| | * | | | | | coding styleNeil Johnson2018-07-312-3/+2
| | | | | | | |
| | * | | | | | fix user_ips countingNeil Johnson2018-07-311-9/+33
| | | | | | | |
| | * | | | | | monthly_active_testsNeil Johnson2018-07-301-0/+48
| | | | | | | |
| | * | | | | | limit register and sign in on number of monthly usersNeil Johnson2018-07-302-1/+97
| | | |_|_|_|/ | | |/| | | |
| * | | | | | Python 3: Convert some unicode/bytes uses (#3569)Amber Brown2018-08-022-19/+25
| | |/ / / / | |/| | | |
| * | | | | Merge pull request #3384 from matrix-org/rav/rewrite_cachedlist_decoratorRichard van der Hoff2018-08-011-0/+101
| |\ \ \ \ \ | | | | | | | | | | | | | | Rewrite cache list decorator
| | * | | | | fix invalidationRichard van der Hoff2018-07-271-1/+41
| | | | | | |
| | * | | | | Rewrite cache list decoratorRichard van der Hoff2018-07-271-0/+61
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Because it was complicated and annoyed me. I suspect this will be more efficient too.
| * / / / / Remove pdu_failures from transactionsTravis Ralston2018-07-301-1/+0
| |/ / / / | | | | | | | | | | The field is never read from, and all the opportunities given to populate it are not utilized. It should be very safe to remove this.
* / / / / api into monthly_active_users tableNeil Johnson2018-07-311-0/+42
|/ / / /
* | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-251-7/+30
|\ \ \ \
| * | | | Fix unit testsRichard van der Hoff2018-07-251-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on_notifier_poke no longer runs synchonously, so we have to do a different hack to make sure that the replication data has been sent. Let's actually listen for its arrival.
* | | | | flake8Matthew Hodgson2018-07-251-12/+12
| | | | |
* | | | | add tests for _get_some_state_from_cacheMatthew Hodgson2018-07-251-0/+150
| | | | |
* | | | | incorporate more reviewMatthew Hodgson2018-07-241-0/+9
| | | | |
* | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-237-87/+427
|\| | | |
| * | | | Fix unit testsErik Johnston2018-07-232-15/+40
| | | | |
| * | | | Make the rest of the .iterwhatever go away (#3562)Amber Brown2018-07-211-2/+1
| | | | |
| * | | | Test and fix support for cancellation in LinearizerRichard van der Hoff2018-07-201-0/+31
| | | | |
| * | | | Merge pull request #3571 from matrix-org/rav/limiter_fixesRichard van der Hoff2018-07-202-70/+47
| |\ \ \ \ | | | | | | | | | | | | A set of improvements to the Limiter
| | * | | | Combine Limiter and LinearizerRichard van der Hoff2018-07-202-70/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linearizer was effectively a Limiter with max_count=1, so rather than maintaining two sets of code, let's combine them.
| | * | | | Add a sleep to the Limiter to fix stack overflows.Richard van der Hoff2018-07-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #3570
| * | | | | Admin API for creating new users (#3415)Amber Brown2018-07-202-0/+308
| |/ / / /
* | | | | make test workMatthew Hodgson2018-07-191-37/+46
| | | | |
* | | | | first cut of a UT for testing state store (untested)Matthew Hodgson2018-07-191-0/+151
|/ / / /
* | | | Merge pull request #3556 from matrix-org/rav/background_processesRichard van der Hoff2018-07-191-52/+4
|\ \ \ \ | | | | | | | | | | Run things as background processes
| * | | | Make Distributor run its processes as a background processRichard van der Hoff2018-07-181-52/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more involved than it might otherwise be, because the current implementation just drops its logcontexts and runs everything in the sentinel context. It turns out that we aren't actually using a bunch of the functionality here (notably suppress_failures and the fact that Distributor.fire returns a deferred), so the easiest way to fix this is actually by simplifying a bunch of code.
* | | | | Move v1-only APIs into their own module & isolate deprecated ones (#3460)Amber Brown2018-07-195-86/+27
|/ / / /
* | | | Fix visibility of events from erased users over federationRichard van der Hoff2018-07-171-0/+63
| | | |
* | | | Merge pull request #3541 from matrix-org/rav/optimize_filter_events_for_serverRichard van der Hoff2018-07-171-0/+261
|\ \ \ \ | | | | | | | | | | Refactor and optimze filter_events_for_server
| * | | | fix importsRichard van der Hoff2018-07-171-0/+1
| | | | |
| * | | | Add a test which profiles filter_events_for_server in a large roomRichard van der Hoff2018-07-161-2/+155
| | | | |
| * | | | Move filter_events_for_server out of FederationHandlerRichard van der Hoff2018-07-161-0/+107
| | | | | | | | | | | | | | | | | | | | for easier unit testing.
* | | | | Refactor REST API tests to use explicit reactors (#3351)Amber Brown2018-07-1710-931/+935
| | | | |
* | | | | Add unit testErik Johnston2018-07-171-0/+16
| | | | |
* | | | | Merge pull request #3530 from matrix-org/erikj/stream_cacheAmber Brown2018-07-171-3/+3
|\ \ \ \ \ | |_|_|_|/ |/| | | | Don't return unknown entities in get_entities_changed
| * | | | Fixup unit testErik Johnston2018-07-131-3/+3
| |/ / /
* | | | Make auth & transactions more testable (#3499)Amber Brown2018-07-141-1/+4
| | | |
* | | | Fix unit testsRichard van der Hoff2018-07-131-0/+1
|/ / /
* | | Use more portable syntax using attrs package.Oleg Girko2018-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer syntax attr.ib(factory=dict) is just a syntactic sugar for attr.ib(default=attr.Factory(dict)) It was introduced in newest version of attrs package (18.1.0) and doesn't work with older versions. We should either require minimum version of attrs to be 18.1.0, or use older (slightly more verbose) syntax. Requiring newest version is not a good solution because Linux distributions may have older version of attrs (17.4.0 in Fedora 28), and requiring to build (and package) newer version just to use newer syntactic sugar in only one test is just too much. It's much better to fix that test to use older syntax. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* | | run isortAmber Brown2018-07-0976-216/+273
| |/ |/|
* | Merge remote-tracking branch 'hera/rav/server_acls' into developNeil Johnson2018-07-052-0/+57
|\ \
| * | Implementation of server_aclsRichard van der Hoff2018-07-042-0/+57
| | | | | | | | | | | | | | | ... as described at https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw.
* | | Merge pull request #3483 from matrix-org/rav/more_server_name_validationErik Johnston2018-07-051-4/+13
|\| | | | | | | | More server_name validation
| * | More server_name validationRichard van der Hoff2018-07-041-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | We need to do a bit more validation when we get a server name, but don't want to be re-doing it all over the shop, so factor out a separate parse_and_validate_server_name, and do the extra validation. Also, use it to verify the server name in the config file.
* | | Reinstate lost run_on_reactor in unit testRichard van der Hoff2018-07-041-2/+15
|/ / | | | | | | | | | | | | | | a61738b removed a call to run_on_reactor from a unit test, but that call was doing something useful, in making the function in question asynchronous. Reinstate the call and add a check that we are testing what we wanted to be testing.
* | Reject invalid server names (#3480)Richard van der Hoff2018-07-032-0/+46
| | | | | | | | | | Make sure that server_names used in auth headers are sane, and reject them with a sensible error code, before they disappear off into the depths of the system.
* | Merge pull request #3456 from matrix-org/hawkowl/federation-prevevent-checkingErik Johnston2018-06-292-1/+247
|\ \ | | | | | | Check the state of prev_events a bit more thoroughly when coming over federation
| * | pep8Amber Brown2018-06-271-5/+2
| | |
| * | cleanupsAmber Brown2018-06-271-1/+4
| | |
| * | stylistic cleanupAmber Brown2018-06-271-6/+18
| | |
| * | cleanupsAmber Brown2018-06-271-7/+6
| | |
| * | handle federation not telling us about prev_eventsAmber Brown2018-06-272-1/+236
| | |
* | | add testMatthew Hodgson2018-06-281-0/+33
| | |
* | | fix testsMatthew Hodgson2018-06-281-3/+15
|/ /
* / Better testing framework for homeserver-using things (#3446)Amber Brown2018-06-272-0/+309
|/
* Merge pull request #3427 from matrix-org/erikj/remove_filtersErik Johnston2018-06-221-8/+0
|\ | | | | remove dead filter_events_for_clients
| * remove dead filter_events_for_clientsRichard van der Hoff2018-06-121-8/+0
| | | | | | | | | | | | This is only used by filter_events_for_client, so we can simplify the whole thing by just doing one user at a time, and removing a dead storage function to boot.
* | Disable partial state group caching for wildcard lookupsRichard van der Hoff2018-06-221-6/+6
| | | | | | | | | | | | | | When _get_state_for_groups is given a wildcard filter, just do a complete lookup. Hopefully this will give us the best of both worlds by not filling up the ram if we only need one or two keys, but also making the cache still work for the federation reader usecase.
* | Pass around the reactor explicitly (#3385)Amber Brown2018-06-227-21/+30
| |
* | Merge branch 'master' into developRichard van der Hoff2018-06-142-2/+165
|\ \
| * | Fix broken unit testRichard van der Hoff2018-06-141-2/+14
| | | | | | | | | | | | We need power levels for this test to do what it is supposed to do.
| * | remove spurious debugRichard van der Hoff2018-06-141-2/+0
| | |
| * | Make default state_default 50Richard van der Hoff2018-06-141-0/+153
| | | | | | | | | | | | | | | | | | | | | Make it so that, before there is a power-levels event in the room, you need a power level of at least 50 to send state. Partially addresses https://github.com/matrix-org/matrix-doc/issues/1192
* | | Remove run_on_reactor (#3395)Amber Brown2018-06-142-4/+0
| |/ |/|
* | Port to sortedcontainers (with tests!) (#3332)Amber Brown2018-06-061-0/+198
|/
* Put python's logs into Trial when running unit tests (#3319)Amber Brown2018-06-041-13/+27
|
* fix testsRichard van der Hoff2018-05-291-0/+1
|
* fix another dumb typoMatthew Hodgson2018-05-291-2/+2
|
* fix dumb typoMatthew Hodgson2018-05-291-4/+4
|
* Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-224-5/+87
|\
| * Reject attempts to send event before privacy consent is givenRichard van der Hoff2018-05-221-0/+1
| | | | | | | | | | | | Returns an M_CONSENT_NOT_GIVEN error (cf https://github.com/matrix-org/matrix-doc/issues/1252) if consent is not yet given.
| * Move consent config parsing into ConsentConfigRichard van der Hoff2018-05-221-1/+1
| | | | | | | | turns out we need to reuse this, so it's better in the config class.
| * Send users a server notice about consentRichard van der Hoff2018-05-222-3/+9
| | | | | | | | | | When a user first syncs, we will send them a server notice asking them to consent to the privacy policy if they have not already done so.
| * Fix logcontext leak in HttpTransactionCacheRichard van der Hoff2018-05-211-0/+21
| | | | | | | | ONE DAY I WILL PURGE THE WORLD OF THIS EVIL
| * Stop the transaction cache caching failuresRichard van der Hoff2018-05-211-0/+54
| | | | | | | | | | | | The transaction cache has some code which tries to stop it caching failures, but if the callback function failed straight away, then things would happen backwards and we'd end up with the failure stuck in the cache.
| * Use stream rather depth ordering for push actionsErik Johnston2018-05-111-2/+2
| | | | | | | | | | | | This simplifies things as it is, but will also allow us to change the way we traverse topologically without having to update the way push actions work.
* | rest of the changesAmber Brown2018-05-212-192/+0
| |
* | replacing portionsAmber Brown2018-05-211-0/+3
|/
* Merge pull request #3161 from NotAFile/remove-v1authRichard van der Hoff2018-05-034-13/+18
|\ | | | | Make Client-Server API return 403 for invalid token
| * Burminate v1authAdrian Tschira2018-04-304-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This closes #2602 v1auth was created to account for the differences in status code between the v1 and v2_alpha revisions of the protocol (401 vs 403 for invalid tokens). However since those protocols were merged, this makes the r0 version/endpoint internally inconsistent, and violates the specification for the r0 endpoint. This might break clients that rely on this inconsistency with the specification. This is said to affect the legacy angular reference client. However, I feel that restoring parity with the spec is more important. Either way, it is critical to inform developers about this change, in case they rely on the illegal behaviour. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge pull request #3175 from matrix-org/erikj/escape_metric_valuesErik Johnston2018-05-031-1/+20
|\ \ | | | | | | Escape label values in prometheus metrics
| * | Escape label values in prometheus metricsErik Johnston2018-05-021-1/+20
| | |
* | | Merge branch 'develop' into rav/more_logcontext_leaksRichard van der Hoff2018-05-023-3/+47
|\ \ \
| * | | Fix a couple of logcontext leaks in unit testsRichard van der Hoff2018-05-022-3/+9
| |/ / | | | | | | | | | | | | | | | ... which were making other, innocent, tests, fail. Plus remove a spurious unittest.DEBUG which was making the output noisy.
| * / Fix incorrect reference to StringIORichard van der Hoff2018-05-021-0/+38
| |/ | | | | | | This was introduced in 4f2f5171
* | Remove spurious unittest.DEBUGRichard van der Hoff2018-05-021-1/+0
| |
* | Fix a class of logcontext leaksRichard van der Hoff2018-05-021-11/+56
|/ | | | | | | | | | | | | | | | So, it turns out that if you have a first `Deferred` `D1`, you can add a callback which returns another `Deferred` `D2`, and `D2` must then complete before any further callbacks on `D1` will execute (and later callbacks on `D1` get the *result* of `D2` rather than `D2` itself). So, `D1` might have `called=True` (as in, it has started running its callbacks), but any new callbacks added to `D1` won't get run until `D2` completes - so if you `yield D1` in an `inlineCallbacks` function, your `yield` will 'block'. In conclusion: some of our assumptions in `logcontext` were invalid. We need to make sure that we don't optimise out the logcontext juggling when this situation happens. Fortunately, it is easy to detect by checking `D1.paused`.
* Merge pull request #3108 from NotAFile/py3-six-urlparseRichard van der Hoff2018-04-302-10/+9
|\ | | | | Use six.moves.urlparse
| * Use six.moves.urlparseAdrian Tschira2018-04-152-10/+9
| | | | | | | | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge branch 'develop' into rav/deferred_timeoutRichard van der Hoff2018-04-275-5/+6
|\ \
| * \ Merge pull request #3109 from NotAFile/py3-tests-fixRichard van der Hoff2018-04-235-5/+6
| |\ \ | | | | | | | | Make tests py3 compatible
| | * | Make tests py3 compatibleAdrian Tschira2018-04-165-5/+6
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mixed commit that fixes various small issues * print parentheses * 01 is invalid syntax (it was octal in py2) * [x for i in 1, 2] is invalid syntax * six moves Signed-off-by: Adrian Tschira <nota@notafile.com>
* | / Use deferred.addTimeout instead of time_bound_deferredRichard van der Hoff2018-04-231-33/+0
|/ / | | | | | | This doesn't feel like a wheel we need to reinvent.
* | Merge pull request #3104 from NotAFile/py3-unittest-configRichard van der Hoff2018-04-201-0/+4
|\ \ | | | | | | Add some more variables to the unittest config
| * | Add some more variables to the unittest configAdrian Tschira2018-04-151-0/+4
| |/ | | | | | | | | | | | | These worked accidentally before (python2 doesn't complain if you compare incompatible types) but under py3 this blows up spectacularly Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge pull request #3103 from NotAFile/py3-baseexcepton-messageRichard van der Hoff2018-04-201-6/+6
|\ \ | | | | | | Use str(e) instead of e.message
| * | Use str(e) instead of e.messageAdrian Tschira2018-04-151-6/+6
| |/ | | | | | | | | | | | | Doing this I learned e.message was pretty shortlived, added in 2.6, they realized it was a bad idea and deprecated it in 2.7 Signed-off-by: Adrian Tschira <nota@notafile.com>
* / Avoid creating events with huge numbers of prev_eventsRichard van der Hoff2018-04-161-0/+68
|/ | | | | | In most cases, we limit the number of prev_events for a given event to 10 events. This fixes a particular code path which created events with huge numbers of prev_events.
* Fix testsErik Johnston2018-04-111-0/+1
|
* Merge pull request #2996 from krombel/allow_auto_join_roomsRichard van der Hoff2018-04-101-0/+1
|\ | | | | move handling of auto_join_rooms to RegisterHandler
| * move handling of auto_join_rooms to RegisterHandlerKrombel2018-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently the handling of auto_join_rooms only works when a user registers itself via public register api. Registrations via registration_shared_secret and ModuleApi do not work This auto_joins the users in the registration handler which enables the auto join feature for all 3 registration paths. This is related to issue #2725 Signed-Off-by: Matthias Kesler <krombel@krombel.de>
* | Merge pull request #3061 from NotAFile/add-some-byte-stringsRichard van der Hoff2018-04-091-1/+1
|\ \ | | | | | | Add b prefixes to some strings that are bytes in py3
| * | Add b prefixes to some strings that are bytes in py3Adrian Tschira2018-04-041-1/+1
| |/ | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge pull request #3016 from silkeh/improve-service-lookupsRichard van der Hoff2018-04-091-27/+2
|\ \ | | | | | | Improve handling of SRV records for federation connections
| * | Remove address resolution of hosts in SRV recordsSilke2018-04-041-27/+2
| |/ | | | | | | Signed-off-by: Silke Hofstra <silke@slxh.eu>
* / Fix overzealous cache invalidationRichard van der Hoff2018-04-051-0/+46
|/ | | | | Fixes an issue where a cache invalidation would invalidate *all* pending entries, rather than just the entry that we intended to invalidate.
* s/replication_client/federation_client/Erik Johnston2018-03-139-20/+20
|
* s/replication_server/federation_serverErik Johnston2018-03-131-1/+1
|
* Fix testsErik Johnston2018-03-1310-21/+22
|
* Fix testsErik Johnston2018-03-132-10/+8
|
* Fix comment typoRichard van der Hoff2018-03-051-1/+1
|
* Test and fix find_first_stream_ordering_after_tsRichard van der Hoff2018-03-051-0/+67
| | | | It seemed to suffer from a bunch of off-by-one errors.
* Move RoomMemberHandler out of HandlersErik Johnston2018-03-011-1/+1
|
* Merge pull request #2892 from matrix-org/erikj/batch_inserts_push_actionsErik Johnston2018-02-262-5/+7
|\ | | | | Batch inserts into event_push_actions_staging
| * Fix unit testsErik Johnston2018-02-202-5/+7
| |
* | Fix testErik Johnston2018-02-201-1/+1
|/
* Fix unit testErik Johnston2018-02-151-4/+6
|
* Remove context.push_actionsErik Johnston2018-02-151-1/+4
|
* Merge pull request #2847 from matrix-org/erikj/separate_event_creationErik Johnston2018-02-062-8/+6
|\ | | | | Split event creation into a separate handler
| * s/_create_new_client_event/create_new_client_event/Erik Johnston2018-02-062-4/+4
| |
| * Updates testsErik Johnston2018-02-052-8/+6
| |
* | Store state groups separately from events (#2784)Erik Johnston2018-02-062-69/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split state group persist into seperate storage func * Add per database engine code for state group id gen * Move store_state_group to StateReadStore This allows other workers to use it, and so resolve state. * Hook up store_state_group * Fix tests * Rename _store_mult_state_groups_txn * Rename StateGroupReadStore * Remove redundant _have_persisted_state_group_txn * Update comments * Comment compute_event_context * Set start val for state_group_id_seq ... otherwise we try to recreate old state groups * Update comments * Don't store state for outliers * Update comment * Update docstring as state groups are ints
* | Merge pull request #2844 from matrix-org/rav/evicted_metricsRichard van der Hoff2018-02-051-0/+12
|\ \ | |/ |/| montoring metrics for number of cache evictions
| * report metrics on number of cache evictionsRichard van der Hoff2018-02-051-0/+12
| |
* | Fix broken unit test for media storageErik Johnston2018-02-051-1/+6
| |
* | Merge pull request #2791 from matrix-org/erikj/media_storage_refactorErik Johnston2018-02-053-0/+109
|\ \ | | | | | | Ensure media is in local cache before thumbnailing
| * | Add unit testsErik Johnston2018-01-183-0/+109
| | |
* | | Factor out resolve_state_groups to a separate handlerRichard van der Hoff2018-02-011-1/+3
| |/ |/| | | | | | | | | We extract the storage-independent bits of the state group resolution out to a separate functiom, and stick it in a new handler, in preparation for its use from the storage layer.