Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Configurable limits on avatars (#11846) | Brendan Abolivier | 2022-01-28 | 1 | -0/+67 |
| | | | | | | Only allow files which file size and content types match configured limits to be set as avatar. Most of the inspiration from the non-test code comes from matrix-org/synapse-dinsic#19 | ||||
* | Annotate `log_function` decorator (#10943) | reivilibre | 2021-10-27 | 1 | -0/+4 |
| | | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> | ||||
* | Remove the deprecated BaseHandler. (#11005) | Patrick Cloke | 2021-10-08 | 1 | -5/+6 |
| | | | | | | | | The shared ratelimit function was replaced with a dedicated RequestRatelimiter class (accessible from the HomeServer object). Other properties were copied to each sub-class that inherited from BaseHandler. | ||||
* | Use direct references for configuration variables (part 7). (#10959) | Patrick Cloke | 2021-10-04 | 1 | -2/+2 |
| | |||||
* | Use direct references for configuration variables (part 6). (#10916) | Patrick Cloke | 2021-09-29 | 1 | -1/+1 |
| | |||||
* | Use direct references for configuration variables (part 4). (#10893) | Patrick Cloke | 2021-09-23 | 1 | -1/+1 |
| | |||||
* | Always add local users to the user directory (#10796) | David Robertson | 2021-09-21 | 1 | -10/+8 |
| | | | | | | | | | | | | | | | | | | | | | | | It's a simplification, but one that'll help make the user directory logic easier to follow with the other changes upcoming. It's not strictly required for those changes, but this will help simplify the resulting logic that listens for `m.room.member` events and generally make the logic easier to follow. This means the config option `search_all_users` ends up controlling the search query only, and not the data we store. The cost of doing so is an extra row in the `user_directory` and `user_directory_search` tables for each local user which - belongs to no public rooms - belongs to no private rooms of size ≥ 2 I think the cost of this will be marginal (since they'll already have entries in `users` and `profiles` anyway). As a small upside, a homeserver whose directory was built with this change can toggle `search_all_users` without having to rebuild their directory. Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | ||||
* | Require type hints in the handlers module. (#10831) | Patrick Cloke | 2021-09-20 | 1 | -2/+2 |
| | | | | | | | Adds missing type hints to methods in the synapse.handlers module and requires all methods to have type hints there. This also removes the unused construct_auth_difference method from the FederationHandler. | ||||
* | Use direct references for some configuration variables (#10798) | Patrick Cloke | 2021-09-13 | 1 | -1/+1 |
| | | | | Instead of proxying through the magic getter of the RootConfig object. This should be more performant (and is more explicit). | ||||
* | Use inline type hints in `handlers/` and `rest/`. (#10382) | Jonathan de Jong | 2021-07-16 | 1 | -2/+2 |
| | |||||
* | Remove redundant "coding: utf-8" lines (#9786) | Jonathan de Jong | 2021-04-14 | 1 | -1/+0 |
| | | | | | | | Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>` | ||||
* | Import HomeServer from the proper module. (#9665) | Patrick Cloke | 2021-03-23 | 1 | -1/+1 |
| | |||||
* | Fix style checking due to updated black. | Patrick Cloke | 2021-02-19 | 1 | -2/+1 |
| | |||||
* | Add configs to make profile data more private (#9203) | AndrewFerr | 2021-02-19 | 1 | -0/+10 |
| | | | | | | | Add off-by-default configuration settings to: - disable putting an invitee's profile info in invite events - disable profile lookup via federation Signed-off-by: Andrew Ferrazzutti <fair@miscworks.net> | ||||
* | Update black, and run auto formatting over the codebase (#9381) | Eric Eastwood | 2021-02-16 | 1 | -1/+2 |
| | | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version | ||||
* | Remove user's avatar URL and displayname when deactivated. (#8932) | Dirk Klimpel | 2021-01-12 | 1 | -1/+7 |
| | | | This only applies if the user's data is to be erased. | ||||
* | Handle a display name / avatar URL not included in a federation request. (#9023) | Patrick Cloke | 2021-01-06 | 1 | -2/+2 |
| | | | | These may be omitted if not set, but Synapse assumed they would be in the response. | ||||
* | Add admin API for logging in as a user (#8617) | Erik Johnston | 2020-11-17 | 1 | -2/+6 |
| | |||||
* | Improve error messages of non-str displayname/avatar_url (#8705) | Andrew Morgan | 2020-11-02 | 1 | -2/+6 |
| | | | | | | | | This PR fixes two things: * Corrects the copy/paste error of telling the client their displayname is wrong when they are submitting an `avatar_url`. * Returns a `M_INVALID_PARAM` instead of `M_UNKNOWN` for non-str type parameters. Reported by @t3chguy. | ||||
* | Add type hints for account validity handler (#8620) | Patrick Cloke | 2020-10-26 | 1 | -2/+2 |
| | | | This also fixes a bug by fixing handling of an account which doesn't expire. | ||||
* | Check status codes that profile handler returns (#8580) | LEdoian | 2020-10-26 | 1 | -0/+7 |
| | | | | | | | Fixes #8520 Signed-off-by: Pavel Turinsky <pavel.turinsky@matfyz.cz> Co-authored-by: Erik Johnston <erikj@jki.re> | ||||
* | Fix typos and spelling errors. (#8639) | Patrick Cloke | 2020-10-23 | 1 | -1/+1 |
| | |||||
* | Add type hints to profile and base handlers. (#8609) | Patrick Cloke | 2020-10-21 | 1 | -25/+49 |
| | |||||
* | Consistently use wrap_as_background_task in more places (#8599) | Patrick Cloke | 2020-10-20 | 1 | -7/+3 |
| | |||||
* | Move additional tasks to the background worker, part 4 (#8513) | Patrick Cloke | 2020-10-13 | 1 | -18/+11 |
| | |||||
* | Simplify super() calls to Python 3 syntax. (#8344) | Patrick Cloke | 2020-09-18 | 1 | -2/+2 |
| | | | | | | | This converts calls like super(Foo, self) -> super(). Generated with: sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py | ||||
* | Fix errors when updating the user directory with invalid data (#8223) | Patrick Cloke | 2020-09-01 | 1 | -0/+6 |
| | |||||
* | Do not propagate profile changes of shadow-banned users into rooms. (#8157) | Patrick Cloke | 2020-08-26 | 1 | -2/+15 |
| | |||||
* | Convert _base, profile, and _receipts handlers to async/await (#7860) | Patrick Cloke | 2020-07-17 | 1 | -36/+27 |
| | |||||
* | Replace all remaining six usage with native Python 3 equivalents (#7704) | Dagfinn Ilmari Mannsåker | 2020-06-16 | 1 | -5/+3 |
| | |||||
* | async/await is_server_admin (#7363) | Andrew Morgan | 2020-05-01 | 1 | -19/+20 |
| | |||||
* | Add options to prevent users from changing their profile. (#7096) | Dirk Klimpel | 2020-03-27 | 1 | -0/+16 |
| | |||||
* | Revert "Add options to disable setting profile info for prevent changes. ↵ | Richard van der Hoff | 2020-03-17 | 1 | -16/+0 |
| | | | | | | | (#7053)" This reverts commit 54dd28621b070ca67de9f773fe9a89e1f4dc19da, reversing changes made to 6640460d054e8f4444046a34bdf638921b31c01e. | ||||
* | lint, fix tests | dklimpel | 2020-03-09 | 1 | -1/+3 |
| | |||||
* | updates after review | dklimpel | 2020-03-09 | 1 | -4/+4 |
| | |||||
* | lint | dklimpel | 2020-03-08 | 1 | -4/+2 |
| | |||||
* | changelog | dklimpel | 2020-03-08 | 1 | -2/+8 |
| | |||||
* | Add options to disable setting profile info for prevent changes. | dklimpel | 2020-03-08 | 1 | -0/+10 |
| | |||||
* | Change displayname of user as admin in rooms (#6876) | Dirk Klimpel | 2020-02-21 | 1 | -1/+11 |
| | |||||
* | Add option to allow profile queries without sharing a room (#6523) | Will Hunt | 2019-12-16 | 1 | -1/+5 |
| | |||||
* | Replace instance variations of homeserver with correct case/spacing | Andrew Morgan | 2019-11-12 | 1 | -3/+3 |
| | |||||
* | Remove usage of deprecated logger.warn method from codebase (#6271) | Andrew Morgan | 2019-10-31 | 1 | -1/+1 |
| | | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated. | ||||
* | Increase max display name limit | Neil Johnson | 2019-08-24 | 1 | -1/+1 |
| | |||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -9/+9 |
| | |||||
* | Allow newly-registered users to lookup their own profiles | Brendan Abolivier | 2019-07-08 | 1 | -0/+4 |
| | | | | When a user creates an account and the 'require_auth_for_profile_requests' config flag is set, and a client that performed the registration wants to lookup the newly-created profile, the request will be denied because the user doesn't share a room with themselves yet. | ||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -46/+19 |
| | |||||
* | Handle HttpResponseException when using federation client. | Erik Johnston | 2019-06-07 | 1 | -13/+16 |
| | | | | Otherwise we just log exceptions everywhere. | ||||
* | Limit displaynames and avatar URLs | Richard van der Hoff | 2019-06-01 | 1 | -0/+13 |
| | | | | | | These end up in join events everywhere, so let's limit them. Fixes #5079 | ||||
* | add options to require an access_token to GET /profile and /publicRooms on ↵ | Matthew Hodgson | 2019-05-08 | 1 | -0/+43 |
| | | | | | | | | | | | | | | | | | CS API (#5083) This commit adds two config options: * `restrict_public_rooms_to_local_users` Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API. * `require_auth_for_profile_requests` When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301. MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though. Groups have been intentionally omitted from this commit. | ||||
* | Support 3PID login in password providers (#4931) | Andrew Morgan | 2019-03-26 | 1 | -2/+8 |
| | | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn. | ||||
* | Fix exception handling in fetching remote profiles | Erik Johnston | 2018-10-03 | 1 | -6/+2 |
| | |||||
* | Replaced all occurences of e.message with str(e) | Schnuffle | 2018-09-27 | 1 | -1/+1 |
| | | | | Signed-off-by: Schnuffle <schnuffle@github.com> | ||||
* | Rename WorkerProfileHandler to BaseProfileHandler | Erik Johnston | 2018-08-22 | 1 | -3/+10 |
| | |||||
* | Add assert to ensure handler is only run on master | Erik Johnston | 2018-08-22 | 1 | -0/+2 |
| | |||||
* | Remove redundant vars | Erik Johnston | 2018-08-22 | 1 | -3/+0 |
| | |||||
* | Call UserDirectoryHandler methods directly | Erik Johnston | 2018-08-17 | 1 | -21/+5 |
| | | | | | | | | Turns out that the user directory handling is fairly racey as a bunch of stuff assumes that the processing happens on master, which it doesn't when there is a synapse.app.user_dir worker. So lets just call the function directly until we actually get round to fixing it, since it doesn't make the situation any worse. | ||||
* | Split ProfileHandler into master and worker | Erik Johnston | 2018-08-17 | 1 | -7/+14 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-08-09 | 1 | -31/+58 |
|\ | | | | | | | erikj/split_profiles | ||||
| * | Return M_NOT_FOUND when a profile could not be found. (#3596) | Will Hunt | 2018-08-03 | 1 | -31/+58 |
| | | |||||
* | | Allow profile changes to happen on workers | Erik Johnston | 2018-08-07 | 1 | -5/+21 |
|/ | |||||
* | Fix some looping_call calls which were broken in #3604 | Richard van der Hoff | 2018-07-26 | 1 | -1/+1 |
| | | | | | | | | | 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. | ||||
* | Fix updating of cached remote profiles | Richard van der Hoff | 2018-07-25 | 1 | -1/+8 |
| | | | | | | _update_remote_profile_cache was missing its `defer.inlineCallbacks`, so when it was called, would just return a generator object, without actually running any of the method body. | ||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -1/+2 |
| | |||||
* | Only update remote profile cache on master | Erik Johnston | 2018-03-13 | 1 | -1/+4 |
| | |||||
* | s/replication_client/federation_client/ | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Split replication layer into two | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Split out edu/query registration to a separate class | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Move RoomMemberHandler out of Handlers | Erik Johnston | 2018-03-01 | 1 | -1/+1 |
| | |||||
* | fix pep8 and tests | Matthew Hodgson | 2017-12-04 | 1 | -1/+1 |
| | |||||
* | switch to a simpler 'search_all_users' button as per review feedback | Matthew Hodgson | 2017-12-04 | 1 | -2/+2 |
| | |||||
* | untested WIP but might actually work | Matthew Hodgson | 2017-11-29 | 1 | -0/+14 |
| | |||||
* | removed unused import flagged by flake8a | Francois Granade | 2017-11-03 | 1 | -1/+0 |
| | |||||
* | Fix for issue 2635: correctly update rooms avatar/display name when modified ↵ | Francois Granade | 2017-11-03 | 1 | -12/+8 |
| | | | | by admin | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -3/+3 |
| | | | | what could possibly go wrong | ||||
* | Add user profiles to summary from group server | Erik Johnston | 2017-08-25 | 1 | -0/+23 |
| | |||||
* | Fix typos and reinherit | Erik Johnston | 2017-08-25 | 1 | -12/+6 |
| | |||||
* | Split out profile handler to fix tests | Erik Johnston | 2017-08-25 | 1 | -5/+8 |
| | |||||
* | Add remote profile cache | Erik Johnston | 2017-08-25 | 1 | -1/+80 |
| | |||||
* | Add per user ratelimiting overrides | Erik Johnston | 2017-05-10 | 1 | -1/+1 |
| | |||||
* | Ignore backoff history for invites, aliases, and roomdirs | Richard van der Hoff | 2017-03-23 | 1 | -2/+4 |
| | | | | | Add a param to the federation client which lets us ignore historical backoff data for federation queries, and set it for a handful of operations. | ||||
* | Don't recreate so many sets | Erik Johnston | 2017-03-16 | 1 | -4/+4 |
| | |||||
* | handlers/profile: added admin override for set_displayname and set_avatar_url | Patrik Oldsberg | 2016-10-06 | 1 | -4/+4 |
| | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
* | Add `create_requester` function | Richard van der Hoff | 2016-07-26 | 1 | -5/+7 |
| | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout | ||||
* | Remove registered_users from the distributor. | Mark Haines | 2016-06-17 | 1 | -7/+0 |
| | | | | | | | | | | The only place that was observed was to set the profile. I've made it so that the profile is set within store.register in the same transaction that creates the user. This required some slight changes to the registration code for upgrading guest users, since it previously relied on the distributor swallowing errors if the profile already existed. | ||||
* | changed_presencelike_data isn't observed anywhere in synapse so can be removed | Mark Haines | 2016-04-08 | 1 | -15/+0 |
| | |||||
* | Call profile handler get_displayname directly rather than using ↵ | Mark Haines | 2016-04-07 | 1 | -28/+0 |
| | | | | collect_presencelike_data | ||||
* | Pass whole requester to ratelimiting | Daniel Wagner-Hall | 2016-03-03 | 1 | -8/+9 |
| | | | | This will enable more detailed decisions | ||||
* | Merge pull request #582 from matrix-org/erikj/presence | Erik Johnston | 2016-02-19 | 1 | -0/+3 |
|\ | | | | | Rewrite presence for performance. | ||||
| * | Initial cut | Erik Johnston | 2016-02-17 | 1 | -0/+3 |
| | | |||||
* | | Add comment | Daniel Wagner-Hall | 2016-02-16 | 1 | -1/+1 |
| | | |||||
* | | Use update_membership for profile updates | Daniel Wagner-Hall | 2016-02-15 | 1 | -16/+12 |
|/ | |||||
* | Revert "Merge two of the room join codepaths" | Daniel Wagner-Hall | 2016-02-12 | 1 | -9/+2 |
| | | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check | ||||
* | Merge two of the room join codepaths | Daniel Wagner-Hall | 2016-02-12 | 1 | -2/+9 |
| | | | | | | | | | | | | | 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. | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Wrap calls to distributor.fire in appropriately named functions so that ↵ | Mark Haines | 2015-12-01 | 1 | -13/+15 |
| | | | | static analysis can work out want is calling what | ||||
* | Treat setting your display name to the empty string as removing it (SYN-186). | David Baker | 2015-05-14 | 1 | -0/+3 |
| | |||||
* | Unwrap defer.gatherResults failures | Erik Johnston | 2015-05-12 | 1 | -1/+2 |
| | |||||
* | PEP8 | Erik Johnston | 2015-05-08 | 1 | -1/+0 |
| | |||||
* | Change the way we do logging contexts so that they survive divergences | Erik Johnston | 2015-05-08 | 1 | -8/+7 |
| | |||||
* | Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This ↵ | Erik Johnston | 2015-03-09 | 1 | -2/+1 |
| | | | | uses the a storage api that is cached. | ||||
* | When setting display name more graciously handle failures to update room state. | Erik Johnston | 2015-03-06 | 1 | -7/+13 |
| | |||||
* | Replace hs.parse_userid with UserID.from_string | Mark Haines | 2015-01-23 | 1 | -1/+2 |
| | |||||
* | Merge branch 'erikj-perf' of github.com:matrix-org/synapse into develop | Erik Johnston | 2015-01-06 | 1 | -5/+5 |
|\ | |||||
| * | We don't need the full events for get_rooms_for_user_where_membership_is | Erik Johnston | 2015-01-06 | 1 | -5/+5 |
| | | |||||
* | | Update copyright notices | Mark Haines | 2015-01-06 | 1 | -1/+1 |
|/ | |||||
* | Rate limit display names and avatar urls per request rather than per event. | Kegan Dougal | 2014-12-19 | 1 | -2/+4 |
| | |||||
* | Rename MessageHandler.handle_event. Add a few comments. | Erik Johnston | 2014-12-15 | 1 | -1/+1 |
| | |||||
* | Remove unused snapshot | Erik Johnston | 2014-12-09 | 1 | -2/+0 |
| | |||||
* | Convert rest and handlers to use new event structure | Erik Johnston | 2014-12-04 | 1 | -11/+8 |
| | |||||
* | Change DomainSpecificString so that it doesn't use a HomeServer object | Erik Johnston | 2014-12-02 | 1 | -7/+7 |
| | |||||
* | Add a few missing yields, Move deferred lists inside PreserveLoggingContext ↵ | Mark Haines | 2014-11-20 | 1 | -8/+10 |
| | | | | because they don't interact well with the logging contexts | ||||
* | Don't add a 'prev' key to m.room.member messages | Erik Johnston | 2014-11-19 | 1 | -1/+0 |
| | |||||
* | Add an EventValidator. Fix bugs in auth ++ storage | Erik Johnston | 2014-11-10 | 1 | -4/+7 |
| | |||||
* | Implement new replace_state and changed prev_state | Erik Johnston | 2014-11-06 | 1 | -5/+1 |
| | | | | | `prev_state` is now a list of previous state ids, similiar to prev_events. `replace_state` now points to what we think was replaced. | ||||
* | Begin making auth use event.old_state_events | Erik Johnston | 2014-10-15 | 1 | -2/+3 |
| | |||||
* | SYN-40: When a user updates their displayname or avatar update all their ↵ | Erik Johnston | 2014-09-17 | 1 | -3/+43 |
| | | | | join events for all the rooms they are currently in. | ||||
* | fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵ | Matthew Hodgson | 2014-09-03 | 1 | -1/+1 |
| | | | | hasn't been incorporated in time for launch. | ||||
* | Now that HS->HS Profile lookups use Federation Queries, we don't need the ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 1 | -8/+4 |
| | | | | 'local_only' antirecursion hack | ||||
* | Use new Federation Query API to implement HS->HS fetching of remote users' ↵ | Paul "LeoNerd" Evans | 2014-08-13 | 1 | -25/+41 |
| | | | | profile information instead of (ab)using the client-side REST API | ||||
* | add in whitespace after copyright statements to improve legibility | Matthew Hodgson | 2014-08-13 | 1 | -0/+1 |
| | |||||
* | Reference Matrix Home Server | matrix.org | 2014-08-12 | 1 | -0/+169 |