forked from MirrorHub/synapse
		
	Return a 404 rather than a 500 on rejoining empty rooms
Filter ourselves out of the server list before checking for an empty remote host list, to fix 500 error Fixes #2141
This commit is contained in:
		
					parent
					
						
							
								15e8ed874f
							
						
					
				
			
			
				commit
				
					
						f3ef60662f
					
				
			
		
					 1 changed files with 8 additions and 0 deletions
				
			
		|  | @ -852,6 +852,14 @@ class RoomMemberMasterHandler(RoomMemberHandler): | |||
|     def _remote_join(self, requester, remote_room_hosts, room_id, user, content): | ||||
|         """Implements RoomMemberHandler._remote_join | ||||
|         """ | ||||
|         # filter ourselves out of remote_room_hosts: do_invite_join ignores it | ||||
|         # and if it is the only entry we'd like to return a 404 rather than a | ||||
|         # 500. | ||||
| 
 | ||||
|         remote_room_hosts = [ | ||||
|             host for host in remote_room_hosts if host != self.hs.hostname | ||||
|         ] | ||||
| 
 | ||||
|         if len(remote_room_hosts) == 0: | ||||
|             raise SynapseError(404, "No known servers") | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue