Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop "@" from email sender to avoid spam filters #29109

Merged
merged 4 commits into from
Feb 10, 2024

Conversation

gwymor
Copy link
Contributor

@gwymor gwymor commented Feb 9, 2024

Commit 360b3fd (Include username in email headers (#28981),
2024-02-03) adds usernames to the From field of notification emails in
the form of Display Name (@username), to prevent spoofing. However,
some email filtering software flags "@" in the display name part of the
From field as potential spoofing, as you could set the display name part
to another email address than the one you are sending from (e.g.
From: "apparent@email-address" <actual@email-address>). To avoid
being flagged, instead send emails from Display Name (username).

Closes: #29107

Commit 360b3fd (Include username in email headers (go-gitea#28981),
2024-02-03) adds usernames to the From field of notification emails in
the form of `Display Name (@username)`, to prevent spoofing. However,
some email filtering software flags "@" in the display name part of the
From field as potential spoofing, as you could set the display name part
to another email address than the one you are sending from (e.g.
`From: "apparent@email-address" <actual@email-address>`). To avoid
being flagged, instead send emails from `Display Name (username)`.

Closes: go-gitea#29107
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Feb 9, 2024
@pull-request-size pull-request-size bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Feb 9, 2024
@gwymor
Copy link
Contributor Author

gwymor commented Feb 9, 2024

Reposting my comment from the original PR:

When a user has no display name the sender currently falls back to @username. If we change that to just username, I'm afraid that doesn't make it clear enough that this is a username that cannot be spoofed (aside from inspecting the X-Gitea/GitHub-Sender headers, which I think is too much to require a user to do in a spoofing attempt) -- you can't easily tell the difference between a post-1.22 Gitea sending a username, and a pre-1.22 Gitea sending a displayname that looks like a username. We could remove the fallback code, and always show Display Name (username), which will fall back to username (username). That would be more consistent and easy to verify at a glance, but perhaps noisy.

This PR currently just removes the @, which means when no display name is set, the sender will be username. I'm still undecided, so please give input on this part and I can update the PR accordingly.

"the argument is already a string, there's no need to use fmt.Sprintf
(gosimple)"
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 9, 2024
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Feb 9, 2024
@silverwind silverwind added type/enhancement An improvement of existing functionality backport/v1.21 This PR should be backported to Gitea 1.21 labels Feb 9, 2024
@delvh delvh added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Feb 9, 2024
@silverwind silverwind merged commit 5b2fd0f into go-gitea:main Feb 10, 2024
26 checks passed
@GiteaBot GiteaBot added this to the 1.22.0 milestone Feb 10, 2024
@GiteaBot
Copy link
Contributor

I was unable to create a backport for 1.21. @gwymor, please send one manually. 🍵

go run ./contrib/backport 29109
...  // fix git conflicts if any
go run ./contrib/backport --continue

@GiteaBot GiteaBot added backport/manual No power to the bots! Create your backport yourself! and removed reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. labels Feb 10, 2024
@gwymor
Copy link
Contributor Author

gwymor commented Feb 10, 2024

@silverwind The original code that this adjusts ( #28981) was never backported. Did you want both backported?

@silverwind
Copy link
Member

No, then the backport is unnecessary.

@silverwind silverwind removed backport/manual No power to the bots! Create your backport yourself! backport/v1.21 This PR should be backported to Gitea 1.21 labels Feb 10, 2024
zjjhot added a commit to zjjhot/gitea that referenced this pull request Feb 14, 2024
* giteaofficial/main: (38 commits)
  Document how the TOC election process works (go-gitea#29135)
  Runner tokens are multi use (go-gitea#29153)
  Fix Gitpod logic of setting ROOT_URL (go-gitea#29162)
  Remove jQuery from the user search form in admin page (go-gitea#29151)
  Dont load Review if Comment is CommentTypeReviewRequest (go-gitea#28551)
  Show `View at this point in history` for every commit (go-gitea#29122)
  [skip ci] Updated translations via Crowdin
  Add merge style `fast-forward-only` (go-gitea#28954)
  Use Markdown alert syntax for notes in README (go-gitea#29150)
  Refactor issue template parsing and fix API endpoint (go-gitea#29069)
  [skip ci] Updated translations via Crowdin
  Update some translations and fix markdown formatting (go-gitea#29099)
  Show more settings for empty repositories (go-gitea#29130)
  Update JS and PY dependencies (go-gitea#29127)
  Add alert blocks in markdown (go-gitea#29121)
  Remove obsolete border-radius on comment content (go-gitea#29128)
  Make blockquote border size less aggressive (go-gitea#29124)
  Drop "@" from email sender to avoid spam filters (go-gitea#29109)
  [skip ci] Updated translations via Crowdin
  Disallow duplicate storage paths (go-gitea#26484)
  ...
silverwind pushed a commit to silverwind/gitea that referenced this pull request Feb 20, 2024
Commit 360b3fd (Include username in email headers (go-gitea#28981),
2024-02-03) adds usernames to the From field of notification emails in
the form of `Display Name (@username)`, to prevent spoofing. However,
some email filtering software flags "@" in the display name part of the
From field as potential spoofing, as you could set the display name part
to another email address than the one you are sending from (e.g.
`From: "apparent@email-address" <actual@email-address>`). To avoid
being flagged, instead send emails from `Display Name (username)`.

Closes: go-gitea#29107

---------

Co-authored-by: Giteabot <teabot@gitea.io>
6543 pushed a commit to 6543-forks/gitea that referenced this pull request Feb 26, 2024
)

Commit 360b3fd (Include username in email headers (go-gitea#28981),
2024-02-03) adds usernames to the From field of notification emails in
the form of `Display Name (@username)`, to prevent spoofing. However,
some email filtering software flags "@" in the display name part of the
From field as potential spoofing, as you could set the display name part
to another email address than the one you are sending from (e.g.
`From: "apparent@email-address" <actual@email-address>`). To avoid
being flagged, instead send emails from `Display Name (username)`.

Closes: go-gitea#29107

---------

Co-authored-by: Giteabot <teabot@gitea.io>
(cherry picked from commit 5b2fd0f)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. type/enhancement An improvement of existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

E-Mail headers with @ trigger some spam filters
4 participants