mirror of
				https://github.com/ergochat/ergo.git
				synced 2025-10-31 05:47:22 +01:00 
			
		
		
		
	unregister should boot clients if sasl is required
This commit is contained in:
		
							parent
							
								
									9ce1d31b90
								
							
						
					
					
						commit
						754934b429
					
				| @ -834,6 +834,7 @@ func (am *AccountManager) loadRawAccount(tx *buntdb.Tx, casefoldedAccount string | ||||
| } | ||||
| 
 | ||||
| func (am *AccountManager) Unregister(account string) error { | ||||
| 	config := am.server.Config() | ||||
| 	casefoldedAccount, err := CasefoldName(account) | ||||
| 	if err != nil { | ||||
| 		return errAccountDoesNotExist | ||||
| @ -906,7 +907,13 @@ func (am *AccountManager) Unregister(account string) error { | ||||
| 		delete(am.skeletonToAccount, additionalSkel) | ||||
| 	} | ||||
| 	for _, client := range clients { | ||||
| 		am.logoutOfAccount(client) | ||||
| 		if config.Accounts.RequireSasl.Enabled { | ||||
| 			client.Quit(client.t("You are no longer authorized to be on this server")) | ||||
| 			// destroy acquires a semaphore so we can't call it while holding a lock | ||||
| 			go client.destroy(false) | ||||
| 		} else { | ||||
| 			am.logoutOfAccount(client) | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if err != nil { | ||||
|  | ||||
| @ -452,10 +452,6 @@ func nsUnregisterHandler(server *Server, client *Client, command string, params | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	if cfname == client.Account() { | ||||
| 		client.server.accounts.Logout(client) | ||||
| 	} | ||||
| 
 | ||||
| 	err = server.accounts.Unregister(cfname) | ||||
| 	if err == errAccountDoesNotExist { | ||||
| 		nsNotice(rb, client.t(err.Error())) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Shivaram Lingamneni
						Shivaram Lingamneni