mirror of
				https://github.com/ergochat/ergo.git
				synced 2025-10-30 05:17:26 +01:00 
			
		
		
		
	
						commit
						3e230e2a17
					
				| @ -307,6 +307,13 @@ func (client *Client) setAccountName(name string) { | ||||
| 	client.accountName = name | ||||
| } | ||||
| 
 | ||||
| func (client *Client) setCloakedHostname(cloak string) { | ||||
| 	client.stateMutex.Lock() | ||||
| 	defer client.stateMutex.Unlock() | ||||
| 	client.cloakedHostname = cloak | ||||
| 	client.updateNickMaskNoMutex() | ||||
| } | ||||
| 
 | ||||
| func (client *Client) historyCutoff() (cutoff time.Time) { | ||||
| 	client.stateMutex.Lock() | ||||
| 	if client.account != "" { | ||||
|  | ||||
| @ -116,6 +116,20 @@ func sendSuccessfulAccountAuth(service *ircService, client *Client, rb *Response | ||||
| 		client.server.sendLoginSnomask(details.nickMask, details.accountName) | ||||
| 	} | ||||
| 
 | ||||
| 	// #1479: for Tor clients, replace the hostname with the always-on cloak here | ||||
| 	// (for normal clients, this would discard the IP-based cloak, but with Tor | ||||
| 	// there's no such concern) | ||||
| 	if rb.session.isTor { | ||||
| 		config := client.server.Config() | ||||
| 		if config.Server.Cloaks.EnabledForAlwaysOn { | ||||
| 			cloakedHostname := config.Server.Cloaks.ComputeAccountCloak(details.accountName) | ||||
| 			client.setCloakedHostname(cloakedHostname) | ||||
| 			if client.registered { | ||||
| 				client.sendChghost(details.nickMask, client.Hostname()) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	client.server.logger.Info("accounts", "client", details.nick, "logged into account", details.accountName) | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Shivaram Lingamneni
						Shivaram Lingamneni