7556851665 
								
									
								
							
								 
							
						 
						
							
							
								
								Allow newly-registered users to lookup their own profiles  
							
							... 
							
							
							
							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. 
							
						 
						
							2019-07-08 17:31:00 +01:00  
				
					
						
							
							
								 
						
							
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
				
					
						
							
							
								 
						
							
							
								a46ef1e3a4 
								
							
								 
							
						 
						
							
							
								
								Handle HttpResponseException when using federation client.  
							
							... 
							
							
							
							Otherwise we just log exceptions everywhere. 
							
						 
						
							2019-06-07 10:29:35 +01:00  
				
					
						
							
							
								 
						
							
							
								d16c6375fe 
								
							
								 
							
						 
						
							
							
								
								Limit displaynames and avatar URLs  
							
							... 
							
							
							
							These end up in join events everywhere, so let's limit them.
Fixes  #5079  
							
						 
						
							2019-06-01 10:44:36 +01:00  
				
					
						
							
							
								 
						
							
							
								c0e0740bef 
								
							
								 
							
						 
						
							
							
								
								add options to require an access_token to GET /profile and /publicRooms on 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. 
							
						 
						
							2019-05-08 18:26:56 +01:00  
				
					
						
							
							
								 
						
							
							
								bbd244c7b2 
								
									
								
							
								 
							
						 
						
							
							
								
								Support 3PID login in password providers ( #4931 )  
							
							... 
							
							
							
							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. 
							
						 
						
							2019-03-26 17:48:30 +00:00  
				
					
						
							
							
								 
						
							
							
								495a9d06bb 
								
							
								 
							
						 
						
							
							
								
								Fix exception handling in fetching remote profiles  
							
							
							
						 
						
							2018-10-03 11:34:30 +01:00  
				
					
						
							
							
								 
						
							
							
								dc5db01ff2 
								
							
								 
							
						 
						
							
							
								
								Replaced all occurences of e.message with str(e)  
							
							... 
							
							
							
							Signed-off-by: Schnuffle  <schnuffle@github.com> 
							
						 
						
							2018-09-27 13:38:50 +02:00  
				
					
						
							
							
								 
						
							
							
								8432e2ebd7 
								
							
								 
							
						 
						
							
							
								
								Rename WorkerProfileHandler to BaseProfileHandler  
							
							
							
						 
						
							2018-08-22 10:13:40 +01:00  
				
					
						
							
							
								 
						
							
							
								a81f140880 
								
							
								 
							
						 
						
							
							
								
								Add assert to ensure handler is only run on master  
							
							
							
						 
						
							2018-08-22 10:11:21 +01:00  
				
					
						
							
							
								 
						
							
							
								47b25ba5f3 
								
							
								 
							
						 
						
							
							
								
								Remove redundant vars  
							
							
							
						 
						
							2018-08-22 10:09:05 +01:00  
				
					
						
							
							
								 
						
							
							
								91cdb6de08 
								
							
								 
							
						 
						
							
							
								
								Call UserDirectoryHandler methods directly  
							
							... 
							
							
							
							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. 
							
						 
						
							2018-08-17 15:26:13 +01:00  
				
					
						
							
							
								 
						
							
							
								ca87ad1def 
								
							
								 
							
						 
						
							
							
								
								Split ProfileHandler into master and worker  
							
							
							
						 
						
							2018-08-17 14:15:14 +01:00  
				
					
						
							
							
								 
						
							
							
								484a0ebdfc 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_profiles  
							
							
							
						 
						
							2018-08-09 10:16:29 +01:00  
				
					
						
							
							
								 
						
							
							
								495cb100d1 
								
							
								 
							
						 
						
							
							
								
								Allow profile changes to happen on workers  
							
							
							
						 
						
							2018-08-07 10:50:26 +01:00  
				
					
						
							
							
								 
						
							
							
								16d9701892 
								
							
								 
							
						 
						
							
							
								
								Return M_NOT_FOUND when a profile could not be found. ( #3596 )  
							
							
							
						 
						
							2018-08-03 19:08:05 +01:00  
				
					
						
							
							
								 
						
							
							
								03751a6420 
								
							
								 
							
						 
						
							
							
								
								Fix some looping_call calls which were broken in  #3604  
							
							... 
							
							
							
							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. 
							
						 
						
							2018-07-26 11:48:08 +01:00  
				
					
						
							
							
								 
						
							
							
								55acd6856c 
								
							
								 
							
						 
						
							
							
								
								Fix updating of cached remote profiles  
							
							... 
							
							
							
							_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. 
							
						 
						
							2018-07-25 10:34:48 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								df8ff682a7 
								
							
								 
							
						 
						
							
							
								
								Only update remote profile cache on master  
							
							
							
						 
						
							2018-03-13 17:38:21 +00:00  
				
					
						
							
							
								 
						
							
							
								cb9f8e527c 
								
							
								 
							
						 
						
							
							
								
								s/replication_client/federation_client/  
							
							
							
						 
						
							2018-03-13 13:26:52 +00:00  
				
					
						
							
							
								 
						
							
							
								265b993b8a 
								
							
								 
							
						 
						
							
							
								
								Split replication layer into two  
							
							
							
						 
						
							2018-03-13 10:55:47 +00:00  
				
					
						
							
							
								 
						
							
							
								c3f79c9da5 
								
							
								 
							
						 
						
							
							
								
								Split out edu/query registration to a separate class  
							
							
							
						 
						
							2018-03-13 10:24:27 +00:00  
				
					
						
							
							
								 
						
							
							
								784f036306 
								
							
								 
							
						 
						
							
							
								
								Move RoomMemberHandler out of Handlers  
							
							
							
						 
						
							2018-03-01 14:36:50 +00:00  
				
					
						
							
							
								 
						
							
							
								74e0cc74ce 
								
							
								 
							
						 
						
							
							
								
								fix pep8 and tests  
							
							
							
						 
						
							2017-12-04 15:11:38 +00:00  
				
					
						
							
							
								 
						
							
							
								1bd40ca73e 
								
							
								 
							
						 
						
							
							
								
								switch to a simpler 'search_all_users' button as per review feedback  
							
							
							
						 
						
							2017-12-04 14:58:39 +00:00  
				
					
						
							
							
								 
						
							
							
								3241c7aac3 
								
							
								 
							
						 
						
							
							
								
								untested WIP but might actually work  
							
							
							
						 
						
							2017-11-29 18:27:05 +00:00  
				
					
						
							
							
								 
						
							
							
								f103b91ffa 
								
							
								 
							
						 
						
							
							
								
								removed unused import flagged by flake8a  
							
							
							
						 
						
							2017-11-03 18:45:49 +01:00  
				
					
						
							
							
								 
						
							
							
								fa4f337b49 
								
							
								 
							
						 
						
							
							
								
								Fix for issue 2635: correctly update rooms avatar/display name when modified by admin  
							
							
							
						 
						
							2017-11-03 18:25:04 +01:00  
				
					
						
							
							
								 
						
							
							
								eaaabc6c4f 
								
							
								 
							
						 
						
							
							
								
								replace 'except:' with 'except Exception:'  
							
							... 
							
							
							
							what could possibly go wrong 
							
						 
						
							2017-10-23 15:52:32 +01:00  
				
					
						
							
							
								 
						
							
							
								4a9b1cf253 
								
							
								 
							
						 
						
							
							
								
								Add user profiles to summary from group server  
							
							
							
						 
						
							2017-08-25 16:23:58 +01:00  
				
					
						
							
							
								 
						
							
							
								258409ef61 
								
							
								 
							
						 
						
							
							
								
								Fix typos and reinherit  
							
							
							
						 
						
							2017-08-25 14:45:20 +01:00  
				
					
						
							
							
								 
						
							
							
								bf81f3cf2c 
								
							
								 
							
						 
						
							
							
								
								Split out profile handler to fix tests  
							
							
							
						 
						
							2017-08-25 14:34:56 +01:00  
				
					
						
							
							
								 
						
							
							
								27ebc5c8f2 
								
							
								 
							
						 
						
							
							
								
								Add remote profile cache  
							
							
							
						 
						
							2017-08-25 11:25:47 +01:00  
				
					
						
							
							
								 
						
							
							
								b990b2fce5 
								
							
								 
							
						 
						
							
							
								
								Add per user ratelimiting overrides  
							
							
							
						 
						
							2017-05-10 11:05:43 +01:00  
				
					
						
							
							
								 
						
							
							
								5a16cb4bf0 
								
							
								 
							
						 
						
							
							
								
								Ignore backoff history for invites, aliases, and roomdirs  
							
							... 
							
							
							
							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. 
							
						 
						
							2017-03-23 12:23:22 +00:00  
				
					
						
							
							
								 
						
							
							
								6957bfdca6 
								
							
								 
							
						 
						
							
							
								
								Don't recreate so many sets  
							
							
							
						 
						
							2017-03-16 11:54:26 +00:00  
				
					
						
							
							
								 
						
							
							
								3de7c8a4d0 
								
							
								 
							
						 
						
							
							
								
								handlers/profile: added admin override for set_displayname and set_avatar_url  
							
							... 
							
							
							
							Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> 
							
						 
						
							2016-10-06 15:24:59 +02:00  
				
					
						
							
							
								 
						
							
							
								eb359eced4 
								
							
								 
							
						 
						
							
							
								
								Add `create_requester` function  
							
							... 
							
							
							
							Wrap the `Requester` constructor with a function which provides sensible
defaults, and use it throughout 
							
						 
						
							2016-07-26 16:46:53 +01:00  
				
					
						
							
							
								 
						
							
							
								9f1800fba8 
								
							
								 
							
						 
						
							
							
								
								Remove registered_users from the distributor.  
							
							... 
							
							
							
							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. 
							
						 
						
							2016-06-17 19:14:16 +01:00  
				
					
						
							
							
								 
						
							
							
								caef337587 
								
							
								 
							
						 
						
							
							
								
								changed_presencelike_data isn't observed anywhere in synapse so can be removed  
							
							
							
						 
						
							2016-04-08 10:37:19 +01:00  
				
					
						
							
							
								 
						
							
							
								86be915cce 
								
							
								 
							
						 
						
							
							
								
								Call profile handler get_displayname directly rather than using collect_presencelike_data  
							
							
							
						 
						
							2016-04-07 18:11:49 +01:00  
				
					
						
							
							
								 
						
							
							
								b4022cc487 
								
							
								 
							
						 
						
							
							
								
								Pass whole requester to ratelimiting  
							
							... 
							
							
							
							This will enable more detailed decisions 
							
						 
						
							2016-03-03 16:43:42 +00:00  
				
					
						
							
							
								 
						
							
							
								e5ad2e5267 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #582  from matrix-org/erikj/presence  
							
							... 
							
							
							
							Rewrite presence for performance. 
							
						 
						
							2016-02-19 09:37:50 +00:00  
				
					
						
							
							
								 
						
							
							
								e5999bfb1a 
								
							
								 
							
						 
						
							
							
								
								Initial cut  
							
							
							
						 
						
							2016-02-17 15:40:50 +00:00  
				
					
						
							
							
								 
						
							
							
								04686df17a 
								
							
								 
							
						 
						
							
							
								
								Add comment  
							
							
							
						 
						
							2016-02-16 11:52:46 +00:00  
				
					
						
							
							
								 
						
							
							
								8168341e9b 
								
							
								 
							
						 
						
							
							
								
								Use update_membership for profile updates  
							
							
							
						 
						
							2016-02-15 17:14:34 +00:00  
				
					
						
							
							
								 
						
							
							
								4de08a4672 
								
							
								 
							
						 
						
							
							
								
								Revert "Merge two of the room join codepaths"  
							
							... 
							
							
							
							This reverts commit cf81375b94 
							
						 
						
							2016-02-12 16:17:24 +00:00  
				
					
						
							
							
								 
						
							
							
								cf81375b94 
								
							
								 
							
						 
						
							
							
								
								Merge two of the room join codepaths  
							
							... 
							
							
							
							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. 
							
						 
						
							2016-02-12 15:11:49 +00:00  
				
					
						
							
							
								 
						
							
							
								6c28ac260c 
								
							
								 
							
						 
						
							
							
								
								copyrights  
							
							
							
						 
						
							2016-01-07 04:26:29 +00:00  
				
					
						
							
							
								 
						
							
							
								a9526831a4 
								
							
								 
							
						 
						
							
							
								
								Wrap calls to distributor.fire in appropriately named functions so that static analysis can work out want is calling what  
							
							
							
						 
						
							2015-12-01 20:53:04 +00:00  
				
					
						
							
							
								 
						
							
							
								67800f7626 
								
							
								 
							
						 
						
							
							
								
								Treat setting your display name to the empty string as removing it (SYN-186).  
							
							
							
						 
						
							2015-05-14 14:19:59 +01:00  
				
					
						
							
							
								 
						
							
							
								95dedb866f 
								
							
								 
							
						 
						
							
							
								
								Unwrap defer.gatherResults failures  
							
							
							
						 
						
							2015-05-12 13:14:29 +01:00  
				
					
						
							
							
								 
						
							
							
								4ac1941592 
								
							
								 
							
						 
						
							
							
								
								PEP8  
							
							
							
						 
						
							2015-05-08 16:33:01 +01:00  
				
					
						
							
							
								 
						
							
							
								476899295f 
								
							
								 
							
						 
						
							
							
								
								Change the way we do logging contexts so that they survive divergences  
							
							
							
						 
						
							2015-05-08 16:32:18 +01:00  
				
					
						
							
							
								 
						
							
							
								8e28db5cc9 
								
							
								 
							
						 
						
							
							
								
								Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This uses the a storage api that is cached.  
							
							
							
						 
						
							2015-03-09 16:43:09 +00:00  
				
					
						
							
							
								 
						
							
							
								9ccccd4874 
								
							
								 
							
						 
						
							
							
								
								When setting display name more graciously handle failures to update room state.  
							
							
							
						 
						
							2015-03-06 16:24:05 +00:00  
				
					
						
							
							
								 
						
							
							
								5759bec43c 
								
							
								 
							
						 
						
							
							
								
								Replace hs.parse_userid with UserID.from_string  
							
							
							
						 
						
							2015-01-23 11:47:15 +00:00  
				
					
						
							
							
								 
						
							
							
								8a12df8cf3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'erikj-perf' of github.com:matrix-org/synapse into develop  
							
							
							
						 
						
							2015-01-06 14:45:57 +00:00  
				
					
						
							
							
								 
						
							
							
								76ec154e95 
								
							
								 
							
						 
						
							
							
								
								We don't need the full events for get_rooms_for_user_where_membership_is  
							
							
							
						 
						
							2015-01-06 14:37:00 +00:00  
				
					
						
							
							
								 
						
							
							
								adb04b1e57 
								
							
								 
							
						 
						
							
							
								
								Update copyright notices  
							
							
							
						 
						
							2015-01-06 13:21:39 +00:00  
				
					
						
							
							
								 
						
							
							
								67a406a754 
								
							
								 
							
						 
						
							
							
								
								Rate limit display names and avatar urls per request rather than per event.  
							
							
							
						 
						
							2014-12-19 17:36:33 +00:00  
				
					
						
							
							
								 
						
							
							
								cf6e5f1dbf 
								
							
								 
							
						 
						
							
							
								
								Rename MessageHandler.handle_event. Add a few comments.  
							
							
							
						 
						
							2014-12-15 17:01:12 +00:00  
				
					
						
							
							
								 
						
							
							
								1c8ee06877 
								
							
								 
							
						 
						
							
							
								
								Remove unused snapshot  
							
							
							
						 
						
							2014-12-09 10:53:34 +00:00  
				
					
						
							
							
								 
						
							
							
								c31dba86ec 
								
							
								 
							
						 
						
							
							
								
								Convert rest and handlers to use new event structure  
							
							
							
						 
						
							2014-12-04 15:50:01 +00:00  
				
					
						
							
							
								 
						
							
							
								9d53228158 
								
							
								 
							
						 
						
							
							
								
								Change DomainSpecificString so that it doesn't use a HomeServer object  
							
							
							
						 
						
							2014-12-02 10:42:28 +00:00  
				
					
						
							
							
								 
						
							
							
								32090aee16 
								
							
								 
							
						 
						
							
							
								
								Add a few missing yields, Move deferred lists inside PreserveLoggingContext because they don't interact well with the logging contexts  
							
							
							
						 
						
							2014-11-20 16:24:00 +00:00  
				
					
						
							
							
								 
						
							
							
								415ddf59bb 
								
							
								 
							
						 
						
							
							
								
								Don't add a 'prev' key to m.room.member messages  
							
							
							
						 
						
							2014-11-19 17:59:51 +00:00  
				
					
						
							
							
								 
						
							
							
								a8e565eca8 
								
							
								 
							
						 
						
							
							
								
								Add an EventValidator. Fix bugs in auth ++ storage  
							
							
							
						 
						
							2014-11-10 18:25:42 +00:00  
				
					
						
							
							
								 
						
							
							
								4317c8e583 
								
							
								 
							
						 
						
							
							
								
								Implement new replace_state and changed prev_state  
							
							... 
							
							
							
							`prev_state` is now a list of previous state ids, similiar to
prev_events. `replace_state` now points to what we think was replaced. 
							
						 
						
							2014-11-06 15:10:55 +00:00  
				
					
						
							
							
								 
						
							
							
								e7bc1291a0 
								
							
								 
							
						 
						
							
							
								
								Begin making auth use event.old_state_events  
							
							
							
						 
						
							2014-10-15 16:06:59 +01:00  
				
					
						
							
							
								 
						
							
							
								b6818fd4d2 
								
							
								 
							
						 
						
							
							
								
								SYN-40: When a user updates their displayname or avatar update all their join events for all the rooms they are currently in.  
							
							
							
						 
						
							2014-09-17 15:05:14 +01:00  
				
					
						
							
							
								 
						
							
							
								8a7c1d6a00 
								
							
								 
							
						 
						
							
							
								
								fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org hasn't been incorporated in time for launch.  
							
							
							
						 
						
							2014-09-03 17:31:57 +01:00  
				
					
						
							
							
								 
						
							
							
								80c056c148 
								
							
								 
							
						 
						
							
							
								
								Now that HS->HS Profile lookups use Federation Queries, we don't need the 'local_only' antirecursion hack  
							
							
							
						 
						
							2014-08-13 17:23:49 +01:00  
				
					
						
							
							
								 
						
							
							
								505917cb97 
								
							
								 
							
						 
						
							
							
								
								Use new Federation Query API to implement HS->HS fetching of remote users' profile information instead of (ab)using the client-side REST API  
							
							
							
						 
						
							2014-08-13 17:23:49 +01:00  
				
					
						
							
							
								 
						
							
							
								f98e6380f1 
								
							
								 
							
						 
						
							
							
								
								add in whitespace after copyright statements to improve legibility  
							
							
							
						 
						
							2014-08-13 03:14:34 +01:00  
				
					
						
							
							
								 
						
							
							
								4f475c7697 
								
							
								 
							
						 
						
							
							
								
								Reference Matrix Home Server  
							
							
							
						 
						
							2014-08-12 15:10:52 +01:00