summary refs log tree commit diff
path: root/synapse/rest/client/v1 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fix VOIP crashes under Python 3 (#3821)Krombel2018-09-101-1/+5
|
* Allow guests to access /rooms/:roomId/event/:eventIdWill Hunt2018-08-201-1/+1
|
* Integrate presence from hotfixes (#3694)Amber Brown2018-08-181-1/+2
|
* speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-151-3/+29
|
* Don't fail requests to unbind 3pids for non supporting ID serversErik Johnston2018-08-081-2/+9
| | | | | | | | | | Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661
* Merge branch 'master' into developRichard van der Hoff2018-08-022-2/+2
|\
| * Check room visibility for /event/ requestsRichard van der Hoff2018-08-022-2/+2
| | | | | | | | | | | | | | | | Make sure that the user has permission to view the requeseted event for /event/{eventId} and /room/{roomId}/event/{eventId} requests. Also check that the event is in the given room for /room/{roomId}/event/{eventId}, for sanity.
* | Merge pull request #3620 from fuzzmz/return-404-room-not-foundRichard van der Hoff2018-08-011-2/+2
|\ \ | | | | | | return 404 if room not found
| * | return NotFoundError if room not foundSerban Constantin2018-07-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per the Client-Server API[0] we should return `M_NOT_FOUND` if the room isn't found instead of generic SynapseError. This ensures that /directory/list API returns 404 for room not found instead of 400. [0]: https://matrix.org/docs/spec/client_server/unstable.html#get-matrix-client-r0-directory-list-room-roomid Signed-off-by: Serban Constantin <serban.constantin@gmail.com>
* | | Python 3: Convert some unicode/bytes uses (#3569)Amber Brown2018-08-021-7/+15
|/ /
* | make /context lazyload & filter aware (#3567)Matthew Hodgson2018-07-271-0/+9
| | | | | | make /context lazyload & filter aware.
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-233-437/+126
|\ \ | | | | | | | | | erikj/client_apis_move
| * | Admin API for creating new users (#3415)Amber Brown2018-07-201-0/+122
| | |
| * | Move v1-only APIs into their own module & isolate deprecated ones (#3460)Amber Brown2018-07-192-437/+4
| |/
* | Move RoomContextHandler out of HandlersErik Johnston2018-07-181-2/+2
| | | | | | | | This is in preparation for moving GET /context/ to a worker
* | Split MessageHandler into read only and writersErik Johnston2018-07-182-15/+13
|/ | | | | This will let us call the read only parts from workers, and so be able to move some APIs off of master, e.g. the `/state` API.
* check isort by travisKrombel2018-07-162-3/+3
|
* Fix develop because I broke it :( (#3535)Amber Brown2018-07-141-2/+2
|
* Merge pull request #3534 from krombel/use_parse_and_asserts_from_servletAmber Brown2018-07-147-74/+42
|\ | | | | Use parse and asserts from http.servlet
| * fix sytestsAmber Brown2018-07-141-1/+1
| |
| * add changelogKrombel2018-07-131-1/+1
| |
| * rename assert_params_in_request to assert_params_in_dictKrombel2018-07-135-14/+14
| | | | | | | | | | | | the method "assert_params_in_request" does handle dicts and not requests. A request body has to be parsed to json before this method can be used
| * Use parse_{int,str} and assert from http.servletKrombel2018-07-137-75/+43
| | | | | | | | | | | | | | parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable
* | Make auth & transactions more testable (#3499)Amber Brown2018-07-143-6/+5
|/
* run isortAmber Brown2018-07-0914-86/+88
|
* Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-282-2/+3
|
* update doc for deactivate APIMatthew Hodgson2018-06-261-1/+1
|
* add GDPR erase param to deactivate APIMatthew Hodgson2018-06-261-1/+12
|
* Revert "Revert "Merge pull request #3431 from ↵Erik Johnston2018-06-251-1/+3
| | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
* Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility"Richard van der Hoff2018-06-221-3/+1
| | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
* Merge pull request #3431 from matrix-org/rav/erasure_visibilityErik Johnston2018-06-221-1/+3
|\ | | | | Support hiding events from deleted users
| * mark accounts as erased when requestedRichard van der Hoff2018-06-121-1/+3
| |
* | Remove run_on_reactor (#3395)Amber Brown2018-06-141-7/+0
|/
* fix logRichard van der Hoff2018-06-071-1/+1
|
* Fix event-purge-by-ts admin APIRichard van der Hoff2018-06-071-6/+4
| | | | | | This got completely broken in 0.30. Fixes #3300.
* Replace some more comparisons with sixAdrian Tschira2018-05-191-3/+5
| | | | | | plus a bonus b"" string I missed last time Signed-off-by: Adrian Tschira <nota@notafile.com>
* Merge pull request #3221 from matrix-org/erikj/purge_tokenErik Johnston2018-05-181-7/+10
|\ | | | | Make purge_history operate on tokens
| * Make purge_history operate on tokensErik Johnston2018-05-151-7/+10
| | | | | | | | As we're soon going to change how topological_ordering works
* | Move RoomCreationHandler out of synapse.handlers.HandlersRichard van der Hoff2018-05-172-5/+4
|/ | | | | | | Handlers is deprecated nowadays, so let's move this out before I add a new dependency on it. Also fix the docstrings on create_room.
* Set Server header in SynapseRequestRichard van der Hoff2018-05-101-1/+0
| | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really.
* Burminate v1authAdrian Tschira2018-04-302-2/+6
| | | | | | | | | | | | | | | | | | 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>
* add guard for None on purge_history apiKrombel2018-04-301-1/+14
|
* Merge pull request #3156 from NotAFile/py3-hmac-bytesRichard van der Hoff2018-04-301-7/+9
|\ | | | | Construct HMAC as bytes on py3
| * Construct HMAC as bytes on py3Adrian Tschira2018-04-291-7/+9
| | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Use six.moves.urlparseAdrian Tschira2018-04-152-5/+6
|/ | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* Merge pull request #3079 from matrix-org/erikj/limit_concurrent_sendsErik Johnston2018-04-101-6/+1
|\ | | | | Limit concurrent event sends for a room
| * Use create_and_send_nonmember_event everywhereErik Johnston2018-04-091-6/+1
| |
* | Merge pull request #3061 from NotAFile/add-some-byte-stringsRichard van der Hoff2018-04-091-2/+2
|\ \ | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | Merge pull request #2938 from dklug/developRichard van der Hoff2018-04-091-1/+4
|\ \ \ | |_|/ |/| | Return 401 for invalid access_token on logout
| * | Return 401 for invalid access_token on logoutdklug2018-03-021-1/+4
| | | | | | | | | | | | Signed-off-by: Duncan Klug <dklug@ucmerced.edu>
* | | Merge pull request #2986 from jplatte/join_reponse_room_idRichard van der Hoff2018-04-051-1/+6
|\ \ \ | |_|/ |/| | Add room_id to the response of `rooms/{roomId}/join`
| * | Add room_id to the response of `rooms/{roomId}/join`Jonas Platte2018-03-131-1/+6
| | | | | | | | | | | | Fixes #2349
* | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-191-1/+1
|\ \ \ | |/ / |/| |
| * | Replace ujson with simplejsonErik Johnston2018-03-151-1/+1
| | |
* | | RoomMembershipRestServlet doesn't handle /forgetErik Johnston2018-03-131-1/+1
| | | | | | | | | | | | | | | Due to the order we register the REST handlers `/forget` was handled by the correct handler.
* | | Add transactional API to history purgeRichard van der Hoff2018-03-121-3/+35
| | | | | | | | | | | | Make the purge request return quickly, and allow scripts to poll for updates.
* | | Provide a means to pass a timestamp to purge_historyRichard van der Hoff2018-03-051-3/+55
| |/ |/|
* | Move RoomMemberHandler out of HandlersErik Johnston2018-03-012-12/+14
| |
* | Merge pull request #2854 from matrix-org/erikj/event_create_workerErik Johnston2018-02-131-1/+0
|\ \ | | | | | | Create a worker for event creation
| * | Add event_creator workerErik Johnston2018-02-071-1/+0
| | |
* | | Fix typos in purge api & docRichard van der Hoff2018-02-131-3/+1
| | | | | | | | | | | | | | | * It's supposed to be purge_local_events, not ..._history * Fix the doc to have valid json
* | | Merge pull request #2858 from matrix-org/rav/purge_updatesRichard van der Hoff2018-02-091-1/+10
|\ \ \ | |/ / |/| | delete_local_events for purge_room_history
| * | delete_local_events for purge_historyRichard van der Hoff2018-02-091-1/+10
| | | | | | | | | | | | Add a flag which makes the purger delete local events
* | | Update copyrightErik Johnston2018-02-062-0/+2
| | |
* | | Update places where we create eventsErik Johnston2018-02-052-9/+11
| | |
* | | Merge branch 'develop' into travis/admin-list-mediaTravis Ralston2018-02-012-17/+34
|\ \ \
| * | | add ?ts massaging for ASes (#2754)Matthew Hodgson2018-01-231-6/+11
| | | | | | | | | | | | blindly implement ?ts for AS. untested
| * | | rewrite based on PR feedback:Matthew Hodgson2018-01-191-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ ] split config options into allowed_local_3pids and registrations_require_3pid * [ ] simplify and comment logic for picking registration flows * [ ] fix docstring and move check_3pid_allowed into a new util module * [ ] use check_3pid_allowed everywhere @erikjohnston PTAL
| * | | fix up v1, and improve errorsMatthew Hodgson2018-01-191-11/+29
| |/ /
* / / Add an admin route to get all the media in a roomTravis Ralston2018-01-201-0/+22
|/ / | | | | | | | | This is intended to be used by administrators to monitor the media that is passing through their server, if they wish. Signed-off-by: Travis Ralston <travpc@gmail.com>
* | Add /room/{id}/event/{id} to synapseRichard van der Hoff2018-01-091-3/+26
| | | | | | | | | | | | Turns out that there is a valid usecase for retrieving event by id (notably having received a push), but event ids should be scoped to room, so /event/{id} is wrong.
* | Better logging when login can't find a 3pidRichard van der Hoff2017-12-201-4/+10
|/
* Delete devices in various logout situationsRichard van der Hoff2017-11-291-2/+25
| | | | | | | | | | | | | Make sure that we delete devices whenever a user is logged out due to any of the following situations: * /logout * /logout_all * change password * deactivate account (by the user or by an admin) * invalidate access token from a dynamic module Fixes #2672.
* Move set_password into its own handlerRichard van der Hoff2017-11-291-2/+2
| | | | | | Non-functional refactoring to move set_password. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop.
* Move deactivate_account into its own handlerRichard van der Hoff2017-11-291-2/+2
| | | | | | Non-functional refactoring to move deactivate_account. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop.
* Downcase userids for shared-secret registrationRichard van der Hoff2017-11-101-1/+1
|
* Allow password_auth_providers to return a callbackRichard van der Hoff2017-11-011-1/+4
| | | | ... so that they have a way to record access tokens.
* Merge remote-tracking branch 'origin/develop' into ↵David Baker2017-11-011-3/+10
|\ | | | | | | rav/refactor_accesstoken_delete
| * Merge pull request #2615 from matrix-org/rav/break_auth_device_depDavid Baker2017-11-011-3/+0
| |\ | | | | | | Break dependency of auth_handler on device_handler
| | * Break dependency of auth_handler on device_handlerRichard van der Hoff2017-11-011-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to need to make the device_handler depend on the auth_handler, so I need to break this dependency to avoid a cycle. It turns out that the auth_handler was only using the device_handler in one place which was an edge case which we can more elegantly handle by throwing an error rather than fixing it up.
| * | Apparently this is pythonDavid Baker2017-11-011-1/+1
| | |
| * | Log login requestsDavid Baker2017-11-011-0/+10
| |/ | | | | | | Carefully though, to avoid logging passwords
* / Move access token deletion into auth handlerRichard van der Hoff2017-11-012-11/+6
|/ | | | | | | Also move duplicated deactivation code into the auth handler. I want to add some hooks when we deactivate an access token, so let's bring it all in here so that there's somewhere to put it.
* Refactor some logic from LoginRestServlet into AuthHandlerRichard van der Hoff2017-10-311-29/+26
| | | | | | | | | | | | | | I'm going to need some more flexibility in handling login types in password auth providers, so as a first step, move some stuff from LoginRestServlet into AuthHandler. In particular, we pass everything other than SAML, JWT and token logins down to the AuthHandler, which now has responsibility for checking the login type and fishing the password out of the login dictionary, as well as qualifying the user_id if need be. Ideally SAML, JWT and token would go that way too, but there's no real need for it right now and I'm trying to minimise impact. This commit *should* be non-functional.
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-234-7/+7
| | | | what could possibly go wrong
* Remove pointless create() methodRichard van der Hoff2017-10-201-3/+3
| | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths.
* Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-021-10/+6
|\
| * Fix /joined_members to work with AS usersErik Johnston2017-09-281-2/+1
| |
| * Fix bug where /joined_members didn't check user was in roomErik Johnston2017-09-271-10/+7
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_mergedErik Johnston2017-09-191-8/+8
|\|
| * fix englishhera2017-08-041-7/+7
| |
| * typohera2017-08-041-1/+1
| |
* | Split out profile handler to fix testsErik Johnston2017-08-251-9/+9
|/
* Fix bug where pusherpool didn't start and broke some roomsErik Johnston2017-07-061-8/+6
| | | | | | | | 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.
* Add API to quarantine mediaErik Johnston2017-06-191-0/+25
|
* Remove unused importErik Johnston2017-06-191-1/+1
|
* Change to create new room and join other usersErik Johnston2017-06-191-6/+53
|
* Forget roomErik Johnston2017-06-191-0/+2
|
* Add shutdown room APIErik Johnston2017-06-191-1/+66
|
* Add more granular event send metricsErik Johnston2017-05-021-0/+1
|
* Merge pull request #2130 from APwhitehat/roomexistsErik Johnston2017-04-271-1/+5
|\ | | | | Check that requested room_id exists
| * Check that requested room_id existsAnant Prakash2017-04-141-1/+5
| |
* | Reduce size of joined_user cacheErik Johnston2017-04-251-1/+7
|/ | | | | | | | The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size.
* Merge pull request #2011 from matrix-org/matthew/turn_allow_guestsErik Johnston2017-03-311-1/+4
|\ | | | | add setting (on by default) to support TURN for guests
| * add setting (on by default) to support TURN for guestsMatthew Hodgson2017-03-151-1/+4
| |
* | Don't recreate so many setsErik Johnston2017-03-161-2/+1
| |
* | Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-151-0/+3
| |
* | Merge pull request #1997 from matrix-org/dbkr/cas_partialdownloadDavid Baker2017-03-151-1/+8
|\ \ | |/ |/| Handle PartialDownloadError in CAS login
| * Handle PartialDownloadError in CAS loginDavid Baker2017-03-141-1/+8
| |
* | Support registration / login with phone numberDavid Baker2017-03-131-6/+82
|/ | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* Revert "Support registration & login with phone number"Erik Johnston2017-03-131-82/+6
|
* Not any more, it doesn'tDavid Baker2017-03-081-1/+0
|
* Minor fixes from PR feedbackDavid Baker2017-03-081-1/+1
|
* Factor out msisdn canonicalisationDavid Baker2017-03-081-13/+5
| | | | Plus a couple of other minor fixes
* Fix pep8David Baker2017-03-081-3/+3
|
* Support new login formatDavid Baker2017-03-071-6/+91
| | | | https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#
* Remove unused paramErik Johnston2017-02-201-1/+0
|
* Make kick & ban reasons workDavid Baker2017-02-141-0/+5
| | | | | | We somehow specced APIs with reason strings, preserve the content in the events and even have the clients display them, but failed to actually pass the parameter through to the event content.
* admin,storage: added more administrator functionalitiesMorteza Araby2017-02-022-2/+224
| | | | | | | | | | | | | | administrators can now: - Set displayname of users - Update user avatars - Search for users by user_id - Browse all users in a paginated API - Reset user passwords - Deactivate users Helpers for doing paginated queries has also been added to storage Signed-off-by: Morteza Araby <morteza.araby@ericsson.com>
* Fix email push in pusher workerErik Johnston2017-02-021-1/+4
| | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Added username and password for turn serverMarvin Steadfast2017-01-191-9/+17
| | | | | It makes it possible to use a turn server that needs a username and password instead of a token.
* Lowercase all email addresses before querying dbDavid Baker2017-01-181-1/+7
| | | | | Since we store all emails in the DB in lowercase (https://github.com/matrix-org/synapse/pull/1170)
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-091-11/+17
|
* Merge pull request #1676 from matrix-org/erikj/room_listErik Johnston2016-12-122-1/+52
|\ | | | | Add new API appservice specific public room list
| * Add new API appservice specific public room listErik Johnston2016-12-062-1/+52
| |
* | Add /room/<room_id>/joined_members APIErik Johnston2016-12-081-0/+19
| | | | | | | | | | | | This returns the currently joined members in the room with their display names and avatar urls. This is more efficient than /members for large rooms where you don't need the full events.
* | Add joined_rooms servletErik Johnston2016-12-081-0/+17
|/
* Merge branch 'develop' into rav/no_more_refresh_tokensRichard van der Hoff2016-11-301-12/+0
|\
| * Stop putting a time caveat on access tokensRichard van der Hoff2016-11-291-12/+0
| | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats.
* | Stop generating refresh tokensRichard van der Hoff2016-11-281-18/+10
|/ | | | | | | 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-1/+1
|
* Move .observe() up to the cache to make things neaterKegan Dougal2016-11-141-24/+6
|
* Review commentsKegan Dougal2016-11-113-146/+29
|
* More flake8Kegan Dougal2016-11-111-1/+3
|
* Flake8 and fix whoopsieKegan Dougal2016-11-111-4/+8
|
* Use ObservableDeferreds instead of Deferreds as they behave as intendedKegan Dougal2016-11-112-30/+31
|
* Flake8Kegan Dougal2016-11-101-3/+3
|
* Store Promise<Response> instead of Response for HTTP API transactionsKegan Dougal2016-11-103-82/+56
| | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests.
* rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-061-3/+6
| | | | 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-1/+4
|
* Support /initialSync in synchrotron workerErik Johnston2016-09-212-5/+4
|
* Enable guest access to POST /publicRoomsErik Johnston2016-09-171-2/+2
|
* Make POST /publicRooms require authErik Johnston2016-09-161-2/+1
|
* Change the way we calculate new_limit in /publicRooms and add POST APIErik Johnston2016-09-151-0/+29
|
* Remove default public rooms limitErik Johnston2016-09-151-1/+1
|
* By default limit /publicRooms to 100 entriesErik Johnston2016-09-151-1/+1
|
* Pass since/from parameters over federationErik Johnston2016-09-151-3/+3
|
* Allow paginating both forwards and backwardsErik Johnston2016-09-151-3/+15
|
* Remove support for aggregate room listsErik Johnston2016-09-151-1/+1
|
* Conform better to the CAS protocol specificationShell Turner2016-09-091-5/+2
| | | | | | | Redirect to CAS's /login endpoint properly, and don't require an <attributes> element. Signed-off-by: Shell Turner <cam.turn@gmail.com>
* Merge pull request #1096 from matrix-org/markjh/get_access_tokenMark Haines2016-09-093-16/+10
|\ | | | | Add helper function for getting access_tokens from requests
| * Add helper function for getting access_tokens from requestsMark Haines2016-09-093-16/+10
| | | | | | | | | | | | Rather than reimplementing the token parsing in the various places. This will make it easier to change the token parsing to allow access_tokens in HTTP headers.
* | Filter returned events for client-facing formatPaul "LeoNerd" Evans2016-09-091-2/+3
| |
* | Allow clients to specify the format a room state event is returned inPaul "LeoNerd" Evans2016-09-091-1/+7
|/
* Use parse_stringErik Johnston2016-09-081-2/+2
|
* Add server param to /publicRoomsErik Johnston2016-09-081-5/+16
|
* Pass through user-supplied content in /join/$room_idKegan Dougal2016-08-231-0/+1
| | | | | | | It was always intended to allow custom keys on the join event, but this has at some point been lost. Restore it. If the user specifies keys like "avatar_url" then they will be clobbered.
* Make synchrotron accept /eventsErik Johnston2016-08-121-5/+4
|
* Dont invoke get_handlers fromClientV1RestServletErik Johnston2016-08-129-1/+86
| | | | | | hs.get_handlers() can not be invoked from split out processes. Moving the invocations down a level means that we can slowly split out individual servlets.
* Merge pull request #995 from matrix-org/rav/clean_up_cas_loginDavid Baker2016-08-091-125/+33
|\ | | | | Clean up CAS login code
| * Clean up CAS login codeRichard van der Hoff2016-08-081-125/+33
| | | | | | | | | | | | | | Remove some apparently unused code. Clean up parse_cas_response, mostly to catch the exception if the CAS response isn't valid XML.
* | Fix CAS loginRichard van der Hoff2016-08-081-0/+1
|/ | | | Attempting to log in with CAS was giving a 500 error.
* Implement deleting devicesRichard van der Hoff2016-07-261-3/+10
|
* Merge pull request #933 from matrix-org/rav/type_annotationsRichard van der Hoff2016-07-202-0/+8
|\ | | | | Type annotations
| * Type annotationsRichard van der Hoff2016-07-192-0/+8
| | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things.
* | Merge pull request #932 from matrix-org/rav/register_refactorDavid Baker2016-07-201-1/+3
|\ \ | | | | | | Further registration refactoring
| * | Further registration refactoringRichard van der Hoff2016-07-191-1/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * `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.
* | Merge pull request #922 from matrix-org/erikj/file_api2Erik Johnston2016-07-201-1/+10
|\ \ | |/ |/| Feature: Add filter to /messages. Add 'contains_url' to filter.
| * Add filter param to /messages APIErik Johnston2016-07-141-1/+10
| |
* | Add device_id support to /loginRichard van der Hoff2016-07-181-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed.
* | Refactor login flowRichard van der Hoff2016-07-181-18/+23
| | | | | | | | | | | | | | | | | | | | Make sure that we have the canonical user_id *before* calling get_login_tuple_for_user_id. Replace login_with_password with a method which just validates the password, and have the caller call get_login_tuple_for_user_id. This brings the password flow into line with the other flows, and will give us a place to register the device_id if necessary.
* | Bug fix: expire invalid access tokensNegar Fazeli2016-07-131-1/+1
|/
* Add rest servlet. Fix SQL.Erik Johnston2016-07-061-0/+1
|
* Merge branch 'erikj/shared_secret' into erikj/test2Erik Johnston2016-07-061-4/+16
|\
| * Check that there are no null bytes in user and passswordErik Johnston2016-07-061-0/+6
| |
| * Add null separator to hmacErik Johnston2016-07-061-0/+2
| |
| * Add an admin option to shared secret registrationErik Johnston2016-07-051-0/+1
| |
| * Protect password when registering using shared secretErik Johnston2016-07-051-4/+7
| |
* | Add purge_history APIErik Johnston2016-07-051-0/+18
|/
* Fix style violationsKent Shikama2016-07-041-1/+2
| | | | Signed-off-by: Kent Shikama <kent@kentshikama.com>
* Use .get() instead of [] to access password_hashKent Shikama2016-07-041-1/+1
|
* Optionally include password hash in createUser endpointKent Shikama2016-07-031-1/+3
| | | | Signed-off-by: Kent Shikama <kent@kentshikama.com>
* Feature: Add deactivate account admin APIErik Johnston2016-06-301-0/+26
| | | | | | | | | | Allows server admins to "deactivate" accounts, which: - Revokes all access tokens - Removes all threepids - Removes password The API is a POST to `/admin/deactivate/<user_id>`
* Implement purge_media_cache admin APIErik Johnston2016-06-291-0/+32
|
* Remove redundant exception log in /eventsErik Johnston2016-06-091-24/+21
|
* Don't make rooms visibile by defaultErik Johnston2016-06-081-2/+0
|
* Log user that is making /publicRooms callsErik Johnston2016-06-081-0/+7
|
* Load push rules in storage layer, so that they get cachedErik Johnston2016-06-031-4/+2
|
* Working unsubscribe links going straight to the HSDavid Baker2016-06-021-1/+3
| | | | and authed by macaroons that let you delete pushers and nothing else
* Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribeDavid Baker2016-06-021-5/+6
|\
| * Split out the auth handlerDavid Baker2016-06-021-5/+6
| |
* | WIP on unsubscribing email notifs without logging inDavid Baker2016-06-011-1/+54
|/
* Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-1/+2
|
* Split out the room list handlerDavid Baker2016-05-311-1/+1
| | | | So I can use it from federation bits without pulling in all the handlers.
* Allow clients to specify a server_name to avoid 'No known servers'Kegan Dougal2016-05-191-1/+4
| | | | Multiple server_names are supported via ?server_name=foo&server_name=bar
* Move typing handler out of the Handlers objectMark Haines2016-05-171-4/+3
|
* Move the presence handler out of the Handlers objectMark Haines2016-05-162-7/+15
|
* Create user with expiryNegi Fazeli2016-05-131-0/+71
| | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* Make pyjwt dependency optionalErik Johnston2016-04-251-5/+7
|
* Merge pull request #687 from nikriek/jwt-fixErik Johnston2016-04-211-3/+6
|\ | | | | Fix issues with JWT login
| * Fix issues with JWT loginNiklas Riekenbrauck2016-04-211-3/+6
| |
* | Make the /set part mandatoryDavid Baker2016-04-121-1/+1
| |
* | Mis-named functionDavid Baker2016-04-121-1/+1
| |
* | Split into separate servlet classesDavid Baker2016-04-121-11/+16
| |
* | Add get endpoint for pushersDavid Baker2016-04-111-1/+34
|/ | | | As per https://github.com/matrix-org/matrix-doc/pull/308
* Remove spurious commentErik Johnston2016-03-301-1/+0
|
* Require user to have left room to forget roomErik Johnston2016-03-301-0/+38
| | | | | This dramatically simplifies the forget API code - in particular it no longer generates a leave event.
* Add JWT supportNiklas Riekenbrauck2016-03-291-0/+53
|
* Add published room list edit APIErik Johnston2016-03-211-0/+42
|
* Update aliases event after deletionErik Johnston2016-03-171-1/+2
| | | | | | | | Attempt to update the appropriate `m.room.aliases` event after deleting an alias. This may fail due to the deleter not being in the room. Will also check if the canonical alias of the event is set to the deleted alias, and if so will attempt to delete it.
* Hook up adding a pusher to the notifier for replication.Mark Haines2016-03-151-0/+6
|
* Fix regression where synapse checked whether push rules were valid JSON ↵Mark Haines2016-03-141-2/+2
| | | | before the compatibility hack that handled clients sending invalid JSON
* Merge pull request #642 from matrix-org/erikj/logoutErik Johnston2016-03-111-0/+72
|\ | | | | Implement logout
| * Implement logoutErik Johnston2016-03-111-0/+72
| |
* | Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-113-22/+13
|/
* Add a parse_json_object functionMark Haines2016-03-096-83/+21
| | | | | to deduplicate all the copy+pasted _parse_json functions. Also document the parse_.* functions.
* Fix relative imports so they work in both py3 and py27Mark Haines2016-03-086-6/+6
|
* Use syntax that works on both py2.7 and py3Mark Haines2016-03-071-1/+1
|
* Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-043-10/+11
|\
| * Merge pull request #614 from matrix-org/erikj/alias_deleteErik Johnston2016-03-041-3/+0
| |\ | | | | | | Allow alias creators to delete aliases
| | * Allow alias creators to delete aliasesErik Johnston2016-03-011-3/+0
| | |
| * | Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-033-7/+11
| |/ | | | | | | This will enable more detailed decisions
* | Hook up the push rules stream to account_data in /syncMark Haines2016-03-041-1/+1
| |
* | Move the code for formatting push rules into a separate functionMark Haines2016-03-031-86/+4
| |
* | Hook up the push rules to the notifierMark Haines2016-03-031-15/+29
|/
* Add support for changing the actions for default rulesMark Haines2016-02-261-4/+27
| | | | | | See matrix-org/matrix-doc#283 Works by adding dummy rules to the push rules table with a negative priority class and then using those rules to clobber the default rule actions when adding the default rules in ``list_with_base_rules``
* Fix to appease the PEP8 dragonGergely Polonkai2016-02-261-1/+3
|
* Add error codes for malformed/bad JSON in /loginGergely Polonkai2016-02-261-2/+2
| | | | Signed-off-by: Gergely Polonkai <gergely@polonkaieu>
* Make sure we return a JSON object when returning the values of specif…Mark Haines2016-02-251-1/+3
| | | | …ic keys from a push rule
* Remove unused get_rule_attr methodMark Haines2016-02-241-8/+0
|
* Ignore invalid POST bodies when joining roomsDaniel Wagner-Hall2016-02-241-2/+12
|
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-0/+4
|
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-192-22/+22
|\ | | | | Rewrite presence for performance.
| * "You are not..."Erik Johnston2016-02-181-1/+1
| |
| * Initial cutErik Johnston2016-02-172-22/+22
| |
* | Remove dead code for setting device specific rules.Mark Haines2016-02-182-88/+8
| | | | | | | | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code.
* | Merge branch 'develop' into daniel/roomcleanupincrementalDaniel Wagner-Hall2016-02-172-2/+2
|\| | | | | | | | | Conflicts: synapse/rest/client/v1/room.py
| * client/v1/room: include event_id in response to state event PUT, in ↵Patrik Oldsberg2016-02-171-2/+2
| | | | | | | | | | | | accordance with the spec Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * Fix typo in request validation for adding push rules.Mark Haines2016-02-161-1/+1
| |
| * Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
| |
* | Some cleanupDaniel Wagner-Hall2016-02-171-3/+3
| | | | | | | | | | I'm not particularly happy with the "action" switching, but there's no convenient way to defer the work that needs to happen after it, so... :(
* | Branch off member and non member sendsDaniel Wagner-Hall2016-02-151-5/+16
| | | | | | | | Unclean, needs tidy-up, but works
* | Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
| |
* | Reuse update_membership from /joinDaniel Wagner-Hall2016-02-151-16/+5
| |
* | Merge implementation of /join by alias or IDDaniel Wagner-Hall2016-02-151-37/+31
| | | | | | | | | | This code is kind of rough (passing the remote servers down a long chain), but is a step towards improvement.
* | Merge some room joining codepathsDaniel Wagner-Hall2016-02-151-1/+1
|/ | | | | | Force joining by alias to go through the send_membership_event checks, rather than bypassing them straight into _do_join. This is the first of many stages of cleanup.
* Revert "Merge two of the room join codepaths"Daniel Wagner-Hall2016-02-121-13/+55
| | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-55/+13
| | | | | | | | | | | | | There's at least one more to merge in. Side-effects: * Stop reporting None as displayname and avatar_url in some cases * Joining a room by alias populates guest-ness in join event * Remove unspec'd PUT version of /join/<room_id_or_alias> which has not been called on matrix.org according to logs * Stop recording access_token_id on /join/room_id - currently we don't record it on /join/room_alias; I can try to thread it through at some point.