summary refs log tree commit diff
path: root/synapse/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add a timeout parameter for end2end key queries.Mark Haines2016-09-121-26/+51
| | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s.
* 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-095-20/+16
|\ | | | | Add helper function for getting access_tokens from requests
| * Add helper function for getting access_tokens from requestsMark Haines2016-09-095-20/+16
| | | | | | | | | | | | 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.
* | Merge pull request #1091 from matrix-org/paul/third-party-lookupPaul Evans2016-09-091-0/+24
|\ \ | | | | | | Improvements to 3PE lookup API
| * | appease pep8Paul "LeoNerd" Evans2016-09-091-1/+2
| | |
| * | Python isn't JavaScript; have to quote dict keysPaul "LeoNerd" Evans2016-09-091-1/+1
| | |
| * | Efficiency fix for lookups of a single protocolPaul "LeoNerd" Evans2016-09-091-1/+3
| | |
| * | Allow lookup of a single 3PE protocol query metadataPaul "LeoNerd" Evans2016-09-091-0/+21
| | |
* | | 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
| |/ |/|
* | Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlightMatthew Hodgson2016-09-091-1/+2
|\ \ | |/ |/| Implement `only=highlight` on `/notifications`
| * Implement `only=highlight` on `/notifications`David Baker2016-09-081-1/+2
| |
* | Merge pull request #1082 from matrix-org/erikj/remote_public_roomsErik Johnston2016-09-081-6/+17
|\ \ | | | | | | Add server param to /publicRooms
| * | Use parse_stringErik Johnston2016-09-081-2/+2
| | |
| * | Add server param to /publicRoomsErik Johnston2016-09-081-5/+16
| |/
* | Merge branch 'develop' into markjh/direct_to_device_federationMark Haines2016-09-081-1/+8
|\|
| * Add quotes and be explicity about script-srcErik Johnston2016-09-051-1/+2
| |
| * Allow PDF to be rendered from media repoErik Johnston2016-09-051-1/+7
| |
* | Send device messages over federationMark Haines2016-09-061-26/+7
|/
* Fix up the calls to the notifier for device messagesMark Haines2016-09-011-1/+1
|
* Add a replication stream for direct to device messagesMark Haines2016-08-311-2/+8
|
* Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-261-1/+1
|\
| * Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵Paul "LeoNerd" Evans2016-08-251-1/+1
| | | | | | | | the value is significant
* | Merge branch 'develop' into markjh/direct_to_deviceMark Haines2016-08-252-4/+21
|\|
| * Merge pull request #1041 from matrix-org/paul/third-party-lookupPaul Evans2016-08-251-2/+20
| |\ | | | | | | Extend 3PE lookup APIs for metadata query
| | * Move static knowledge of protocol metadata into AS handler; cache the resultPaul "LeoNerd" Evans2016-08-241-20/+1
| | |
| | * Declare 'gitter' known protocol, with user lookupPaul "LeoNerd" Evans2016-08-241-0/+3
| | |
| | * Initial hack at the 3PN protocols metadata lookup APIPaul "LeoNerd" Evans2016-08-241-0/+34
| | |
| | * Move 3PU/3PL lookup APIs into /thirdparty containing entityPaul "LeoNerd" Evans2016-08-241-2/+2
| | |
| * | Preserve some logcontextsErik Johnston2016-08-241-2/+1
| |/
* | Add some TODOsMark Haines2016-08-251-0/+4
| |
* | Fix the deduplication of incoming direct-to-device messagesMark Haines2016-08-251-1/+12
| |
* | Add store-and-forward direct-to-device messagingMark Haines2016-08-253-3/+77
|/
* 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.
* Merge branch 'develop' into dbkr/notifications_apiMatthew Hodgson2016-08-202-0/+80
|\
| * Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵Paul "LeoNerd" Evans2016-08-181-2/+7
| | | | | | | | ThirdPartyEntityKind enumeration
| * Authenticate 3PE lookup requestsPaul "LeoNerd" Evans2016-08-181-0/+6
| |
| * Copypasta the 3PU support code to also do 3PLPaul "LeoNerd" Evans2016-08-181-0/+20
| |
| * Remove TODO note about request fields being strings - they're always stringsPaul "LeoNerd" Evans2016-08-181-2/+0
| |
| * Merge remote-tracking branch 'origin/develop' into paul/thirdpartylookupPaul "LeoNerd" Evans2016-08-1811-164/+285
| |\
| * | Ensure that 3PU lookup request fields actually get passed inPaul "LeoNerd" Evans2016-08-181-1/+5
| | |
| * | Thread 3PU lookup through as far as the AS API object; which currently noöps itPaul "LeoNerd" Evans2016-08-171-2/+9
| | |
| * | Initial empty implementation that just registers an API endpoint handlerPaul "LeoNerd" Evans2016-08-172-0/+40
| | |
* | | Use tuple comparisonDavid Baker2016-08-181-4/+3
| | | | | | | | | | | | Hopefully easier to read
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_apiDavid Baker2016-08-1812-165/+286
|\ \ \ | | |/ | |/|
| * | Set `Content-Security-Policy` on media repoErik Johnston2016-08-171-0/+1
| | | | | | | | | | | | | | | This is to inform browsers that they should sandbox the returned media. This is particularly cruical for javascript/HTML files.
| * | Add None check to _iterate_over_textErik Johnston2016-08-171-1/+1
| | |
| * | Flake8Erik Johnston2016-08-161-4/+1
| | |
| * | Fix up preview URL API. Add tests.Erik Johnston2016-08-161-157/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | This includes: - Splitting out methods of a class into stand alone functions, to make them easier to test. - Adding unit tests to split out functions, testing HTML -> preview. - Handle the fact that elements in lxml may have tail text.
| * | 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.
| * Don't change status_msg on /syncWill Hunt2016-08-101-1/+1
| |
* | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_apiDavid Baker2016-08-1122-534/+973
|\|
| * Don't print stack traces when failing to get remote keysErik Johnston2016-08-101-1/+3
| |
| * 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.
| * Don't include html comments in descriptionErik Johnston2016-08-051-1/+2
| |
| * TypoErik Johnston2016-08-041-1/+1
| |
| * Test summarizationErik Johnston2016-08-041-52/+54
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/xpath_fixErik Johnston2016-08-041-42/+8
| |\
| | * Merge branch 'rav/null_default_device_displayname' into developRichard van der Hoff2016-08-031-3/+1
| | |\
| | | * Default device_display_name to nullRichard van der Hoff2016-08-031-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | It turns out that it's more useful to return a null device display name (and let clients decide how to handle it: eg, falling back to device_id) than using a constant string like "unknown device".
| | * | Merge branch 'develop' into rav/refactor_device_queryMark Haines2016-08-031-9/+7
| | |\|
| | * | Move e2e query logic into a handlerRichard van der Hoff2016-08-011-39/+7
| | | |
| * | | Don't infer paragrahs from newlinesErik Johnston2016-08-021-2/+1
| | | |
| * | | Comment on why we cloneErik Johnston2016-08-021-0/+1
| | | |
| * | | Spelling.Erik Johnston2016-08-021-3/+3
| | | |
| * | | Make it actually compileErik Johnston2016-08-021-1/+1
| | | |
| * | | Change the way we summarize URLsErik Johnston2016-08-021-11/+67
| | |/ | |/| | | | | | | | | | | | | | | | | | | Using XPath is slow on some machines (for unknown reasons), so use a different approach to get a list of text nodes. Try to generate a summary that respect paragraph and then word boundaries, adding ellipses when appropriate.
| * | Fix adding emails on registrationDavid Baker2016-07-291-9/+7
| |/ | | | | | | Synapse was not adding email addresses to accounts registered with an email address, due to too many different variables called 'result'. Rename both of them. Also remove the defer.returnValue() with no params because that's not a thing.
| * Add r0.1.0 to the "supported versions" listRichard van der Hoff2016-07-281-0/+1
| |
| * Add r0.2.0 to the "supported versions" listRichard van der Hoff2016-07-281-1/+4
| |
| * key upload tweaksRichard van der Hoff2016-07-271-7/+5
| | | | | | | | | | | | | | 1. Add v2_alpha URL back in, since things seem to be using it. 2. Don't reject the request if the device_id in the upload request fails to match that in the access_token.
| * Delete e2e keys on device deleteRichard van der Hoff2016-07-271-4/+9
| |
| * Make the device id on e2e key upload optionalRichard van der Hoff2016-07-261-12/+35
| | | | | | | | | | | | | | | | | | | | | | | | We should now be able to get our device_id from the access_token, so the device_id on the upload request is optional. Where it is supplied, we should check that it matches. For active access_tokens without an associated device_id, we ought to register the device in the devices table. Also update the table on upgrade so that all of the existing e2e keys are associated with real devices.
| * Add `create_requester` functionRichard van der Hoff2016-07-261-6/+4
| | | | | | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
| * Implement updating devicesRichard van der Hoff2016-07-261-7/+17
| | | | | | | | You can update the displayname of devices now.
| * Implement deleting devicesRichard van der Hoff2016-07-263-8/+29
| |
| * Merge pull request #943 from matrix-org/rav/get_device_apiDavid Baker2016-07-211-0/+25
| |\ | | | | | | Implement GET /device/{deviceId}
| | * Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-0/+25
| | |
| * | Merge pull request #942 from matrix-org/rav/fix_register_deviceidDavid Baker2016-07-211-11/+10
| |\ \ | | |/ | |/| Preserve device_id from first call to /register
| | * Preserve device_id from first call to /registerRichard van der Hoff2016-07-211-11/+10
| | | | | | | | | | | | | | | device_id may only be passed in the first call to /register, so make sure we fish it out of the register `params` rather than the body of the final call.
| * | Merge branch 'develop' into rav/get_devices_apiRichard van der Hoff2016-07-201-15/+39
| |\| | | | | | | | | | (pick up PR #938 in the hope of fixing the UTs)
| | * Register a device_id in the /v2/register flow.Richard van der Hoff2016-07-201-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | GET /devices endpointRichard van der Hoff2016-07-203-4/+62
| |/ | | | | | | | | | | | | implement a GET /devices endpoint which lists all of the user's devices. It also returns the last IP where we saw that device, so there is some dancing to fish that out of the user_ips table.
| * Merge pull request #933 from matrix-org/rav/type_annotationsRichard van der Hoff2016-07-203-0/+17
| |\ | | | | | | Type annotations
| | * Type annotationsRichard van der Hoff2016-07-193-0/+17
| | | | | | | | | | | | | | | 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-202-14/+40
| |\ \ | | | | | | | | Further registration refactoring
| | * | Further registration refactoringRichard van der Hoff2016-07-192-14/+40
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `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
| | |
| * | Merge pull request #931 from matrix-org/rav/refactor_registerDavid Baker2016-07-191-78/+102
| |\ \ | | | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat.
| | * | Don't bind email unless threepid contains expected fieldsRichard van der Hoff2016-07-191-28/+25
| | | |
| | * | rest/client/v2_alpha/register.py: Refactor flow somewhat.Richard van der Hoff2016-07-191-75/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Add device_id support to /loginRichard van der Hoff2016-07-182-6/+43
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Merge pull request #928 from matrix-org/rav/refactor_loginRichard van der Hoff2016-07-181-18/+23
| |\ \ | | | | | | | | Refactor login flow
| | * | 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.
| * | | Use body.get to check for 'user'Will Hunt2016-07-161-2/+1
| | | |
| * | | Fall back to 'username' if 'user' is not given for appservice reg.Will Hunt2016-07-161-3/+5
| |/ /
| * | Merge pull request #921 from matrix-org/erikj/account_deactivateErik Johnston2016-07-141-0/+44
| |\ \ | | | | | | | | Feature: Add an /account/deactivate endpoint
| | * | Add hs objectErik Johnston2016-07-141-0/+1
| | | |
| | * | Only accept password authErik Johnston2016-07-141-12/+0
| | | |
| | * | Add an /account/deactivate endpointErik Johnston2016-07-141-0/+55
| | |/
| * | Merge pull request #918 from negzi/bugfix_for_token_expiryErik Johnston2016-07-141-1/+1
| |\ \ | | |/ | |/| Bug fix: expire invalid access tokens
| | * Bug fix: expire invalid access tokensNegar Fazeli2016-07-131-1/+1
| | |
| * | be more pythonicDavid Baker2016-07-121-1/+1
| | |
| * | on_OPTIONS isn't neccessaryDavid Baker2016-07-122-10/+1
| | |
| * | Remove other debug loggingDavid Baker2016-07-121-2/+0
| | |
| * | Separate out requestTokens to separate handlersDavid Baker2016-07-112-65/+93
| | |
| * | Oops, remove debug loggingDavid Baker2016-07-111-4/+0
| | |
| * | Implement https://github.com/matrix-org/matrix-doc/pull/346/filesDavid Baker2016-07-081-0/+59
| |/
| * 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>`
| * Remove raceErik Johnston2016-06-291-11/+0
| |
| * Implement purge_media_cache admin APIErik Johnston2016-06-293-20/+96
| |
| * Track approximate last access time for remote mediaErik Johnston2016-06-291-0/+24
| |
| * Remove the legacy v0 content upload API.Mark Haines2016-06-211-110/+2
| | | | | | | | | | | | The existing content can still be downloaded. The last upload to the matrix.org server was in January 2015, so it is probably safe to remove the upload API.
| * Line lengthsErik Johnston2016-06-151-3/+3
| |
| * Handle floats as img widthsErik Johnston2016-06-151-1/+1
| |
| * Handle og props with not contentErik Johnston2016-06-151-1/+2
| |
| * 502 on /thumbnail when can't contact remote serverErik Johnston2016-06-091-4/+10
| |
| * 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-025-10/+11
| |\
| | * Split out the auth handlerDavid Baker2016-06-025-10/+11
| | |
| * | 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.
* | Include the ts the notif was received atDavid Baker2016-05-241-0/+1
| |
* | Actually make the 'read' flag correctDavid Baker2016-05-231-4/+3
| |
* | Add GET /notifications APIDavid Baker2016-05-232-0/+102
|/
* 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 SyncHandler out of the Handlers objectMark Haines2016-05-161-2/+1
|
* Move the presence handler out of the Handlers objectMark Haines2016-05-164-9/+17
|
* Clean up the blacklist/whitelist handling.Mark Haines2016-05-161-33/+30
| | | | | | | Always set the config key with an empty list, even if a list isn't specified. This means that the codepaths are the same for both the empty list and for a missing key. Since the behaviour is the same for both cases this makes the code somewhat easier to reason about.
* 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>
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-05-103-0/+159
|\
| * Rename openid/token to openid/request_tokenMark Haines2016-05-051-2/+2
| |
| * Add an openidish mechanism for proving to third parties that you own a given ↵Mark Haines2016-05-052-0/+98
| | | | | | | | user_id
| * Add timestamp and auto incrementing IDErik Johnston2016-05-041-0/+2
| |
| * Move event_id to pathErik Johnston2016-05-041-4/+2
| |
| * Add /report endpointErik Johnston2016-05-042-0/+61
| |
* | More consistent config namingDavid Baker2016-05-101-1/+1
| |
* | Add config option to not send email notifs for new usersDavid Baker2016-05-101-1/+4
| |
* | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-0/+1
|\|
| * Fix password resetDavid Baker2016-04-291-0/+1
| | | | | | | | Default requester to None, otherwise it isn't defined when resetting using email auth
* | Add an email pusher for new usersDavid Baker2016-04-291-0/+26
|/ | | | If they registered with an email address and email notifs are enabled on the HS
* Report per request metrics for all of the things using request_handlerMark Haines2016-04-286-7/+9
|
* 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
| |
* | Add self.media_repo to PreviewUrlResourceErik Johnston2016-04-191-0/+1
| |
* | _make_dirs was moved to MediaRepositoryErik Johnston2016-04-191-1/+1
| |
* | Add store to PreviewUrlResourceErik Johnston2016-04-191-0/+1
| |
* | Reorder importsErik Johnston2016-04-191-7/+8
| |
* | Move MediaRepository to media_repository moduleErik Johnston2016-04-195-489/+496
| |
* | Split out BaseMediaResource into MediaRepositoryErik Johnston2016-04-196-138/+180
| | | | | | | | | | | | | | | | | | This is so that a single MediaRepository can be shared across all resources, rather than having a "copy" per resource. In particular this allows us to guard against both the thumbnail and download resource triggering a download of remote content at the same time.
* | explicitly pass in the charset from Content-Type to lxml to fix cyrillic ↵Matthew Hodgson2016-04-151-6/+18
| | | | | | | | woes better
* | fix cyrillic URL previews by hardcoding all page decoding to UTF-8 for now, ↵Matthew Hodgson2016-04-151-16/+8
| | | | | | | | rather than relying on lxml's heuristics which seem to get it wrong
* | fix urlparse import thinko breaking tiny URLsMatthew Hodgson2016-04-141-5/+5
| |
* | Make v2_alpha reg follow the AS API specificationKegan Dougal2016-04-141-0/+5
| | | | | | | | | | | | The spec is clear the key should be 'user' not 'username' and this is indeed the case for v1. This is not true for v2_alpha though, which is what this commit is fixing.
* | comment out 2c838f6459db35ad9812a83184d85a06ca5d940a due to risk of ↵Matthew Hodgson2016-04-141-16/+16
| | | | | | | | https://en.wikipedia.org/wiki/Billion_laughs attacks - thanks @torhve
* | Sanitize the optional dependencies for spider APIErik Johnston2016-04-132-27/+3
| |
* | 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
* | PEP8Erik Johnston2016-04-111-1/+0
| |
* | fix typos and needless try/except from PR reviewMatthew Hodgson2016-04-111-143/+140
| |
* | actually throw meaningful errorsMatthew Hodgson2016-04-081-9/+24
| |
* | Fix pep8 warningMark Haines2016-04-081-3/+4
| |
* | more PR feedbackMatthew Hodgson2016-04-081-4/+8
| |
* | Add url_preview_enabled config option to turn on/off preview_url endpoint. ↵Matthew Hodgson2016-04-082-18/+64
| | | | | | | | | | | | | | | | | | defaults to off. Add url_preview_ip_range_blacklist to let admins specify internal IP ranges that must not be spidered. Add url_preview_url_blacklist to let admins specify URL patterns that must not be spidered. Implement a custom SpiderEndpoint and associated support classes to implement url_preview_ip_range_blacklist Add commentary and generally address PR feedback
* | Merge branch 'develop' into matthew/preview_urlsMatthew Hodgson2016-04-043-36/+133
|\|
| * Use google style doc strings.Mark Haines2016-04-011-36/+43
| | | | | | | | | | | | | | pycharm supports them so there is no need to use the other format. Might as well convert the existing strings to reduce the risk of people accidentally cargo culting the wrong doc string format.
| * 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
| |
* | report image size (bytewise) in OG metaMatthew Hodgson2016-04-031-0/+2
| |
* | char encodingMatthew Hodgson2016-04-031-0/+1
| |
* | pep8Matthew Hodgson2016-04-032-55/+73
| |
* | fix etag typing error. fix timestamp typing errorMatthew Hodgson2016-04-031-2/+2
| |
* | rebase all image URLsMatthew Hodgson2016-04-031-4/+4
| |
* | remove stale todoMatthew Hodgson2016-04-031-3/+0
| |
* | Ensure only one download for a given URL is active at a timeMatthew Hodgson2016-04-031-1/+18
| |
* | add a persistent cache of URL lookups, and fix up the in-memory one to workMatthew Hodgson2016-04-031-10/+54
| |
* | support gzip compression, and don't pass through error msgsMatthew Hodgson2016-04-021-2/+3
| |
* | how was _respond_default_thumbnail ever meant to work?Matthew Hodgson2016-04-021-0/+2
| |
* | pass back SVGs as their own thumbnailsMatthew Hodgson2016-04-021-0/+20
| |
* | handle missing dimensions without crashingMatthew Hodgson2016-04-021-4/+13
| |
* | make meta comparisons case insensitiveMatthew Hodgson2016-04-021-2/+2
| |
* | refactor calc_og; spider image URLs; fix xpath; add a (broken) ↵Matthew Hodgson2016-04-021-81/+121
| | | | | | | | expiringcache; loads of other fixes
* | fix assorted redirect, unicode and screenscraping bugsMatthew Hodgson2016-04-011-78/+96
| |
* | handle spidered relative images correctlyMatthew Hodgson2016-03-311-2/+12
| |
* | prevent choking on invalid utf-8, and handle image thumbnailing smarterMatthew Hodgson2016-03-311-5/+18
| |
* | synthesise basig OG metadata from pages lacking itMatthew Hodgson2016-03-311-0/+47
| |
* | handle requests with missing content-length headers (e.g. YouTube)Matthew Hodgson2016-03-311-2/+2
| |
* | fix bugsMatthew Hodgson2016-03-291-5/+6
| |
* | debugMatthew Hodgson2016-03-291-3/+2
| |
* | make it workMatthew Hodgson2016-03-292-55/+77
| |
* | make it buildMatthew Hodgson2016-03-291-8/+9
| |
* | Merge branch 'develop' into matthew/preview_urlsMatthew Hodgson2016-03-292-0/+45
|\|
| * Deduplicate identical /sync requestsMark Haines2016-03-241-0/+3
| |
| * Add published room list edit APIErik Johnston2016-03-211-0/+42
| |
* | Merge branch 'develop' into matthew/preview_urlsMatthew Hodgson2016-03-2728-661/+466
|\|
| * Merge pull request #652 from matrix-org/erikj/delete_aliasErik Johnston2016-03-181-1/+2
| |\ | | | | | | Update aliases event after deletion
| | * 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.
| * | remove debug loggingDavid Baker2016-03-161-3/+0
| | |
| * | Unused importDavid Baker2016-03-161-1/+0
| | |
| * | Make registration idempotent, part 2: be idempotent if the client specifies ↵David Baker2016-03-161-5/+17
| |/ | | | | | | a username.
| * take extra return val from check_auth in account tooDavid Baker2016-03-161-1/+1
| |
| * pep8 & remove debug loggingDavid Baker2016-03-161-4/+5
| |
| * Make registration idempotent: if you specify the same session, make it give ↵David Baker2016-03-161-1/+26
| | | | | | | | you an access token for the user that was registered on previous uses of that session. Tweak the UI auth layer to not delete sessions when their auth has completed and hence expire themn so they don't hang around until server restart. Allow server-side data to be associated with UI auth sessions.
| * 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-112-0/+74
| |\ | | | | | | Implement logout
| | * Implement logoutErik Johnston2016-03-112-0/+74
| | |
| * | Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-118-81/+31
| |/
| * Fix cache invalidation so deleting access tokens (which we did when changing ↵David Baker2016-03-111-1/+1
| | | | | | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54
| * Register endpoint returns refresh_tokenblide2016-03-101-5/+8
| | | | | | | | Guest registration still doesn't return refresh_token
| * Add a parse_json_object functionMark Haines2016-03-0910-116/+32
| | | | | | | | | | 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
| |