mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:06:18 +01:00 
			
		
		
		
	Include username in email headers (#28981)
Emails from Gitea comments do not contain the username of the commenter anywhere, only their display name, so it is not possible to verify who made a comment from the email itself: From: "Alice" <email@gitea> X-Gitea-Sender: Alice X-Gitea-Recipient: Bob X-GitHub-Sender: Alice X-GitHub-Recipient: Bob This comment looks like it's from @alice. The X-Gitea/X-GitHub headers also use display names, which is not very reliable for filtering, and inconsistent with GitHub's behavior: X-GitHub-Sender: lunny X-GitHub-Recipient: gwymor This change includes both the display name and username in the From header, and switches the other headers from display name to username: From: "Alice (@fakealice)" <email@gitea> X-Gitea-Sender: fakealice X-Gitea-Recipient: bob X-GitHub-Sender: fakealice X-GitHub-Recipient: bob This comment looks like it's from @alice.
This commit is contained in:
		| @@ -443,6 +443,17 @@ func (u *User) GetDisplayName() string { | ||||
| 	return u.Name | ||||
| } | ||||
|  | ||||
| // GetCompleteName returns the the full name and username in the form of | ||||
| // "Full Name (@username)" if full name is not empty, otherwise it returns | ||||
| // "@username". | ||||
| func (u *User) GetCompleteName() string { | ||||
| 	trimmedFullName := strings.TrimSpace(u.FullName) | ||||
| 	if len(trimmedFullName) > 0 { | ||||
| 		return fmt.Sprintf("%s (@%s)", trimmedFullName, u.Name) | ||||
| 	} | ||||
| 	return fmt.Sprintf("@%s", u.Name) | ||||
| } | ||||
|  | ||||
| func gitSafeName(name string) string { | ||||
| 	return strings.TrimSpace(strings.NewReplacer("\n", "", "<", "", ">", "").Replace(name)) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user