summary refs log tree commit diff
path: root/synapse/event_auth.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update the event auth rules for knockingAndrew Morgan2020-11-111-4/+18
| | | | | | Hopefully most of these changes are explained through the added comments and error messages. The changes are also described conceptually in the MSC: https://github.com/Sorunome/matrix-doc/blob/soru/knock/proposals/2403-knock.md#join-rules
* Ensure that event.redacts is the proper type before handling it (#8457)Patrick Cloke2020-10-051-0/+2
| | | This fixes a bug when backfilling invalid events.
* Convert events worker database to async/await. (#8071)Patrick Cloke2020-08-181-1/+1
|
* Fix recursion error when fetching auth chain over federation (#7817)Erik Johnston2020-07-101-4/+6
| | | | | | | | | | | | | | | When fetching the state of a room over federation we receive the event IDs of the state and auth chain. We then fetch those events that we don't already have. However, we used a function that recursively fetched any missing auth events for the fetched events, which can lead to a lot of recursion if the server is missing most of the auth chain. This work is entirely pointless because would have queued up the missing events in the auth chain to be fetched already. Let's just diable the recursion, since it only gets called from one place anyway.
* Add type hints to event_auth code. (#7505)Patrick Cloke2020-05-151-32/+46
|
* Enforce MSC2209: auth rules for notifications in power level event (#7502)Patrick Cloke2020-05-141-2/+10
| | | | In a new room version, the "notifications" key of power level events are subject to restricted auth rules.
* Remove special auth and redaction rules for aliases events in experimental ↵Patrick Cloke2020-03-091-5/+3
| | | | room ver. (#7037)
* fix bad variable refRichard van der Hoff2020-01-281-1/+1
|
* Implement updated auth rules from MSC2260Richard van der Hoff2020-01-281-5/+19
|
* Pass room version object into event_auth.check and check_redaction (#6788)Richard van der Hoff2020-01-281-13/+21
| | | | | | | These are easier to work with than the strings and we normally have one around. This fixes `FederationHander._persist_auth_tree` which was passing a RoomVersion object into event_auth.check instead of a string.
* Fixup synapse.api to pass mypy (#6733)Erik Johnston2020-01-201-1/+1
|
* Merge release-v1.7.1 into developRichard van der Hoff2019-12-181-7/+8
|\
| * Fix bug where we added duplicate event IDs as auth_events (#6560)Erik Johnston2019-12-171-7/+8
| |
| * Sanity-check room ids in event auth (#6530)Richard van der Hoff2019-12-161-0/+12
| | | | | | | | When we do an event auth operation, check that all of the events involved are in the right room.
* | Sanity-check room ids in event auth (#6530)Richard van der Hoff2019-12-131-0/+12
| | | | | | | | When we do an event auth operation, check that all of the events involved are in the right room.
* | Remove redundant code from event authorisation implementation. (#6502)Richard van der Hoff2019-12-101-6/+2
|/
* Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-311-1/+1
| | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
* Cleanup extra quotes from IDEs (#6236)Andrew Morgan2019-10-231-2/+1
|
* Cleanup event auth type initialisation (#5975)Andrew Morgan2019-09-041-5/+5
| | | Very small code cleanup.
* Run Black. (#5482)Amber Brown2019-06-201-120/+57
|
* Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-011-12/+8
| | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-01-291-4/+8
|\ | | | | | | erikj/redactions_eiah
| * check event format version not room versionErik Johnston2019-01-291-2/+2
| |
| * Only check event IDs domain signed event for V1 and V2Erik Johnston2019-01-291-5/+14
| | | | | | | | Since newer versions of events don't have the same format for event ID.
* | Drop vdh supportErik Johnston2019-01-291-1/+1
| |
* | Implement rechecking of redactionsErik Johnston2019-01-291-6/+18
|/
* Pass through room version to event authErik Johnston2019-01-251-1/+2
|
* Add helpers for getting prev and auth events (#4139)Erik Johnston2018-11-061-2/+2
| | | | | | | * Add helpers for getting prev and auth events This is in preparation for allowing the event format to change between room versions.
* User event.sender rather than alias event.user_idErik Johnston2018-10-161-1/+1
|
* Sanitise error messages when user doesn't have permission to inviteErik Johnston2018-10-031-5/+2
|
* Fix handling of rejected threepid invitesErik Johnston2018-10-031-1/+1
|
* Fix error handling for missing auth_eventRichard van der Hoff2018-09-261-2/+2
| | | | | | | | | | When we were authorizing an event, if there was no `m.room.create` in its auth_events, we would raise a SynapseError with a cryptic message, which then meant that we would bail out of processing any incoming events, rather than storing a rejection for the faulty event and moving on. We should treat the absent event the same as any other auth failure, by raising an AuthError, so that the event is marked as rejected.
* Check m.room.create for sane room_versionsRichard van der Hoff2018-08-061-1/+9
|
* run isortAmber Brown2018-07-091-3/+3
|
* Avoid relying on int vs None comparisonErik Johnston2018-07-021-1/+5
| | | | Python 3 doesn't support comparing None to ints
* Ensure that we define sender_domainErik Johnston2018-07-021-0/+1
|
* Make default state_default 50Richard van der Hoff2018-06-141-20/+14
| | | | | | | Make it so that, before there is a power-levels event in the room, you need a power level of at least 50 to send state. Partially addresses https://github.com/matrix-org/matrix-doc/issues/1192
* Clarify interface for event_authRichard van der Hoff2018-06-141-18/+16
| | | | | stop pretending that it returns a boolean, which just almost gave me a heart attack.
* Refactor get_send_level to take a power_levels eventRichard van der Hoff2018-06-141-7/+38
| | | | it makes it easier for me to reason about
* Consistently use six's iteritems and wrap lazy keys/values in list() if ↵Amber Brown2018-05-311-2/+2
| | | | they're not meant to be lazy (#3307)
* Fix templating error with unban permission messageTravis Ralston2018-01-071-1/+1
| | | | | Fixes https://github.com/matrix-org/synapse/issues/2759 Signed-off-by: Travis Ralston <travpc@gmail.com>
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-2/+2
| | | | what could possibly go wrong
* Fix 500 error when fields missing from power_levels eventRichard van der Hoff2017-10-171-3/+3
| | | | | If the users or events keys were missing from a power_levels event, then we would throw 500s when trying to auth them.
* Use better variable nameErik Johnston2017-01-171-3/+3
|
* Optimise state resolutionErik Johnston2017-01-171-6/+43
|
* Split event auth code into seperate moduleErik Johnston2017-01-131-0/+641