summary refs log tree commit diff
path: root/synapse/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'develop' into e2e_backupsHubert Chathi2018-08-2413-79/+143
|\
| * Merge pull request #3724 from Half-Shot/hs/guest-fetch-eventErik Johnston2018-08-221-1/+1
| |\ | | | | | | Allow guests to use /rooms/:roomId/event/:eventId
| | * Allow guests to access /rooms/:roomId/event/:eventIdWill Hunt2018-08-201-1/+1
| | |
| * | fix another consent encoding failRichard van der Hoff2018-08-211-1/+1
| | |
| * | Fix 500 error from /consent formRichard van der Hoff2018-08-211-2/+11
| |/ | | | | | | Fixes #3731
| * Port over enough to get some sytests running on Python 3 (#3668)Amber Brown2018-08-202-6/+6
| |
| * Integrate presence from hotfixes (#3694)Amber Brown2018-08-181-1/+2
| |
| * Remove v1/register's broken shared secret functionality (#3703)Amber Brown2018-08-181-54/+0
| |
| * Add GET media/v1/config (#3184)Will Hunt2018-08-162-1/+50
| |
| * lazyload aware /messages (#3589)Matthew Hodgson2018-08-161-1/+12
| |
| * initial cut at a room summary API (#3574)Matthew Hodgson2018-08-161-0/+1
| |
| * speed up /members and add at= and membership params (#3568)Matthew Hodgson2018-08-151-3/+29
| |
| * Merge pull request #3667 from matrix-org/erikj/fixup_unbindErik Johnston2018-08-152-6/+27
| |\ | | | | | | Don't fail requests to unbind 3pids for non supporting ID servers
| | * Don't fail requests to unbind 3pids for non supporting ID serversErik Johnston2018-08-082-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-103-3/+3
| |/
* | missing importMatthew Hodgson2018-08-121-1/+1
| |
* | use parse_stringMatthew Hodgson2018-08-121-3/+3
| |
* | support DELETE /version with no argsMatthew Hodgson2018-08-121-2/+3
| |
* | implement remaining tests and make them workMatthew Hodgson2018-08-121-0/+6
| |
* | improve docstringMatthew Hodgson2018-08-121-1/+5
| |
* | add a tonne of docstring; make upload_room_keys properly assert versionMatthew Hodgson2018-08-121-1/+10
| |
* | more docstring for the e2e_room_keys restMatthew Hodgson2018-08-121-0/+51
| |
* | blindly incorporate PR review - needs testing & fixingMatthew Hodgson2018-08-121-0/+2
| |
* | make /room_keys/version workMatthew Hodgson2018-08-121-1/+8
| |
* | implement /room_keys/version too (untested)Matthew Hodgson2018-08-121-0/+47
| |
* | document the APIMatthew Hodgson2018-08-121-0/+133
| |
* | make it work and fix pep8Matthew Hodgson2018-08-122-13/+22
| |
* | interim WIP checkin; doesn't build yetMatthew Hodgson2018-08-121-4/+33
| |
* | total WIP skeleton for /room_keys APIMatthew Hodgson2018-08-121-0/+56
|/
* Merge pull request #3639 from matrix-org/rav/refactor_error_handlingRichard van der Hoff2018-08-021-1/+1
|\ | | | | Clean up handling of errors from outbound requests
| * Refactor code for turning HttpResponseException into SynapseErrorRichard van der Hoff2018-08-011-1/+1
| | | | | | | | | | | | | | | | This commit replaces SynapseError.from_http_response_exception with HttpResponseException.to_synapse_error. The new method actually returns a ProxiedRequestError, which allows us to pass through additional metadata from the API call.
* | 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-023-14/+22
|/ /
* | make /context lazyload & filter aware (#3567)Matthew Hodgson2018-07-271-0/+9
| | | | | | make /context lazyload & filter aware.
* | Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-262-2/+2
| | | | | | | | | | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call.
* | Wrap a number of things that run in the backgroundRichard van der Hoff2018-07-252-2/+14
| | | | | | | | | | This will reduce the number of "Starting db connection from sentinel context" warnings, and will help with our metrics.
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-236-13/+206
|\ \ | | | | | | | | | 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-195-13/+84
| |/
* | 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.
* Refactor REST API tests to use explicit reactors (#3351)Amber Brown2018-07-171-1/+1
|
* rerun isort with latest versionKrombel2018-07-161-13/+3
|
* check isort by travisKrombel2018-07-165-9/+19
|
* 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-1414-139/+92
|\ | | | | 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-139-30/+30
| | | | | | | | | | | | 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-1313-132/+85
| | | | | | | | | | | | | | 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-147-35/+31
|/
* Merge branch 'develop' into rav/enforce_report_apiRichard van der Hoff2018-07-1251-339/+338
|\
| * run isortAmber Brown2018-07-0950-307/+288
| |
| * Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-285-5/+8
| |
| * 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-252-3/+14
| | | | | | | | | | | | 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-222-14/+3
| | | | | | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
| * Merge pull request #3431 from matrix-org/rav/erasure_visibilityErik Johnston2018-06-222-3/+14
| |\ | | | | | | Support hiding events from deleted users
| | * mark accounts as erased when requestedRichard van der Hoff2018-06-122-3/+14
| | |
| * | Pass around the reactor explicitly (#3385)Amber Brown2018-06-222-3/+7
| | |
| * | Remove run_on_reactor (#3395)Amber Brown2018-06-143-17/+0
| |/
| * Merge pull request #3276 from matrix-org/dbkr/unbindDavid Baker2018-06-111-3/+10
| |\ | | | | | | Remove email addresses / phone numbers from ID servers when they're removed from synapse
| | * Merge remote-tracking branch 'origin/develop' into dbkr/unbindDavid Baker2018-05-241-3/+5
| | |\
| | * | pep8David Baker2018-05-241-1/+1
| | | |
| | * | Unbind 3pids when they're deleted tooDavid Baker2018-05-241-3/+10
| | | |
| * | | 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.
| * | | Consistently use six's iteritems and wrap lazy keys/values in list() if ↵Amber Brown2018-05-311-1/+1
| | | | | | | | | | | | | | | | they're not meant to be lazy (#3307)
* | | | Enforce the specified API for report_eventRichard van der Hoff2018-05-311-2/+23
|/ / / | | | | | | | | | | | | as per https://matrix.org/docs/spec/client_server/unstable.html#post-matrix-client-r0-rooms-roomid-report-eventid
* | | Merge pull request #3244 from NotAFile/py3-six-4Amber Brown2018-05-241-1/+2
|\ \ \ | | | | | | | | replace some iteritems with six
| * | | replace some iteritems with sixAdrian Tschira2018-05-191-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | Merge pull request #3247 from NotAFile/py3-miscAmber Brown2018-05-241-3/+5
|\ \ \ \ | |_|_|/ |/| | | Misc Python3 fixes
| * | | py3-ize url previewAdrian Tschira2018-05-191-3/+5
| |/ /
* | | Merge pull request #3243 from NotAFile/py3-six-3Erik Johnston2018-05-241-3/+5
|\ \ \ | |_|/ |/| | Replace some more comparisons with six
| * | 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>
* | Add a 'has_consented' template var to consent formsRichard van der Hoff2018-05-221-3/+14
| | | | | | | | fixes #3260
* | Enable auto-escaping for the consent templatesRichard van der Hoff2018-05-221-1/+4
| | | | | | | | ... to reduce the risk of somebody introducing an html injection attack...
* | Stub out ServerNoticesSender on the workersRichard van der Hoff2018-05-221-0/+4
| | | | | | | | | | ... and have the sync endpoints call it directly rather than obsure indirection via PresenceHandler
* | Move consent config parsing into ConsentConfigRichard van der Hoff2018-05-221-5/+3
| | | | | | | | turns out we need to reuse this, so it's better in the config class.
* | Rename 'version' param on user consent configRichard van der Hoff2018-05-221-1/+1
| | | | | | | | we're going to use it for the version we require too.
* | Fix logcontext leak in HttpTransactionCacheRichard van der Hoff2018-05-211-25/+21
| | | | | | | | ONE DAY I WILL PURGE THE WORLD OF THIS EVIL
* | Stop the transaction cache caching failuresRichard van der Hoff2018-05-211-9/+13
|/ | | | | | 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.
* 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.
* | Merge pull request #3213 from matrix-org/rav/consent_handlerRichard van der Hoff2018-05-162-0/+210
|\ \ | |/ |/| ConsentResource to gather policy consent from users
| * ConsentResource to gather policy consent from usersRichard van der Hoff2018-05-152-0/+210
| | | | | | | | | | Hopefully there are enough comments and docs in this that it makes sense on its own.
* | Set Server header in SynapseRequestRichard van der Hoff2018-05-109-14/+1
|/ | | | | | | | | | | | (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.
* Remove redundant request_handler decoratorRichard van der Hoff2018-05-105-29/+38
| | | | | | This is needless complexity; we might as well use the wrapper directly. Also rename wrap_request_handler->wrap_json_request_handler.
* notifications: Convert next_token to string according to the specKonstantinos Sideris2018-05-051-1/+1
| | | | | | Currently the parameter is serialized as an integer. Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com>
* Merge pull request #3161 from NotAFile/remove-v1authRichard van der Hoff2018-05-032-2/+6
|\ | | | | Make Client-Server API return 403 for invalid token
| * 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>
* | Fix logcontext leak in media repoRichard van der Hoff2018-05-022-1/+4
|/ | | | Make FileResponder.write_to_consumer uphold the logcontext contract
* add guard for None on purge_history apiKrombel2018-04-301-1/+14
|
* Merge pull request #3155 from NotAFile/py3-bytes-1Richard van der Hoff2018-04-301-3/+3
|\ | | | | more bytes strings
| * more bytes stringsAdrian Tschira2018-04-291-3/+3
| | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Merge pull request #3140 from matrix-org/rav/use_run_in_backgroundRichard van der Hoff2018-04-301-2/+3
|\ \ | | | | | | Use run_in_background in preference to preserve_fn
| * | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-271-2/+7
| |\|
| * | Use run_in_background in preference to preserve_fnRichard van der Hoff2018-04-271-2/+3
| | | | | | | | | | | | | | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object.
* | | Merge pull request #3156 from NotAFile/py3-hmac-bytesRichard van der Hoff2018-04-302-11/+15
|\ \ \ | | | | | | | | Construct HMAC as bytes on py3
| * | | Construct HMAC as bytes on py3Adrian Tschira2018-04-292-11/+15
| | |/ | |/| | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | Merge pull request #3108 from NotAFile/py3-six-urlparseRichard van der Hoff2018-04-304-7/+8
|\ \ \ | |/ / |/| | Use six.moves.urlparse
| * | Use six.moves.urlparseAdrian Tschira2018-04-154-7/+8
| |/ | | | | | | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* / Improve exception handling for background processesRichard van der Hoff2018-04-271-2/+7
|/ | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background.
* 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 #2996 from krombel/allow_auto_join_roomsRichard van der Hoff2018-04-101-32/+0
|\ \ | | | | | | move handling of auto_join_rooms to RegisterHandler
| * \ Merge branch 'develop' of into allow_auto_join_roomsKrombel2018-03-283-3/+3
| |\ \
| * | | move handling of auto_join_rooms to RegisterHandlerKrombel2018-03-141-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-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 #3073 from NotAFile/use-six-reraiseRichard van der Hoff2018-04-091-1/+3
|\ \ \ \ | | | | | | | | | | Replace old-style raise with six.reraise
| * | | | Replace old-style raise with six.reraiseAdrian Tschira2018-04-061-1/+3
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old style raise is invalid syntax in python3. As noted in the docs, this adds one more frame in the traceback, but I think this is acceptable: <ipython-input-7-bcc5cba3de3f> in <module>() 16 except: 17 pass ---> 18 six.reraise(*x) /usr/lib/python3.6/site-packages/six.py in reraise(tp, value, tb) 691 if value.__traceback__ is not tb: 692 raise value.with_traceback(tb) --> 693 raise value 694 finally: 695 value = None <ipython-input-7-bcc5cba3de3f> in <module>() 9 10 try: ---> 11 x() 12 except: 13 x = sys.exc_info() Also note that this uses six, which is not formally a dependency yet, but is included indirectly since most packages depend on it. 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
* | | | Use "/settings/" (plural)Luke Barnard2018-04-051-1/+1
| | | |
* | | | Use join_policy API instead of joinableLuke Barnard2018-04-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open".
* | | | This should probably be a PUTDavid Baker2018-03-281-1/+1
| | | |
* | | | Add joinability for groupsDavid Baker2018-03-281-0/+28
| |_|/ |/| | | | | | | | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table.
* | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-192-2/+2
|\ \ \
| * | | Replace ujson with simplejsonErik Johnston2018-03-153-3/+3
| | | |
* | | | Replace some ujson with simplejson to make it workErik Johnston2018-03-161-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-013-13/+15
| |
* | Make store_file use store_into_fileErik Johnston2018-02-141-26/+11
| |
* | 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 #2857 from matrix-org/erikj/upload_storeErik Johnston2018-02-121-0/+6
|\ \ \ | | | | | | | | Tell storage providers about new file so they can upload
| * | | Tell storage providers about new file so they can uploadErik Johnston2018-02-071-0/+6
| |/ /
* | | 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 pull request #2791 from matrix-org/erikj/media_storage_refactorErik Johnston2018-02-053-12/+47
|\ \ \ | | | | | | | | Ensure media is in local cache before thumbnailing
| * | | Use better file consumerErik Johnston2018-01-181-5/+10
| | | |
| * | | Ensure media is in local cache before thumbnailingErik Johnston2018-01-183-10/+40
| | | |
* | | | Merge pull request #2845 from matrix-org/rav/urlcache_error_handlingRichard van der Hoff2018-02-021-21/+34
|\ \ \ \ | | | | | | | | | | Handle url_previews with no content-type
| * | | | Handle url_previews with no content-typeRichard van der Hoff2018-02-021-21/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | avoid failing with an exception if the remote server doesn't give us a Content-Type header. Also, clean up the exception handling a bit.
* | | | | Merge branch 'develop' into travis/admin-list-mediaTravis Ralston2018-02-016-30/+138
|\| | | |
| * | | | fix thinko on 3pid whitelistingMatthew Hodgson2018-01-241-2/+2
| | | | |
| * | | | add ?ts massaging for ASes (#2754)Matthew Hodgson2018-01-231-6/+11
| | | | | | | | | | | | | | | blindly implement ?ts for AS. untested
| * | | | Add federation_domain_whitelist option (#2820)Matthew Hodgson2018-01-222-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add federation_domain_whitelist gives a way to restrict which domains your HS is allowed to federate with. useful mainly for gracefully preventing a private but internet-connected HS from trying to federate to the wider public Matrix network
| * | | | Merge pull request #2813 from matrix-org/matthew/registrations_require_3pidMatthew Hodgson2018-01-223-22/+102
| |\ \ \ \ | | | | | | | | | | | | add registrations_require_3pid and allow_local_3pids
| | * | | | fix typo (thanks sytest)Matthew Hodgson2018-01-191-1/+1
| | | | | |
| | * | | | oops, check all login typesMatthew Hodgson2018-01-191-14/+11
| | | | | |
| | * | | | trailing commasMatthew Hodgson2018-01-192-7/+7
| | | | | |
| | * | | | rewrite based on PR feedback:Matthew Hodgson2018-01-194-76/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ ] 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-193-19/+53
| | | | | |
| | * | | | fix pep8Matthew Hodgson2018-01-191-2/+1
| | | | | |
| | * | | | add registrations_require_3pidMatthew Hodgson2018-01-193-13/+96
| | | |/ / | | |/| | | | | | | | | | | | | | | | | lets homeservers specify a whitelist for 3PIDs that users are allowed to associate with. Typically useful for stopping people from registering with non-work emails
* | / | | 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>
* | | | Merge pull request #2814 from matrix-org/rav/fix_urlcache_thumbsRichard van der Hoff2018-01-191-0/+8
|\ \ \ \ | | | | | | | | | | Use the right path for url_preview thumbnails
| * | | | Use the right path for url_preview thumbnailsRichard van der Hoff2018-01-191-0/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | This was introduced by #2627: we were overwriting the original media for url previews with the thumbnails :/ (fixes https://github.com/vector-im/riot-web/issues/6012, hopefully)
* | | | Fix storage provider bug introduced when renamed to store_localErik Johnston2018-01-181-1/+1
| | | |
* | | | Merge pull request #2812 from matrix-org/erikj/media_storage_provider_configErik Johnston2018-01-182-20/+27
|\ \ \ \ | | | | | | | | | | Make storage providers configurable
| * | | | Missing staticmethodErik Johnston2018-01-181-0/+1
| | | | |
| * | | | Fixup commentsErik Johnston2018-01-181-2/+2
| | | | |
| * | | | Make storage providers more configurableErik Johnston2018-01-182-20/+26
| | |/ / | |/| |
* | | | Fix typo in thumbnail resource causing access times to be incorrectErik Johnston2018-01-181-2/+2
| |/ / |/| |
* | | Update last access time when thumbnails are viewedErik Johnston2018-01-171-0/+2
| | |
* | | Keep track of last access time for local mediaErik Johnston2018-01-171-7/+25
|/ /
* | Add docstringErik Johnston2018-01-171-1/+1
| |
* | Use local varsErik Johnston2018-01-161-6/+2
| |
* | Change _generate_thumbnails to take media_typeErik Johnston2018-01-162-7/+10
| |
* | Move setting of file_id up to callerErik Johnston2018-01-162-13/+14
| |
* | Fix typoErik Johnston2018-01-161-7/+10
| |
* | Fix up log linesErik Johnston2018-01-162-7/+10
| |
* | Correctly use server_name/file_id when generating/fetching remote thumbnailsErik Johnston2018-01-162-5/+8
| |
* | Log when we respond with 404Erik Johnston2018-01-162-1/+8
| |
* | Fix thumbnailing remote filesErik Johnston2018-01-162-2/+30
| |
* | Merge pull request #2767 from matrix-org/erikj/media_storage_refactorErik Johnston2018-01-167-346/+843
|\ \ | | | | | | Refactor MediaRepository to separate out storage
| * | Fix up commentsErik Johnston2018-01-122-7/+16
| | |
| * | Correctly reraise exceptionErik Johnston2018-01-121-2/+4
| | |
| * | Make Responder a context managerErik Johnston2018-01-122-9/+10
| | |
| * | Add missing class varErik Johnston2018-01-121-0/+3
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-01-121-3/+26
| |\ \ | | | | | | | | | | | | erikj/media_storage_refactor
| * | | Remove unnecessary conditionErik Johnston2018-01-121-4/+1
| | | |
| * | | Remove unused variablesErik Johnston2018-01-121-3/+0
| | | |
| * | | Make class var localErik Johnston2018-01-121-3/+3
| | | |
| * | | CommentsErik Johnston2018-01-123-15/+65
| | | |
| * | | Add StorageProvider conceptErik Johnston2018-01-093-9/+162
| | | |
| * | | Make PreviewUrlResource use MediaStorageErik Johnston2018-01-092-8/+14
| | | |
| * | | Make ThumbnailResource use MediaStorageErik Johnston2018-01-092-48/+68
| | | |
| * | | Use MediaStorage for remote mediaErik Johnston2018-01-092-136/+156
| | | |
| * | | Use MediaStorage for local filesErik Johnston2018-01-092-119/+73
| | | |
| * | | Add MediaStorage classErik Johnston2018-01-091-0/+198
| | | |
| * | | Add some helper classesErik Johnston2018-01-091-0/+73
| | | |
| * | | Split out add_file_headersErik Johnston2018-01-091-28/+42
| | | |
* | | | Reinstate media download on thumbnail requestRichard van der Hoff2018-01-121-0/+5
| |/ / |/| | | | | | | | | | | We need to actually download the remote media when we get a request for a thumbnail.
* | | Merge pull request #2766 from matrix-org/rav/room_eventRichard van der Hoff2018-01-111-3/+26
|\ \ \ | |/ / |/| | Add /room/{id}/event/{id} to synapse
| * | 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.
* | | Remove dead TODOErik Johnston2018-01-091-2/+0
| | |
* | | Remove dead code related to default thumbnailsErik Johnston2018-01-091-73/+3
|/ /
* / Better logging when login can't find a 3pidRichard van der Hoff2017-12-201-4/+10
|/
* Fix error when deleting devicesRichard van der Hoff2017-12-051-1/+1
| | | | This was introduced in d7ea8c4 / PR #2728
* Factor out a validate_user_via_ui_auth methodRichard van der Hoff2017-12-052-74/+59
| | | | Collect together all the places that validate a logged-in user via UI auth.
* Refactor UI auth implementationRichard van der Hoff2017-12-054-27/+51
| | | | | Instead of returning False when auth is incomplete, throw an exception which can be caught with a wrapper.
* 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-292-3/+4
| | | | | | 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-292-5/+6
| | | | | | 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.
* Allow guest access to group APIs for readingLuke Barnard2017-11-281-11/+11
|
* Merge pull request #2697 from matrix-org/rav/fix_urlcache_index_errorRichard van der Hoff2017-11-271-3/+7
|\ | | | | Fix error on sqlite 3.7
| * Check database in has_completed_background_updatesRichard van der Hoff2017-11-221-1/+1
| | | | | | | | so that the right thing happens on workers.
| * Fix error on sqlite 3.7Richard van der Hoff2017-11-211-3/+7
| | | | | | | | | | | | | | | | | | | | | | Create the url_cache index on local_media_repository as a background update, so that we can detect whether we are on sqlite or not and create a partial or complete index accordingly. To avoid running the cleanup job before we have built the index, add a bailout which will defer the cleanup if the bg updates are still running. Fixes https://github.com/matrix-org/synapse/issues/2572.
* | Fix OPTIONS on preview_urlRichard van der Hoff2017-11-231-1/+5
|/ | | | Fixes #2706
* Declare support for r0.3.0Richard van der Hoff2017-11-151-0/+1
|
* Merge pull request #2668 from turt2live/travis/whoamiRichard van der Hoff2017-11-141-0/+15
|\ | | | | Add a route for determining who you are
| * Remove redundent callTravis Ralston2017-11-131-2/+0
| | | | | | Signed-off-by: Travis Ralston <travpc@gmail.com>
| * Add a route for determining who you areTravis Ralston2017-11-121-0/+17
| | | | | | | | | | Useful for applications which may have an access token, but no idea as to who owns it. Signed-off-by: Travis Ralston <travpc@gmail.com>
* | Bit more loggingRichard van der Hoff2017-11-101-0/+2
| |
* | Cache failures in url_preview handlerRichard van der Hoff2017-11-101-41/+45
|/ | | | | Reshuffle the caching logic in the url_preview handler so that failures are cached (and to generally simplify things and fix the logcontext leaks).
* Add some more comments appservice user registrationRichard van der Hoff2017-11-101-1/+4
| | | | Explain why we don't validate userids registered via app services
* Downcase userids for shared-secret registrationRichard van der Hoff2017-11-102-3/+21
|
* Downcase userid on registrationRichard van der Hoff2017-11-091-1/+7
| | | | | | Force username to lowercase before attempting to register https://github.com/matrix-org/synapse/issues/2660
* Register group servletErik Johnston2017-11-091-0/+1
|
* Have an explicit API to update room configErik Johnston2017-11-081-0/+27
|
* Revert "Modify group room association API to allow modification of is_public"Erik Johnston2017-11-081-2/+2
|
* Merge pull request #2576 from maximevaillancourt/exclude-noscript-url-previewMatthew Hodgson2017-11-071-1/+8
|\ | | | | Ignore <noscript> tags when generating URL preview descriptions
| * Ignore noscript tags when generating URL previewsMaxime Vaillancourt2017-10-251-1/+8
| |
* | support inhibit_login in /registerRichard van der Hoff2017-11-021-12/+16
| | | | | | | | Allow things to pass inhibit_login when registering to ... inhibit logins.
* | 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-013-6/+12
|\ \ | | | | | | | | | rav/refactor_accesstoken_delete
| * \ Merge pull request #2615 from matrix-org/rav/break_auth_device_depDavid Baker2017-11-012-4/+0
| |\ \ | | | | | | | | Break dependency of auth_handler on device_handler
| | * | Break dependency of auth_handler on device_handlerRichard van der Hoff2017-11-012-4/+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
| * | | Modify group room association API to allow modification of is_publicLuke Barnard2017-10-311-2/+2
| |/ / | | | | | | | | | also includes renamings to make things more consistent.
* / / Move access token deletion into auth handlerRichard van der Hoff2017-11-013-22/+10
|/ / | | | | | | | | | | | | 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.
* | Merge pull request #2591 from matrix-org/rav/device_delete_authRichard van der Hoff2017-10-271-5/+8
|\ \ | | | | | | Device deletion: check UI auth matches access token
| * | Device deletion: check UI auth matches access tokenRichard van der Hoff2017-10-271-5/+8
| | | | | | | | | | | | (otherwise there's no point in the UI auth)
* | | Merge pull request #2589 from matrix-org/rav/as_deactivate_accountRichard van der Hoff2017-10-271-16/+32
|\ \ \ | | | | | | | | Allow ASes to deactivate their own users
| * | | Allow ASes to deactivate their own usersRichard van der Hoff2017-10-271-16/+32
| | |/ | |/|
* | | Merge pull request #2582 from matrix-org/luke/group-is-publicLuke Barnard2017-10-271-40/+53
|\ \ \ | |_|/ |/| | Add is_public to groups table to allow for private groups
| * | delintLuke Barnard2017-10-261-4/+17
| | |
| * | Add is_public to groups table to allow for private groupsLuke Barnard2017-10-261-40/+40
| |/ | | | | | | | | | | Prevent group API access to non-members for private groups Also make all the group code paths consistent with `requester_user_id` always being the User ID of the requesting user.
* | add release endpoints for /thirdpartyKrombel2017-10-261-7/+4
| |
* | register some /unstable endpoints in /r0 as wellKrombel2017-10-264-20/+9
|/
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-2311-16/+16
| | | | what could possibly go wrong
* Fix a logcontext leak in the media repoRichard van der Hoff2017-10-231-1/+4
|
* Remove pointless create() methodRichard van der Hoff2017-10-202-4/+4
| | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths.