summary refs log tree commit diff
path: root/synapse/api (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use CodeMessageException subclass insteadDavid Baker2017-04-251-0/+11
| | | | | Parse json errors from get_json client methods and throw special errors.
* use jsonschema.FormatChecker for RoomID and UserID stringspik2017-03-231-18/+27
| | | | | | * use a valid filter in rest/client/v2_alpha test Signed-off-by: pik <alexander.maznev@gmail.com>
* Add valid filter tests, flake8, fix typopik2017-03-231-5/+6
| | | | Signed-off-by: pik <alexander.maznev@gmail.com>
* check_valid_filter using JSONSchemapik2017-03-231-93/+158
| | | | | | * add invalid filter tests Signed-off-by: pik <alexander.maznev@gmail.com>
* Fix a couple of logcontext leaksRichard van der Hoff2017-03-231-3/+2
| | | | | Use preserve_fn to correctly manage the logcontexts around things we don't want to yield on.
* CommentErik Johnston2017-03-151-1/+3
|
* CommentErik Johnston2017-03-151-0/+3
|
* Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-151-10/+22
|
* Merge pull request #1994 from matrix-org/dbkr/msisdn_signin_2Erik Johnston2017-03-151-0/+2
|\ | | | | Phone number registration / login support v2
| * Support registration / login with phone numberDavid Baker2017-03-131-0/+2
| | | | | | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* | Address review commentsRichard van der Hoff2017-03-141-5/+14
| | | | | | | | | | | | | | - don't blindly proxy all HTTPRequestExceptions - log unexpected exceptions at error - avoid `isinstance` - improve docs on `from_http_response_exception`
* | re-refactor exception heirarchyRichard van der Hoff2017-03-141-16/+14
| | | | | | | | | | Give CodeMessageException back its `msg` attribute, and use that to hold the HTTP status message for HttpResponseException.
* | Fix routing loop when fetching remote mediaRichard van der Hoff2017-03-131-7/+52
|/ | | | | | | | | | | When we proxy a media request to a remote server, add a query-param, which will tell the remote server to 404 if it doesn't recognise the server_name. This should fix a routing loop where the server keeps forwarding back to itself. Also improves the error handling on remote media fetches, so that we don't always return a rather obscure 502.
* Revert "Support registration & login with phone number"Erik Johnston2017-03-131-2/+0
|
* WIP support for msisdn 3pid proxy methodsDavid Baker2017-02-141-0/+2
|
* Remove a few aspirational but unused constantsDavid Baker2017-02-081-3/+0
| | | | from the Kegan era
* Change resolve_state_groups call site logging to DEBUGErik Johnston2017-01-171-1/+1
|
* Remove unused functionErik Johnston2017-01-131-3/+0
|
* Split event auth code into seperate moduleErik Johnston2017-01-131-645/+9
|
* Split out static auth methods from Auth objectErik Johnston2017-01-101-419/+495
|
* Fix flake8 and update changelog v0.18.6-rc3Mark Haines2017-01-051-1/+1
|
* add logging for all the places we call resolve_state_groups. my kingdom for ↵Matthew Hodgson2017-01-051-0/+1
| | | | a backtrace that actually works.
* Prevent user tokens being used as guest tokens (#1675)Richard van der Hoff2016-12-061-15/+36
| | | | | Make sure that a user cannot pretend to be a guest by adding 'guest = True' caveats.
* Rip out more refresh_token codeRichard van der Hoff2016-11-301-3/+2
| | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema.
* Merge pull request #1656 from matrix-org/rav/remove_time_caveatRichard van der Hoff2016-11-301-3/+13
|\ | | | | Stop putting a time caveat on access tokens
| * CommentsRichard van der Hoff2016-11-301-3/+9
| | | | | | | | Update comments in verify_macaroon
| * Stop putting a time caveat on access tokensRichard van der Hoff2016-11-291-0/+4
| | | | | | | | | | | | | | | | 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.
* | Merge pull request #1653 from matrix-org/rav/guest_e2eRichard van der Hoff2016-11-291-1/+5
|\ \ | |/ |/| Implement E2E for guests
| * Give guest users a device_idRichard van der Hoff2016-11-251-1/+5
| | | | | | | | | | We need to create devices for guests so that they can use e2e, but we don't have anywhere to store it, so just use a fixed one.
* | Merge pull request #1655 from matrix-org/rav/remove_redundant_macaroon_checksRichard van der Hoff2016-11-251-26/+8
|\ \ | | | | | | Remove redundant list of known caveat prefixes
| * | Remove redundant list of known caveat prefixesRichard van der Hoff2016-11-241-26/+8
| |/ | | | | | | Also add some comments.
* / Return early on /sync code paths if a '*' filter is usedKegan Dougal2016-11-221-0/+29
|/ | | | | | | | This is currently very conservative in that it only does this if there is no `since` token. This limits the risk to clients likely to be doing one-off syncs (like bridges), but does mean that normal human clients won't benefit from the time savings here. If the savings are large enough, I would consider generalising this to just check the filter.
* Merge pull request #1638 from matrix-org/kegan/sync-event-fieldsKegsay2016-11-221-0/+16
|\ | | | | Implement "event_fields" in filters
| * Glue only_event_fields into the sync rest servletKegan Dougal2016-11-221-0/+1
| |
| * Move event_fields filtering to serialize_eventKegan Dougal2016-11-211-55/+1
| | | | | | | | Also make it an inclusive not exclusive filter, as the spec demands.
| * Add filter_event_fields and filter_field to FilterCollectionKegan Dougal2016-11-211-0/+69
| |
* | Fail with a coherent error message if `/sync?filter=` is invalidKegan Dougal2016-11-211-0/+1
|/
* Merge pull request #1098 from matrix-org/markjh/bearer_tokenMark Haines2016-10-251-9/+37
|\ | | | | Allow clients to supply access_tokens as headers
| * Fix unit testsMark Haines2016-09-121-1/+1
| |
| * Allow clients to supply access_tokens as headersMark Haines2016-09-091-9/+37
| | | | | | | | | | | | | | | | | | | | Clients can continue to supply access tokens as query parameters or can supply the token as a header: Authorization: Bearer <access_token_goes_here> This matches the ouath2 format of https://tools.ietf.org/html/rfc6750#section-2.1
* | Merge pull request #1175 from ↵Luke Barnard2016-10-201-7/+10
|\ \ | | | | | | | | | | | | matrix-org/luke/feature-configurable-as-rate-limiting Allow Configurable Rate Limiting Per AS
| * | Closing brace on following lineLuke Barnard2016-10-201-1/+2
| | |
| * | as_user->app_service, less redundant comments, better positioned commentsLuke Barnard2016-10-201-3/+3
| | |
| * | flake8Luke Barnard2016-10-201-1/+3
| | |
| * | Use real AS object by passing it through the requesterLuke Barnard2016-10-201-7/+7
| | | | | | | | | | | | This means synapse does not have to check if the AS is interested, but instead it effectively re-uses what it already knew about the requesting user
* | | Check whether to ratelimit sooner to avoid workErik Johnston2016-10-191-5/+9
|/ /
* | Merge pull request #1157 from Rugvip/nolimitErik Johnston2016-10-111-4/+3
|\ \ | | | | | | Remove rate limiting from app service senders and fix get_or_create_user requester
| * | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-061-4/+3
| | | | | | | | | | | | synchronous
* | | api/auth: fix for not being allowed to set your own state_keyPatrik Oldsberg2016-09-301-10/+0
|/ / | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | Update commentsErik Johnston2016-09-221-2/+3
| |
* | Add commentsErik Johnston2016-09-221-0/+3
| |
* | Shuffle things around to make unit tests workErik Johnston2016-09-221-14/+15
| |
* | Allow invites via 3pid to bypass sender sig checkErik Johnston2016-09-221-1/+16
|/ | | | | | | | | | | | | | When a server sends a third party invite another server may be the one that the inviting user registers with. In this case it is that remote server that will issue an actual invitation, and wants to do it "in the name of" the original invitee. However, the new proper invite will not be signed by the original server, and thus other servers would reject the invite if it was seen as coming from the original user. To fix this, a special case has been added to the auth rules whereby another server can send an invite "in the name of" another server's user, so long as that user had previously issued a third party invite that is now being accepted.
* Add helper function for getting access_tokens from requestsMark Haines2016-09-091-7/+51
| | | | | | 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.
* Handle the fact that workers can't generate state groupsErik Johnston2016-08-311-2/+4
|
* Correctly handle the difference between prev and current stateErik Johnston2016-08-311-2/+2
|
* Cache check_host_in_roomErik Johnston2016-08-261-14/+6
|
* Add measure on check_host_in_roomErik Johnston2016-08-261-11/+12
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_idsErik Johnston2016-08-262-1/+5
|\
| * Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵Paul "LeoNerd" Evans2016-08-251-0/+5
| | | | | | | | the value is significant
| * APP_SERVICE_PREFIX is never used; don't botherPaul "LeoNerd" Evans2016-08-251-1/+0
| |
* | Pull out full state lessErik Johnston2016-08-251-6/+7
| |
* | Replace context.current_state with context.current_state_idsErik Johnston2016-08-251-24/+44
|/
* Fix login with m.login.tokenRichard van der Hoff2016-08-081-15/+30
| | | | | login with token (as used by CAS auth) was broken by 067596d, such that it always returned a 401.
* Merge pull request #952 from matrix-org/markjh/more_fixesMark Haines2016-07-261-0/+4
|\ | | | | Check if the user is banned when handling 3pid invites
| * Check if the user is banned when handling 3pid invitesMark Haines2016-07-261-0/+4
| |
* | Add `create_requester` functionRichard van der Hoff2016-07-261-13/+11
|/ | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
* Record device_id in client_ipsRichard van der Hoff2016-07-201-6/+23
| | | | | Record the device_id when we add a client ip; it's somewhat redundant as we could get it via the access_token, but it will make querying rather easier.
* More doc-commentsRichard van der Hoff2016-07-201-3/+2
| | | | Fix some more comments on some things
* Merge pull request #922 from matrix-org/erikj/file_api2Erik Johnston2016-07-201-3/+20
|\ | | | | Feature: Add filter to /messages. Add 'contains_url' to filter.
| * Add 'contains_url' to filterErik Johnston2016-07-141-3/+20
| |
* | Fix 500 ISE when sending alias event without a state_keyMark Haines2016-07-151-0/+5
| |
* | Merge pull request #919 from matrix-org/erikj/auth_fixErik Johnston2016-07-151-1/+25
|\ \ | | | | | | Various auth.py fixes.
| * | Check sender signed eventErik Johnston2016-07-141-2/+8
| | |
| * | Check if alias event's state_key matches sender's domainErik Johnston2016-07-131-0/+11
| | |
| * | Check creation event's room_id domain matches sender'sErik Johnston2016-07-131-0/+7
| | |
* | | Merge pull request #918 from negzi/bugfix_for_token_expiryErik Johnston2016-07-141-0/+3
|\ \ \ | |_|/ |/| | Bug fix: expire invalid access tokens
| * | Bug fix: expire invalid access tokensNegar Fazeli2016-07-131-0/+3
| |/
* / Implement https://github.com/matrix-org/matrix-doc/pull/346/filesDavid Baker2016-07-081-0/+1
|/
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2016-07-081-5/+10
|\
| * Fix bug where we did not correctly explode when multiple user_ids were set ↵Erik Johnston2016-07-071-5/+10
| | | | | | | | in macaroon
* | requestToken updateDavid Baker2016-06-301-1/+2
|/ | | | | | Don't send requestToken request to untrusted ID servers Also correct the THREEPID_IN_USE error to add the M_ prefix. This is a backwards incomaptible change, but the only thing using this is the angular client which is now unmaintained, so it's probably better to just do this now.
* Working unsubscribe links going straight to the HSDavid Baker2016-06-021-0/+7
| | | | and authed by macaroons that let you delete pushers and nothing else
* Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribeDavid Baker2016-06-021-0/+18
|\
| * special case m.room.third_party_invite event auth to match invites, ↵Matthew Hodgson2016-06-011-0/+18
| | | | | | | | otherwise they get out of sync and you get https://github.com/vector-im/vector-web/issues/1208
* | WIP on unsubscribing email notifs without logging inDavid Baker2016-06-011-9/+16
|/
* Spell "domain" correctlyMark Haines2016-05-161-8/+8
| | | | s/domian/domain/g
* Create user with expiryNegi Fazeli2016-05-131-1/+2
| | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ignore_userErik Johnston2016-05-091-8/+8
|\
| * Add and use get_domian_from_idErik Johnston2016-05-091-8/+8
| |
* | Implement basic ignore userErik Johnston2016-05-041-3/+5
|/
* Measure Auth.checkErik Johnston2016-04-131-47/+50
|
* Don't auto log failed auth checksErik Johnston2016-04-131-53/+45
|
* Add published room list edit APIErik Johnston2016-03-211-4/+50
|
* Send the user ID matching the guest access token, since there is no Matrix ↵David Baker2016-03-071-2/+2
| | | | API to discover what user ID an access token is for.
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-21/+36
|
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-191-1/+0
|\ | | | | Rewrite presence for performance.
| * Check presence state is a valid oneErik Johnston2016-02-181-1/+0
| |
* | api/filtering: don't assume that event content will always be a dictPatrik Oldsberg2016-02-171-1/+4
|/ | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* Revert "Merge two of the room join codepaths"Daniel Wagner-Hall2016-02-121-5/+0
| | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-0/+5
| | | | | | | | | | | | | 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.
* Fix up logcontextsErik Johnston2016-02-081-1/+3
|
* Host /media/r0 as well as /media/v1Daniel Wagner-Hall2016-02-051-1/+2
|
* Log more diagnostics for unrecognised access tokensDaniel Wagner-Hall2016-02-021-0/+2
|
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-1/+1
|
* Fix testErik Johnston2016-01-281-0/+5
|
* Fix testsErik Johnston2016-01-251-1/+1
|
* Move logic from rest/ to handlers/Erik Johnston2016-01-251-12/+10
|
* Sanitize filtersErik Johnston2016-01-221-21/+27
|
* Don't error on AS non-ghost user useDaniel Wagner-Hall2016-01-181-0/+2
| | | | | This will probably go away either when we fix our existing ASes, or when we kill the concept of non-ghost users.
* Pull out app service user lookupDaniel Wagner-Hall2016-01-181-31/+28
| | | | I find this a lot simpler than nested try-catches and stuff
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-0/+1
|
* M_INVALID_USERNAME to be consistent with the parameter nameDavid Baker2016-01-151-1/+1
|
* Add specific error code for invalid user names.David Baker2016-01-141-0/+1
|
* Require AS users to be registered before useDaniel Wagner-Hall2016-01-131-0/+5
|
* Introduce a Requester objectDaniel Wagner-Hall2016-01-111-3/+5
| | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up.
* copyrightsMatthew Hodgson2016-01-076-6/+6
|
* Guest users must be joined to a room to see it in /syncMark Haines2016-01-062-28/+0
|
* Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-3/+3
|
* Include the list of bad room ids in the errorMark Haines2015-12-221-0/+16
|
* Merge remote-tracking branch 'origin/develop' into markjh/guest_accessMark Haines2015-12-221-0/+5
|\ | | | | | | | | Conflicts: synapse/api/filtering.py
| * Add top level filters for filtering by room idMark Haines2015-12-221-33/+35
| | | | | | | | Documented by matrix-org/matrix-doc#246
* | Allow guest access if the user provides a list of rooms in the filterMark Haines2015-12-221-0/+12
| |
* | Add top level filtering by room idMark Haines2015-12-211-33/+30
|/
* Strip address and such out of 3pid invitesDaniel Wagner-Hall2015-12-171-1/+1
| | | | We're not meant to leak that into the graph
* Only include the archived rooms if a include_leave flag in set in the filterMark Haines2015-12-041-0/+4
|
* Add API for setting account_data globaly or on a per room basisMark Haines2015-12-011-1/+8
|
* Allow user to redact with an equal powerErik Johnston2015-11-261-1/+1
| | | | | Users only need their power level to be equal to the redact level for them to be allowed to redact events.
* Merge branch 'develop' into daniel/forgetroomsPaul "LeoNerd" Evans2015-11-192-13/+22
|\
| * Merge pull request #386 from matrix-org/markjh/rename_pud_to_account_dataMark Haines2015-11-191-5/+5
| |\ | | | | | | s/private_user_data/account_data/
| | * s/private_user_data/account_data/Mark Haines2015-11-181-5/+5
| | |
| * | Take a boolean not a list of lambdasDaniel Wagner-Hall2015-11-191-8/+17
| |/
* / Allow users to forget roomsDaniel Wagner-Hall2015-11-171-0/+7
|/
* Always check guest = true in macaroonsSteven Hammerton2015-11-171-1/+2
|
* Merge branch 'develop' into sh-cas-auth-via-homeserverSteven Hammerton2015-11-171-0/+1
|\
| * Allow guest users to join and message roomsDaniel Wagner-Hall2015-11-101-0/+1
| |
* | Share more code between macaroon validationSteven Hammerton2015-11-111-9/+10
|/
* Exchange 3pid invites for m.room.member invitesDaniel Wagner-Hall2015-11-051-35/+38
|
* Merge pull request #347 from matrix-org/markjh/check_filterMark Haines2015-11-051-18/+2
|\ | | | | Remove fields that are both unspecified and unused from the filter checks
| * Remove fields that are both unspecified and unused from the filter checks, ↵Mark Haines2015-11-041-18/+2
| | | | | | | | check the right top level definitions in the filter
* | Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-042-41/+55
|/ | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* Include room tags in v2 /syncMark Haines2015-11-021-0/+7
|
* Merge pull request #323 from matrix-org/daniel/sizelimitsDaniel Wagner-Hall2015-10-232-1/+30
|\ | | | | Reject events which are too large
| * Reject events which are too largeDaniel Wagner-Hall2015-10-222-1/+30
| | | | | | | | SPEC-222
* | Merge pull request #325 from matrix-org/markjh/filter_dictsMark Haines2015-10-221-3/+22
|\ \ | | | | | | Support filtering events represented as dicts.
| * | Don't assume that the event has a room_id or senderMark Haines2015-10-221-2/+2
| | |
| * | Support filtering events represented as dicts.Mark Haines2015-10-221-3/+22
| | | | | | | | | | | | | | | This is useful because the emphemeral events such as presence and typing are represented as dicts inside synapse.
* | | Filter room ids before hitting the databaseErik Johnston2015-10-211-0/+20
|/ /
* | DocstringErik Johnston2015-10-201-0/+5
| |
* | Refactor api.filtering to have a Filter APIErik Johnston2015-10-201-98/+55
|/
* Allow rejecting invitesDaniel Wagner-Hall2015-10-201-1/+5
| | | | | This is done by using the same /leave flow as you would use if you had already accepted the invite and wanted to leave.
* Stuff signed data in a standalone objectDaniel Wagner-Hall2015-10-161-7/+14
| | | | | Makes both generating it in sydent, and verifying it here, simpler at the cost of some repetition
* Add signing host and keyname to signaturesDaniel Wagner-Hall2015-10-161-5/+9
|
* Verify third party ID server certificatesDaniel Wagner-Hall2015-10-161-0/+11
|
* Merge branch 'develop' into daniel/3pidinvitesDaniel Wagner-Hall2015-10-151-18/+44
|\
| * Update the v2 filters to support filtering presence and remove support for ↵Mark Haines2015-10-131-18/+44
| | | | | | | | public/private user data
* | Remove unnecessary class-wrappingDaniel Wagner-Hall2015-10-131-3/+3
| |
* | Add some docstringDaniel Wagner-Hall2015-10-131-0/+15
| |
* | Move event contents into third_party_layout fieldDaniel Wagner-Hall2015-10-131-9/+12
| |
* | Merge branch 'develop' into daniel/3pidinvitesDaniel Wagner-Hall2015-10-061-1/+0
|\|
| * Remove log line that was generated whenever an error was created. We are now ↵Mark Haines2015-10-061-1/+0
| | | | | | | | creating error objects that aren't raised so it's probably a bit too confusing to keep
* | Add third party invites to auth_events for joinsDaniel Wagner-Hall2015-10-061-0/+5
| |
* | Merge branch 'develop' into daniel/3pidinvitesDaniel Wagner-Hall2015-10-052-1/+25
|\|
| * Add 'trusted_private_chat' to room creation presetsErik Johnston2015-10-021-0/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/unfederatableErik Johnston2015-10-023-19/+140
| |\
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/unfederatableErik Johnston2015-09-141-8/+27
| |\ \
| * | | Also check the domains for membership state_keysErik Johnston2015-09-011-0/+9
| | | |
| * | | Merge branch 'erikj/check_room_exists' into erikj/unfederatableErik Johnston2015-09-011-0/+8
| |\ \ \
| * | | | Check against sender rather than event_idErik Johnston2015-09-011-3/+3
| | | | |
| * | | | Add flag which disables federation of the roomErik Johnston2015-09-011-1/+15
| | | | |
* | | | | Implement third party identifier invitesDaniel Wagner-Hall2015-10-012-1/+33
| |_|_|/ |/| | |
* | | | synapse/api/errors.py:RoomError was unusedMark Haines2015-09-221-5/+0
| | | |
* | | | Merge pull request #276 from ↵Mark Haines2015-09-212-11/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | matrix-org/markjh/history_for_rooms_that_have_been_left SPEC-216: Allow users to view the history of rooms that they have left.
| * | | | Clarify which event is returned by check_user_was_in_roomMark Haines2015-09-211-2/+3
| | | | |
| * | | | Remove undocumented and unimplemented 'feedback' parameter from the ↵Mark Haines2015-09-091-11/+0
| | | | | | | | | | | | | | | | | | | | Client-Server API
| * | | | Allow rooms/{roomId}/state for a room that has been leftMark Haines2015-09-091-1/+2
| | | | |
| * | | | Allow room initialSync for users that have left the room, returning a ↵Mark Haines2015-09-091-0/+49
| | | | | | | | | | | | | | | | | | | | snapshot of how the room was when they left it
* | | | | Merge pull request #256 from matrix-org/authDaniel Wagner-Hall2015-09-141-3/+89
|\ \ \ \ \ | |_|_|_|/ |/| | | | Attempt to validate macaroons
| * | | | s/user_id/user/g for consistencyDaniel Wagner-Hall2015-09-011-10/+10
| | | | |
| * | | | Attempt to validate macaroonsDaniel Wagner-Hall2015-08-261-9/+95
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of weird caveats: * If we can't validate your macaroon, we fall back to checking that your access token is in the DB, and ignoring the failure * Even if we can validate your macaroon, we still have to hit the DB to get the access token ID, which we pretend is a device ID all over the codebase. This mostly adds the interesting code, and points out the two pieces we need to delete (and necessary conditions) in order to fix the above caveats.
* | | | Merge pull request #265 from matrix-org/erikj/check_room_existsErik Johnston2015-09-141-0/+8
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| Check room exists when authenticating an event
| * | Fix testsErik Johnston2015-09-011-1/+1
| | |
| * | Check room exists when authenticating an event, by asserting they reference ↵Erik Johnston2015-09-011-0/+8
| |/ | | | | | | a creation event
* | Check domain of events properlyDaniel Wagner-Hall2015-09-011-1/+3
| | | | | | | | Federated servers still need to delegate authority to owning servers
* | Allow users to redact their own eventsDaniel Wagner-Hall2015-08-281-8/+25
|/
* Stop looking up "admin", which we never readDaniel Wagner-Hall2015-08-251-3/+1
|
* Re-wrap lineDaniel Wagner-Hall2015-08-251-3/+1
|
* Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-251-10/+7
| | | | | | | | | | Removes device_id and ClientInfo device_id is never actually written, and the matrix.org DB has no non-null entries for it. Right now, it's just cluttering up code. This doesn't remove the columns from the database, because that's fiddly.
* Merge branch 'develop' into refreshDaniel Wagner-Hall2015-08-202-0/+3
|\ | | | | | | | | Conflicts: synapse/rest/client/v1/login.py
| * Add m.room.avatar to default power levels. Change default required power ↵Erik Johnston2015-08-201-0/+1
| | | | | | | | levels of such events to 50
| * Merge pull request #233 from matrix-org/erikj/canonical_aliasErik Johnston2015-08-201-0/+1
| |\ | | | | | | Add server side support for canonical aliases
| | * Add canonical alias to the default power levelsErik Johnston2015-08-191-0/+1
| | |
| * | Merge pull request #211 from matrix-org/email_in_useMark Haines2015-08-201-0/+1
| |\ \ | | |/ | |/| Changes for unique emails
| | * Add endpoint that proxies ID server request token and errors if the given ↵David Baker2015-08-041-0/+1
| | | | | | | | | | | | email is in use on this Home Server.
* | | s/by_token/by_access_token/gDaniel Wagner-Hall2015-08-201-3/+3
|/ / | | | | | | We're about to have two kinds of token, access and refresh
* | Set request.authenticated_entity for application servicesErik Johnston2015-08-181-0/+3
| |
* | Add missing space because linterDaniel Wagner-Hall2015-08-111-1/+1
| |
* | Minor docs cleanupDaniel Wagner-Hall2015-08-111-2/+7
| |
* | Remove redundant if-guardDaniel Wagner-Hall2015-08-111-13/+12
|/ | | | The startswith("@") does the job
* Merge pull request #203 from matrix-org/erikj/room_creation_presetsErik Johnston2015-07-161-0/+5
|\ | | | | Implement presets at room creation
| * Capitalize contantsErik Johnston2015-07-141-2/+2
| |
| * Implement presets at room creationErik Johnston2015-07-131-0/+5
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2015-07-132-1/+4
|\| | | | | | | erikj/power_level_sanity
| * Add m.room.history_visibility to newly created rooms' m.room.power_levelsErik Johnston2015-07-061-0/+1
| |
| * Add m.room.history_visibility to list of auth eventsErik Johnston2015-07-031-1/+1
| |
| * Add basic impl for room history ACL on GET /messages client APIErik Johnston2015-07-021-0/+2
| |
* | Sanitize power level checksErik Johnston2015-07-101-15/+21
| |
* | You shouldn't be able to ban/kick users with higher power levelsErik Johnston2015-07-101-2/+5
|/
* Log more when we have processed the requestErik Johnston2015-06-151-0/+2
|
* TypoErik Johnston2015-05-011-1/+1
|
* Remove some run_on_reactorsErik Johnston2015-05-011-3/+0
|
* Don't log all auth events every time we call auth.checkErik Johnston2015-05-011-1/+4
|
* Don't wait for storage of access_tokenErik Johnston2015-05-011-1/+1
|
* Merge branch 'develop' into key_distributionMark Haines2015-04-293-19/+40
|\ | | | | | | | | Conflicts: synapse/config/homeserver.py
| * Merge pull request #126 from matrix-org/csauthMark Haines2015-04-283-19/+32
| |\ | | | | | | Client / Server Auth Refactor
| | * Merge branch 'develop' into csauthDavid Baker2015-04-242-60/+32
| | |\ | | | | | | | | | | | | | | | | Conflicts: synapse/http/server.py
| | * | Dedicated error code for failed 3pid auth verificationDavid Baker2015-04-231-0/+1
| | | |
| | * | Add an error code to 'missing token' response.David Baker2015-04-232-1/+3
| | | |
| | * | Merge branch 'develop' into csauthDavid Baker2015-04-171-14/+11
| | |\ \
| | * | | Dummy login so we can do the first POST request to get login flows without ↵David Baker2015-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | it just succeeding
| | * | | Add app service auth back in to v2 registerDavid Baker2015-04-021-3/+1
| | | | |
| | * | | Add shared secret auth into register v2 and switch the script over.David Baker2015-04-021-1/+3
| | | | |
| | * | | New registration for C/S API v2. Only ReCAPTCHA working currently.David Baker2015-03-301-0/+2
| | | | |
| | * | | unused importDavid Baker2015-03-241-1/+1
| | | | |
| | * | | 1) Pushers are now associated with an access tokenDavid Baker2015-03-241-18/+25
| | | | | | | | | | | | | | | | | | | | 2) Change places where we mean unauthenticated to 401, not 403, in C/S v2: hack so it stays as 403 in v1 because web client relies on it.
| * | | | Merge branch 'develop' into invite_power_levelPaul "LeoNerd" Evans2015-04-272-38/+14
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Also remember to check 'invite' level for changesPaul "LeoNerd" Evans2015-04-211-0/+1
| | | | |
| * | | | Initial implementation of an 'invite' power_levelPaul "LeoNerd" Evans2015-04-211-0/+7
| | | | |
* | | | | Merge branch 'develop' into key_distributionMark Haines2015-04-242-60/+32
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | No commas here, otherwise our error string constants become tuples.David Baker2015-04-241-2/+2
| | | | |
| * | | | Neater fetching of user's auth level in a room - squash to int() at access ↵Paul "LeoNerd" Evans2015-04-221-35/+12
| | | | | | | | | | | | | | | | | | | | time (SYN-353)
| * | | | Appease pep8Paul "LeoNerd" Evans2015-04-221-1/+0
| |/ / /
| * | | Much neater fetching of defined powerlevels from m.room.power_levels state eventPaul "LeoNerd" Evans2015-04-211-31/+21
| | | |
| * | | Remove debugging print statement accidentally committedPaul "LeoNerd" Evans2015-04-211-1/+0
| | | |
| * | | Sanitise a user's powerlevel to an int() before numerical comparison, ↵Paul "LeoNerd" Evans2015-04-211-0/+7
| | |/ | |/| | | | | | | because otherwise Python is "helpful" with it (SYN-351)
* | | Merge branch 'develop' into key_distributionMark Haines2015-04-201-13/+10
|\| |
| * | Neater implementation of membership change auth checks, ensuring we can't ↵Paul "LeoNerd" Evans2015-04-151-18/+10
| | | | | | | | | | | | forget to check if the calling user is a member of the room
| * | Ensure that non-room-members cannot ban others, even if they do have enough ↵Paul "LeoNerd" Evans2015-04-151-0/+5
| | | | | | | | | | | | powerlevel (SYN-343)
* | | Add a version 2 of the key server apiMark Haines2015-04-141-0/+1
|/ /
* / Fix a bug which causes a send event level of 0 to not be honoured.Kegan Dougal2015-04-071-1/+1
|/ | | | | Caused by a bad if check, which incorrectly executes for both 0 and None, when None was the original intent.
* Merge pull request #109 from matrix-org/default_registrationErik Johnston2015-03-181-0/+1
|\ | | | | Disable registration by default. Add script to register new users.
| * Implement registering with shared secret.Erik Johnston2015-03-131-0/+1
| |
* | @cached() annotate get_user_by_token() - achieves a minor DB performance ↵Paul "LeoNerd" Evans2015-03-171-1/+1
| | | | | | | | improvement
* | Remove concept of context.auth_events, instead use context.current_stateErik Johnston2015-03-161-6/+0
| |
* | Make context.auth_events grap auth events from current state. Otherwise auth ↵Erik Johnston2015-03-161-1/+7
| | | | | | | | is wrong.
* | Respect ban membershipErik Johnston2015-03-161-5/+17
|/
* Add RegisterFallbackResource to /_matrix/static/client/registerKegan Dougal2015-02-231-0/+1
| | | | | Try to keep both forms of registration logic (native/fallback) close together for sanity.
* Merge branch 'develop' into application-servicesKegan Dougal2015-02-111-7/+14
|\
| * During room intial sync, only calculate current state once.Erik Johnston2015-02-091-7/+14
| |
* | Modify auth.get_user_by_req for authing appservices directly.Kegan Dougal2015-02-091-18/+16
| | | | | | | | | | | | Add logic to map the appservice token to the autogenned appservice user ID. Add unit tests for all forms of get_user_by_req (user/appservice, valid/bad/missing tokens)