-
- Notifications
You must be signed in to change notification settings - Fork 6.2k
Fix some issues with special chars in branch names #3767
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
Changes from 7 commits
beecaca d9c1a01 f03bbf0 f11e90e 06991df 1237382 e45e2e3 e4db446 c0ba41a 7e70b0e 7d6d5f4 ea10994 db2d7bc 52237fd File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| | @@ -13,8 +13,8 @@ | |
| {{else if eq .GetOpType 2}} | ||
| {{$.i18n.Tr "action.rename_repo" .GetContent .GetRepoLink .ShortRepoPath | Str2html}} | ||
| {{else if eq .GetOpType 5}} | ||
| {{ $branchLink := .GetBranch | EscapePound}} | ||
| {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink .GetBranch .ShortRepoPath | Str2html}} | ||
| {{ $branchLink := (printf "branch/%s" .GetBranch) | EscapePound | Escape}} | ||
| ||
| {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink (Escape .GetBranch) .ShortRepoPath | Str2html}} | ||
| There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why not use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I chose to do that because EscapePound does url escaping and in general you would not want the branch names to be displayed like that (unless you want to punish users for using chars like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. makes sense. | ||
| {{else if eq .GetOpType 6}} | ||
| {{ $index := index .GetIssueInfos 0}} | ||
| {{$.i18n.Tr "action.create_issue" .GetRepoLink $index .ShortRepoPath | Str2html}} | ||
| | @@ -24,7 +24,8 @@ | |
| {{else if eq .GetOpType 8}} | ||
| {{$.i18n.Tr "action.transfer_repo" .GetContent .GetRepoLink .ShortRepoPath | Str2html}} | ||
| {{else if eq .GetOpType 9}} | ||
| {{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .ShortRepoPath | Str2html}} | ||
| {{ $branchLink := .GetBranch | EscapePound | Escape}} | ||
| There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't this be also the non-legacy path like at https://github.com/go-gitea/gitea/pull/3767/files#diff-06961515e08a5e52a731517765266c80R16 ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Comment from above also applies here. | ||
| {{$.i18n.Tr "action.push_tag" .GetRepoLink $branchLink .ShortRepoPath | Str2html}} | ||
| {{else if eq .GetOpType 10}} | ||
| {{ $index := index .GetIssueInfos 0}} | ||
| {{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .ShortRepoPath | Str2html}} | ||
| | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't we just use
url.PathEscapehere instead? Just a thought. Didn't try it myself.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I tried that the last time, I got back into the endless loop that I was trying to fix in the first place. I have no idea what exactly the difference is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked into that again:
String():
branch/s%3Cscript%3Ealert%28%27XSS%27%29;%3C/script%3EsPathEscape():
branch%2Fs%3Cscript%3Ealert%28%27XSS%27%29%3B%3C%2Fscript%3EsPathEscape also escapes slashes, which makes sense but is not wanted here because BranchNameSubURL already contains the branch/ prefix.