summary refs log tree commit diff
path: root/tests/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-041-1/+1
|
* Merge pull request #6329 from matrix-org/babolivier/context_filtersBrendan Abolivier2019-12-043-100/+381
|\ | | | | Filter state, events_before and events_after in /context requests
| * Un-remove room purge testBrendan Abolivier2019-12-041-0/+72
| |
| * Merge branch 'babolivier/context_filters' of github.com:matrix-org/synapse ↵Brendan Abolivier2019-12-041-1/+1
| |\ | | | | | | | | | into babolivier/context_filters
| | * Merge branch 'develop' into babolivier/context_filtersBrendan Abolivier2019-11-263-1/+213
| | |\
| * | \ Merge branch 'develop' into babolivier/context_filtersBrendan Abolivier2019-12-045-3/+477
| |\ \ \ | | |/ / | |/| |
| * | | LintBrendan Abolivier2019-11-051-30/+41
| | | |
| * | | Update copyrightsBrendan Abolivier2019-11-053-1/+7
| | | |
| * | | Add tests for /searchBrendan Abolivier2019-11-051-44/+143
| | | |
| * | | Merge labels tests for /context and /messagesBrendan Abolivier2019-11-051-146/+130
| | | |
| * | | Add test caseBrendan Abolivier2019-11-051-0/+182
| | | |
* | | | Add ephemeral messages support (MSC2228) (#6409)Brendan Abolivier2019-12-031-0/+101
| |/ / |/| | | | | | | | | | | | | | | | | | | | Implement part [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228). The parts that differ are: * the feature is hidden behind a configuration flag (`enable_ephemeral_messages`) * self-destruction doesn't happen for state events * only implement support for the `m.self_destruct_after` field (not the `m.self_destruct` one) * doesn't send synthetic redactions to clients because for this specific case we consider the clients to be able to destroy an event themselves, instead we just censor it (by pruning its JSON) in the database
* | | Add testsErik Johnston2019-11-281-0/+140
| | |
* | | Merge pull request #6358 from matrix-org/babolivier/message_retentionBrendan Abolivier2019-11-271-0/+293
|\ \ \ | | | | | | | | Implement message retention policies (MSC1763)
| * \ \ Merge branch 'develop' into babolivier/message_retentionBrendan Abolivier2019-11-263-1/+114
| |\ \ \ | | | |/ | | |/|
| * | | Don't restrict the tests to v1 roomsBrendan Abolivier2019-11-261-2/+0
| | | |
| * | | Lint againBrendan Abolivier2019-11-191-10/+2
| | | |
| * | | LintBrendan Abolivier2019-11-191-50/+23
| | | |
| * | | Don't apply retention policy based filtering on state eventsBrendan Abolivier2019-11-061-0/+10
| | | | | | | | | | | | | | | | As per MSC1763, 'Retention is only considered for non-state events.', so don't filter out state events based on the room's retention policy.
| * | | Implement per-room message retention policiesBrendan Abolivier2019-11-041-0/+320
| | |/ | |/|
* | | Remove assertion and provide a clear warning on startup for missing ↵Andrew Morgan2019-11-261-0/+1
| |/ |/| | | | | public_baseurl (#6379)
* | LintBrendan Abolivier2019-11-201-6/+8
| |
* | Test if a purge can make /messages return 500 responsesBrendan Abolivier2019-11-201-0/+72
| |
* | Blacklist PurgeRoomTestCase (#6361)Andrew Morgan2019-11-131-0/+2
| |
* | Merge pull request #6295 from matrix-org/erikj/split_purge_historyErik Johnston2019-11-081-1/+3
|\ \ | | | | | | Split purge API into events vs state and add PurgeEventsStorage
| * | Fix deleting state groups during room purge.Erik Johnston2019-11-061-1/+3
| |/ | | | | | | And fix the tests to actually test that things got deleted.
* | Merge branch 'develop' into rav/url_preview_limit_titleRichard van der Hoff2019-11-054-5/+332
|\|
| * Merge pull request #6301 from matrix-org/babolivier/msc2326Brendan Abolivier2019-11-013-5/+254
| |\ | | | | | | Implement MSC2326 (label based filtering)
| | * Incorporate reviewBrendan Abolivier2019-11-012-8/+8
| | |
| | * Incorporate reviewBrendan Abolivier2019-11-012-10/+10
| | |
| | * LintBrendan Abolivier2019-10-302-31/+30
| | |
| | * Add integration tests for /messagesBrendan Abolivier2019-10-301-1/+101
| | |
| | * Add more integration testingBrendan Abolivier2019-10-301-6/+39
| | |
| | * Add integration tests for syncBrendan Abolivier2019-10-302-5/+122
| | |
| * | Add unit test for /purge_room APIErik Johnston2019-10-311-0/+78
| |/
* | Apply suggestions from code reviewRichard van der Hoff2019-11-051-0/+1
| | | | | | | | Co-Authored-By: Brendan Abolivier <babolivier@matrix.org> Co-Authored-By: Erik Johnston <erik@matrix.org>
* | Strip overlong OpenGraph data from url previewRichard van der Hoff2019-11-051-0/+34
|/ | | | ... to stop people causing DoSes with malicious web pages
* Add domain validation when creating room with list of invitees (#6121)werner2912019-10-101-0/+9
|
* send 404 as http-status when filter-id is unknown to the server (#2380)krombel2019-10-101-1/+1
| | | | | | | This fixed the weirdness of 400 vs 404 as http status code in the case the filter id is not known by the server. As e.g. matrix-js-sdk expects 404 to catch this situation this leads to unwanted behaviour.
* Fix races in room stats (and other) updates. (#6187)Richard van der Hoff2019-10-101-1/+1
| | | | | | | Hopefully this will fix the occasional failures we were seeing in the room directory. The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8. We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
* okBrendan Abolivier2019-09-271-1/+3
|
* LintBrendan Abolivier2019-09-271-7/+1
|
* Add test to validate the changeBrendan Abolivier2019-09-271-13/+57
|
* Stop advertising unsupported flows for registration (#6107)Richard van der Hoff2019-09-251-12/+17
| | | | | | | If email or msisdn verification aren't supported, let's stop advertising them for registration. Fixes #6100.
* Refactor the user-interactive auth handling (#6105)Richard van der Hoff2019-09-251-10/+16
| | | | | | | Pull the checkers out to their own classes, rather than having them lost in a massive 1000-line class which does everything. This is also preparation for some more intelligent advertising of flows, as per #6100
* Refactor code for calculating registration flows (#6106)Richard van der Hoff2019-09-251-12/+67
| | | | | | | | | because, frankly, it looked like it was written by an axe-murderer. This should be a non-functional change, except that where `m.login.dummy` was previously advertised *before* `m.login.terms`, it will now be advertised afterwards. AFAICT that should have no effect, and will be more consistent with the flows that involve passing a 3pid.
* Fix commentsErik Johnston2019-09-111-2/+2
| | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Add test for admin redaction ratelimiting.Erik Johnston2019-09-111-0/+25
|
* Fix and refactor room and user stats (#5971)Erik Johnston2019-09-041-2/+6
| | | Previously the stats were not being correctly populated.
* Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-301-1/+1
| | | | | Python will return a tuple whether there are parentheses around the returned values or not. I'm just sick of my editor complaining about this all over the place :)
* Add testsBrendan Abolivier2019-08-011-0/+37
|
* Replace returnValue with return (#5736)Amber Brown2019-07-231-1/+1
|
* Remove the ability to query relations when the original event was redacted. ↵Andrew Morgan2019-07-181-3/+113
| | | | | | | (#5629) Fixes #5594 Forbid viewing relations on an event once it has been redacted.
* Ignore redactions of m.room.create events (#5701)Richard van der Hoff2019-07-171-0/+20
|
* More refactoring in `get_events_as_list` (#5707)Richard van der Hoff2019-07-171-0/+159
| | | | | | | | We can now use `_get_events_from_cache_or_db` rather than going right back to the database, which means that (a) we can benefit from caching, and (b) it opens the way forward to more extensive checks on the original event. We now always require the original event to exist before we will serve up a redaction.
* Implement access token expiry (#5660)Richard van der Hoff2019-07-121-0/+108
| | | | Record how long an access token is valid for, and raise a soft-logout once it expires.
* Include the original event in /relations (#5626)Andrew Morgan2019-07-091-0/+5
| | | When asking for the relations of an event, include the original event in the response. This will mostly be used for efficiently showing edit history, but could be useful in other circumstances.
* LintBrendan Abolivier2019-07-081-2/+2
|
* Add test caseBrendan Abolivier2019-07-081-0/+47
|
* Add origin_server_ts and sender fields to m.replace (#5613)Andrew Morgan2019-07-051-6/+18
| | | | | Riot team would like some extra fields as part of m.replace, so here you go. Fixes: #5598
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-042-2/+2
|
* Fix media repo breaking (#5593)Amber Brown2019-07-021-0/+12
|
* Make the http server handle coroutine-making REST servlets (#5475)Amber Brown2019-06-291-10/+15
|
* Split public rooms directory auth config in twoBrendan Abolivier2019-06-241-1/+1
|
* Run Black. (#5482)Amber Brown2019-06-2013-179/+160
|
* Merge pull request #5440 from matrix-org/babolivier/third_party_event_rulesBrendan Abolivier2019-06-141-0/+79
|\ | | | | Allow server admins to define implementations of extra rules for allowing or denying incoming events
| * Add plugin APIs for implementations of custom event rules.Brendan Abolivier2019-06-141-0/+79
| |
* | Don't send renewal emails to deactivated usersBrendan Abolivier2019-06-141-25/+42
| |
* | Track deactivated accounts in the database (#5378)Brendan Abolivier2019-06-141-0/+45
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2019-06-113-12/+241
|\ \
| * | Bump bleach version so that tests can run on old deps.Erik Johnston2019-06-112-12/+0
| | |
| * | Change password reset links to /_matrix.Erik Johnston2019-06-111-0/+241
| |/
* | Merge pull request #5363 from ↵Brendan Abolivier2019-06-101-0/+35
|\ \ | |/ |/| | | | | matrix-org/babolivier/account_validity_send_mail_auth Don't check whether the user's account is expired on /send_mail requests
| * Don't check whether the user's account is expired on /send_mail requestsBrendan Abolivier2019-06-051-0/+35
| |
* | Unify v1 and v2 REST client APIs (#5226)Amber Brown2019-06-032-2/+1
| |
* | Merge pull request #5309 from matrix-org/rav/limit_displayname_lengthRichard van der Hoff2019-06-011-2/+60
|\ \ | | | | | | Limit displaynames and avatar URLs
| * | add some testsRichard van der Hoff2019-06-011-2/+60
| | |
* | | Merge pull request #5276 from matrix-org/babolivier/account_validity_job_deltaErik Johnston2019-05-311-5/+10
|\ \ \ | | | | | | | | Allow configuring a range for the account validity startup job
| * | | Move delta from +10% to -10%Brendan Abolivier2019-05-311-2/+2
| | | |
| * | | Make max_delta equal to period * 10%Brendan Abolivier2019-05-311-17/+1
| | | |
| * | | TypoBrendan Abolivier2019-05-281-1/+1
| | | |
| * | | Allow configuring a range for the account validity startup jobBrendan Abolivier2019-05-281-0/+21
| | |/ | |/| | | | | | | | | | When enabling the account validity feature, Synapse will look at startup for registered account without an expiration date, and will set one equals to 'now + validity_period' for them. On large servers, it can mean that a large number of users will have the same expiration date, which means that they will all be sent a renewal email at the same time, which isn't ideal. In order to mitigate this, this PR allows server admins to define a 'max_delta' so that the expiration date is a random value in the [now + validity_period ; now + validity_period + max_delta] range. This allows renewal emails to be progressively sent over a configured period instead of being sent all in one big batch.
* | | Add config option for setting homeserver's default room version (#5223)Andrew Morgan2019-05-231-2/+5
| | | | | | | | | | | | | | | Replaces DEFAULT_ROOM_VERSION constant with a method that first checks the config, then returns a hardcoded value if the option is not present. That hardcoded value is now located in the server.py config file.
* | | Room Statistics (#4338)Amber Brown2019-05-211-0/+17
| |/ |/|
* | Merge pull request #5212 from matrix-org/erikj/deny_multiple_reactionsErik Johnston2019-05-211-1/+26
|\ \ | | | | | | Block attempts to annotate the same event twice
| * | Block attempts to annotate the same event twiceErik Johnston2019-05-201-1/+26
| | |
* | | Merge pull request #5204 from ↵Brendan Abolivier2019-05-211-0/+55
|\ \ \ | |/ / |/| / | |/ | | matrix-org/babolivier/account_validity_expiration_date Add startup background job for account validity
| * Add startup background job for account validityBrendan Abolivier2019-05-171-0/+55
| | | | | | | | If account validity is enabled in the server's configuration, this job will run at startup as a background job and will stick an expiration date to any registered account missing one.
* | Rename relation types to match MSCErik Johnston2019-05-201-11/+11
| |
* | Merge pull request #5209 from matrix-org/erikj/reactions_baseErik Johnston2019-05-201-0/+539
|\ \ | | | | | | Land basic reaction and edit support.
| * | Fixup commentsErik Johnston2019-05-201-2/+2
| | |
| * | Correctly update aggregation counts after redactionErik Johnston2019-05-201-0/+37
| | |
| * | Make tests use different user for each reaction it sendsErik Johnston2019-05-171-12/+68
| | | | | | | | | | | | As users aren't allowed to react with the same emoji more than once.
| * | Add basic editing supportErik Johnston2019-05-161-9/+82
| | |
| * | Check that event is visible in new APIsErik Johnston2019-05-161-1/+1
| | |
| * | Add aggregations APIErik Johnston2019-05-161-3/+248
| | |
| * | Add simple pagination APIErik Johnston2019-05-151-0/+30
| | |
| * | Add simple send_relation API and track in DBErik Johnston2019-05-151-0/+98
| | |
* | | Merge pull request #5196 from matrix-org/babolivier/per_room_profilesBrendan Abolivier2019-05-171-1/+69
|\ \ \ | | |/ | |/| Add an option to disable per-room profiles
| * | LintBrendan Abolivier2019-05-161-1/+0
| | |
| * | LintBrendan Abolivier2019-05-161-1/+3
| | |
| * | Forgot copyrightBrendan Abolivier2019-05-161-0/+1
| | |
| * | Add test caseBrendan Abolivier2019-05-161-1/+67
| |/
* | Merge pull request #5174 from matrix-org/dbkr/add_dummy_flow_to_recaptcha_onlyDavid Baker2019-05-161-1/+8
|\ \ | |/ |/| Re-order registration stages to do msisdn & email auth last
| * Merge remote-tracking branch 'origin/develop' into ↵David Baker2019-05-131-11/+11
| |\ | | | | | | | | | dbkr/add_dummy_flow_to_recaptcha_only
| * | And now I realise why the test is failing...David Baker2019-05-131-1/+8
| | |
* | | Migrate all tests to use the dict-based config format instead of hanging ↵Amber Brown2019-05-1310-69/+70
| |/ |/| | | | | items off HomeserverConfig (#5171)
* | URL preview blacklisting fixes (#5155)Andrew Morgan2019-05-101-11/+11
|/ | | Prevents a SynapseError being raised inside of a IResolutionReceiver and instead opts to just return 0 results. This thus means that we have to lump a failed lookup and a blacklisted lookup together with the same error message, but the substitute should be generic enough to cover both cases.
* Run Black on the tests again (#5170)Amber Brown2019-05-108-222/+114
|
* Fix bogus imports in tests (#5154)Brendan Abolivier2019-05-083-5/+6
|
* add options to require an access_token to GET /profile and /publicRooms on ↵Matthew Hodgson2019-05-082-1/+123
| | | | | | | | | | | | | | | | | CS API (#5083) This commit adds two config options: * `restrict_public_rooms_to_local_users` Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API. * `require_auth_for_profile_requests` When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301. MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though. Groups have been intentionally omitted from this commit.
* Do checks on aliases for incoming m.room.aliases events (#5128)Brendan Abolivier2019-05-081-0/+169
| | | | | Follow-up to #5124 Also added a bunch of checks to make sure everything (both the stuff added on #5124 and this PR) works as intended.
* Remove the requirement to authenticate for /admin/server_version. (#5122)Richard van der Hoff2019-05-071-22/+8
| | | | | | | | | This endpoint isn't much use for its intended purpose if you first need to get yourself an admin's auth token. I've restricted it to the `/_synapse/admin` path to make it a bit easier to lock down for those concerned about exposing this information. I don't imagine anyone is using it in anger currently.
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-0210-14/+14
|
* Move admin api impl to its own packageRichard van der Hoff2019-05-0111-25/+47
| | | | It doesn't really belong under rest/client/v1 any more.
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-04-173-2/+191
|\ | | | | | | babolivier/account_expiration
| * Merge pull request #5047 from matrix-org/babolivier/account_expirationBrendan Abolivier2019-04-171-1/+99
| |\ | | | | | | Send out emails with links to extend an account's validity period
| * \ Merge pull request #5027 from matrix-org/babolivier/account_expirationBrendan Abolivier2019-04-091-2/+49
| |\ \ | | | | | | | | Add time-based account expiration
| * | | Add config option to block users from looking up 3PIDs (#5010)Brendan Abolivier2019-04-041-0/+65
| | | |
| * | | Add unit test for deleting groupsErik Johnston2019-04-031-0/+124
| | | |
| * | | Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-011-2/+2
| | | | | | | | | | | | | | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
* | | | Add management endpoints for account validityBrendan Abolivier2019-04-171-8/+87
| |_|/ |/| |
* | | Send out emails with links to extend an account's validity periodBrendan Abolivier2019-04-171-1/+99
| |/ |/|
* | Add account expiration featureBrendan Abolivier2019-04-091-2/+49
|/
* Some more porting to HomeserverTestCase and remove old RESTHelper (#4913)Amber Brown2019-03-221-125/+0
|
* Merge pull request #4908 from matrix-org/erikj/block_peek_on_blocked_roomsErik Johnston2019-03-211-1/+65
|\ | | | | Deny peeking into rooms that have been blocked
| * isortErik Johnston2019-03-211-1/+1
| |
| * Deny peeking into rooms that have been blockedErik Johnston2019-03-211-1/+65
| |
* | Fix typo and add descriptionErik Johnston2019-03-211-1/+5
|/
* Rejig testcase to make it more extensibleErik Johnston2019-03-211-17/+22
|
* Remove debugErik Johnston2019-03-211-1/+0
|
* Add testsErik Johnston2019-03-211-1/+66
|
* Fix registration testRichard van der Hoff2019-03-191-1/+2
| | | | | * Set allow_guest_access = True, since we rely on it * config doesn't have a `hostname` attribute; it is `server_name`
* Add ratelimiting on failed login attempts (#4865)Brendan Abolivier2019-03-181-0/+45
|
* Add ratelimiting on login (#4821)Brendan Abolivier2019-03-152-2/+122
| | | Add two ratelimiters on login (per-IP address and per-userID).
* Merge pull request #4772 from jbweston/jbweston/server-version-apiErik Johnston2019-03-051-2/+36
|\ | | | | Add 'server_version' endpoint to admin API
| * Add 'server_version' endpoint to admin APIJoseph Weston2019-03-011-1/+35
| | | | | | | | | | This is required because the 'Server' HTTP header is not always passed through proxies.
| * Import 'admin' module rather than 'register_servlets' directlyJoseph Weston2019-03-011-2/+2
| | | | | | | | | | | | We will later need also to import 'register_servlets' from the 'login' module, so we un-pollute the namespace now to keep the logical changes separate.
* | Add rate-limiting on registration (#4735)Brendan Abolivier2019-03-054-7/+55
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rate-limiting for registration * Add unit test for registration rate limiting * Add config parameters for rate limiting on auth endpoints * Doc * Fix doc of rate limiting function Co-Authored-By: babolivier <contact@brendanabolivier.com> * Incorporate review * Fix config parsing * Fix linting errors * Set default config for auth rate limiting * Fix tests * Add changelog * Advance reactor instead of mocked clock * Move parameters to registration specific config and give them more sensible default values * Remove unused config options * Don't mock the rate limiter un MAU tests * Rename _register_with_store into register_with_store * Make CI happy * Remove unused import * Update sample config * Fix ratelimiting test for py2 * Add non-guest test
* Fix parsing of Content-Disposition headers (#4763)Richard van der Hoff2019-02-271-0/+45
| | | | | | | | | | | * Fix parsing of Content-Disposition headers TIL: filenames in content-dispostion headers can contain semicolons, and aren't %-encoded. * fix python2 incompatibility * Fix docstrings
* Move register_device into handlerErik Johnston2019-02-181-70/+23
|
* Fix unit testsErik Johnston2019-02-181-6/+15
|
* rework format of change password capabilityNeil Johnson2019-01-291-2/+2
|
* support change_password in capabilities end-pointNeil Johnson2019-01-291-0/+23
|
* isortNeil Johnson2019-01-291-1/+2
|
* enforce auth for capabilities endpointNeil Johnson2019-01-291-4/+19
|
* Support room version capabilities in CS API (MSC1804)Neil Johnson2019-01-251-0/+39
|
* Remove v1 only REST APIs now we don't ship matrix console (#4334)Amber Brown2018-12-292-145/+44
|
* Fix IP URL previews on Python 3 (#4215)Amber Brown2018-12-221-98/+326
|
* create support user (#4141)Neil Johnson2018-12-141-5/+28
| | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits.
* Implement .well-known handling (#4262)Richard van der Hoff2018-12-051-0/+58
| | | | Sometimes it's useful for synapse to generate its own .well-known file.
* Fix more logcontext leaks in tests (#4209)Richard van der Hoff2018-11-271-1/+2
|
* Merge pull request #4204 from matrix-org/rav/logcontext_leak_fixesRichard van der Hoff2018-11-201-1/+2
|\ | | | | Fix some logcontext leaks
| * Fix logcontext leak in test_url_previewRichard van der Hoff2018-11-191-1/+2
| |
* | Fix fallback auth on Python 3 (#4197)Amber Brown2018-11-191-0/+104
|/
* Fix Content-Disposition in media repository (#4176)Amber Brown2018-11-151-0/+145
|
* Use <meta> tags to discover the per-page encoding of html previews (#4183)Amber Brown2018-11-151-0/+77
|
* Add a test for the public T&Cs formRichard van der Hoff2018-11-141-0/+7
|
* Fix URL preview bugs (type error when loading cache from db, content-type ↵Amber Brown2018-11-081-0/+164
| | | | including quotes) (#4157)
* Remove some boilerplate in tests (#4156)Amber Brown2018-11-075-178/+117
|
* Tests for user consent resource (#4140)Amber Brown2018-11-061-0/+111
|
* Fix typing being reset causing infinite syncs (#4127)Amber Brown2018-11-031-0/+123
|
* Fix search 500ing (#4122)Amber Brown2018-10-311-1/+105
|
* Port tests/ to Python 3 (#3808)Amber Brown2018-09-072-311/+258
|
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-4/+10
|
* Integrate presence from hotfixes (#3694)Amber Brown2018-08-182-46/+105
|
* Fix the testsAmber Brown2018-08-155-45/+24
|
* Implement a new test baseclass to cut down on boilerplate (#3684)Amber Brown2018-08-141-37/+29
|
* Run tests under PostgreSQL (#3423)Amber Brown2018-08-139-5/+9
|
* Run black.black2018-08-109-132/+119
|
* Test fixes for Python 3 (#3647)Amber Brown2018-08-097-36/+36
|
* Admin API for creating new users (#3415)Amber Brown2018-07-201-0/+305
|
* Move v1-only APIs into their own module & isolate deprecated ones (#3460)Amber Brown2018-07-195-86/+27
|
* Refactor REST API tests to use explicit reactors (#3351)Amber Brown2018-07-177-921/+902
|
* Make auth & transactions more testable (#3499)Amber Brown2018-07-141-1/+4
|
* run isortAmber Brown2018-07-0911-48/+51
|
* Pass around the reactor explicitly (#3385)Amber Brown2018-06-222-5/+6
|
* 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.
* 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>
* Use six.moves.urlparseAdrian Tschira2018-04-151-7/+7
| | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* 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>
* s/replication_client/federation_client/Erik Johnston2018-03-134-11/+11
|
* Fix testsErik Johnston2018-03-134-11/+11
|
* Move RoomMemberHandler out of HandlersErik Johnston2018-03-011-1/+1
|
* 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
| |
* | mock registrations_require_3pidMatthew Hodgson2018-01-191-0/+1
|/
* Remove dead codeRichard van der Hoff2018-01-091-3/+0
| | | | pointless function is pointless
* Refactor UI auth implementationRichard van der Hoff2017-12-051-4/+7
| | | | | Instead of returning False when auth is incomplete, throw an exception which can be caught with a wrapper.
* Fix testDavid Baker2017-10-171-0/+1
|
* Split out profile handler to fix testsErik Johnston2017-08-251-2/+1
|
* Add groups to sync streamErik Johnston2017-07-201-2/+2
|
* use jsonschema.FormatChecker for RoomID and UserID stringspik2017-03-231-2/+2
| | | | | | * use a valid filter in rest/client/v2_alpha test Signed-off-by: pik <alexander.maznev@gmail.com>
* Add basic implementation of local device list changesErik Johnston2017-01-251-2/+2
|
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-092-3/+6
|
* Stop generating refresh tokensRichard van der Hoff2016-11-281-8/+4
| | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins.
* Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-141-0/+69
|
* Merge pull request #1098 from matrix-org/markjh/bearer_tokenMark Haines2016-10-252-0/+4
|\ | | | | Allow clients to supply access_tokens as headers
| * Fix unit testsMark Haines2016-09-122-0/+4
| |
* | Merge pull request #1164 from pik/error-codesErik Johnston2016-10-191-40/+87
|\ \ | | | | | | Clarify Error codes for GET /filter/
| * | Refactor test_filter to use real DataStorepik2016-10-181-43/+81
| | | | | | | | | | | | * add tests for filter api errors
| * | Error codes for filtersAlexander Maznev2016-10-141-3/+12
| | | | | | | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | | rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-061-21/+9
| | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-061-1/+1
|/ / | | | | | | synchronous
* / Time out typing over federationErik Johnston2016-09-231-4/+1
|/
* More 0_0 in testsMark Haines2016-08-251-2/+2
|
* Add `create_requester` functionRichard van der Hoff2016-07-261-8/+5
| | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
* Implement deleting devicesRichard van der Hoff2016-07-261-4/+10
|
* Register a device_id in the /v2/register flow.Richard van der Hoff2016-07-201-3/+10
| | | | | | | | | | This doesn't cover *all* of the registration flows, but it does cover the most common ones: in particular: shared_secret registration, appservice registration, and normal user/pass registration. Pull device_id from the registration parameters. Register the device in the devices table. Associate the device with the returned access and refresh tokens. Profit.
* Further registration refactoringRichard van der Hoff2016-07-191-1/+5
| | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change.
* rest/client/v2_alpha/register.py: Refactor flow somewhat.Richard van der Hoff2016-07-191-1/+2
| | | | | | | | | | | This is meant to be an *almost* non-functional change, with the exception that it fixes what looks a lot like a bug in that it only calls `auth_handler.add_threepid` and `add_pusher` once instead of three times. The idea is to move the generation of the `access_token` out of `registration_handler.register`, because `access_token`s now require a device_id, and we only want to generate a device_id once registration has been successful.
* Split out the auth handlerDavid Baker2016-06-021-1/+1
|
* Move typing handler out of the Handlers objectMark Haines2016-05-171-1/+1
|
* Create user with expiryNegi Fazeli2016-05-131-0/+88
| | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* Do checks for memberships before creating eventsErik Johnston2016-04-011-2/+2
|
* Fix testsDavid Baker2016-03-161-4/+5
|
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-111-2/+4
|
* Flake8 fixblide2016-03-101-6/+6
|
* Register endpoint returns refresh_tokenblide2016-03-101-12/+18
| | | | Guest registration still doesn't return refresh_token
* Fix testsDavid Baker2016-03-073-20/+20
|
* Fix unit testsMark Haines2016-03-041-2/+2
|
* Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-031-2/+2
| | | | This will enable more detailed decisions
* Fix flake8 warnings for testsMark Haines2016-02-198-170/+181
|
* Remove old tests.Erik Johnston2016-02-182-418/+0
|
* Rename config field to reflect yaml nameDaniel Wagner-Hall2016-02-032-3/+3
|
* Allow paginating backwards from stream tokenErik Johnston2016-01-281-8/+1
|
* Merge pull request #535 from matrix-org/rav/paginate_from_stream_tokenRichard van der Hoff2016-01-281-2/+14
|\ | | | | Make it possible to paginate forwards from stream tokens
| * Make it possible to paginate forwards from stream tokensRichard van der Hoff2016-01-271-2/+14
| | | | | | | | | | In order that we can fill the gap after a /sync, make it possible to paginate forwards from a stream token.
* | Remove redundated BaseHomeServerErik Johnston2016-01-261-8/+10
|/
* Introduce a Requester objectDaniel Wagner-Hall2016-01-112-7/+5
| | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up.
* copyrightsMatthew Hodgson2016-01-0711-11/+11
|
* Return non-room events from guest /events callsDaniel Wagner-Hall2015-11-121-0/+3
|
* Add a couple of unit tests for room/<x>/messagesRichard van der Hoff2015-11-091-0/+56
| | | | ... merely because I was trying to figure out how it worked, and couldn't.
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-052-2/+12
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-045-15/+26
| | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* Support clients supplying older tokens, fix short poll testMark Haines2015-10-301-2/+2
|
* Allow rejecting invitesDaniel Wagner-Hall2015-10-201-2/+2
| | | | | This is done by using the same /leave flow as you would use if you had already accepted the invite and wanted to leave.
* Move NullSource out of synapse and into tests since it is only used by the testsMark Haines2015-09-221-1/+17
|
* Merge pull request #276 from ↵Mark Haines2015-09-211-7/+7
|\ | | | | | | | | matrix-org/markjh/history_for_rooms_that_have_been_left SPEC-216: Allow users to view the history of rooms that they have left.
| * Allow users to GET individual state events for rooms that they have leftMark Haines2015-09-101-5/+5
| |
| * Allow users that have left the room to view the member list from the point ↵Mark Haines2015-09-091-2/+2
| | | | | | | | they left
* | s/user_id/user/g for consistencyDaniel Wagner-Hall2015-09-014-11/+11
| |
* | Attempt to validate macaroonsDaniel Wagner-Hall2015-08-265-25/+22
|/ | | | | | | | | | | | | A couple of weird caveats: * If we can't validate your macaroon, we fall back to checking that your access token is in the DB, and ignoring the failure * Even if we can validate your macaroon, we still have to hit the DB to get the access token ID, which we pretend is a device ID all over the codebase. This mostly adds the interesting code, and points out the two pieces we need to delete (and necessary conditions) in order to fix the above caveats.
* Stop looking up "admin", which we never readDaniel Wagner-Hall2015-08-254-11/+0
|
* Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-254-11/+0
| | | | | | | | | | Removes device_id and ClientInfo device_id is never actually written, and the matrix.org DB has no non-null entries for it. Right now, it's just cluttering up code. This doesn't remove the columns from the database, because that's fiddly.
* Merge branch 'develop' into refreshDaniel Wagner-Hall2015-08-201-1/+2
|\ | | | | | | | | Conflicts: synapse/rest/client/v1/login.py
| * Fix testsDavid Baker2015-08-041-1/+2
| |
* | s/by_token/by_access_token/gDaniel Wagner-Hall2015-08-205-23/+23
|/ | | | We're about to have two kinds of token, access and refresh