You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zeripath bbffcc3aec
Multiple Escaping Improvements (#17551)
There are multiple places where Gitea does not properly escape URLs that it is building and there are multiple places where it builds urls when there is already a simpler function available to use this.
    
This is an extensive PR attempting to fix these issues.

1. The first commit in this PR looks through all href, src and links in the Gitea codebase and has attempted to catch all the places where there is potentially incomplete escaping.
2. Whilst doing this we will prefer to use functions that create URLs over recreating them by hand.
3. All uses of strings should be directly escaped - even if they are not currently expected to contain escaping characters. The main benefit to doing this will be that we can consider relaxing the constraints on user names and reponames in future. 
4. The next commit looks at escaping in the wiki and re-considers the urls that are used there. Using the improved escaping here wiki files containing '/'. (This implementation will currently still place all of the wiki files the root directory of the repo but this would not be difficult to change.)
5. The title generation in feeds is now properly escaped.
6. EscapePound is no longer needed - urls should be PathEscaped / QueryEscaped as necessary but then re-escaped with Escape when creating html with locales Signed-off-by: Andrew Thornton <art27@cantab.net>

Signed-off-by: Andrew Thornton <art27@cantab.net>
3 years ago
..
blob.go Swagger info corrections (#9441) 5 years ago
branch.go Support unprotected file patterns (#16395) 3 years ago
collaborators.go [API] generalize list header (#16551) 3 years ago
commits.go Add API to get commit diff/patch (#17095) 3 years ago
file.go Move unit into models/unit/ (#17576) 3 years ago
fork.go Refactor the fork service slightly to take ForkRepoOptions (#16744) 3 years ago
git_hook.go Move macaron to chi (#14293) 4 years ago
git_ref.go Multiple Escaping Improvements (#17551) 3 years ago
hook.go Move webhook into models/webhook/ (#17579) 3 years ago
hook_test.go Decouple unit test, remove intermediate `unittestbridge` package (#17662) 3 years ago
issue.go Move unit into models/unit/ (#17576) 3 years ago
issue_comment.go [API] generalize list header (#16551) 3 years ago
issue_label.go Calculate label URL on API (#16186) 3 years ago
issue_reaction.go [refactor] Unify the export of user data via API (#15144) 3 years ago
issue_stopwatch.go [API] generalize list header (#16551) 3 years ago
issue_subscription.go [refactor] Unify the export of user data via API (#15144) 3 years ago
issue_tracked_time.go Move unit into models/unit/ (#17576) 3 years ago
key.go Multiple Escaping Improvements (#17551) 3 years ago
label.go Calculate label URL on API (#16186) 3 years ago
language.go Add language statistics API endpoint (#11737) 4 years ago
main_test.go Decouple unit test code from business code (#17623) 3 years ago
migrate.go Move migrations into services and base into modules/migration (#17663) 3 years ago
milestone.go [API] generalize list header (#16551) 3 years ago
mirror.go Move unit into models/unit/ (#17576) 3 years ago
notes.go Add an api endpoint to fetch git notes (#15373) (#16649) 3 years ago
pull.go Move unit into models/unit/ (#17576) 3 years ago
pull_review.go [API] generalize list header (#16551) 3 years ago
release.go Move unit into models/unit/ (#17576) 3 years ago
release_attachment.go Add repo_id for attachment (#16958) 3 years ago
release_tags.go [API] Add delete release by tag & fix unreleased inconsistency (#14563) 4 years ago
repo.go Move unit into models/unit/ (#17576) 3 years ago
repo_test.go Decouple unit test, remove intermediate `unittestbridge` package (#17662) 3 years ago
star.go [API] generalize list header (#16551) 3 years ago
status.go [API] generalize list header (#16551) 3 years ago
subscriber.go [API] generalize list header (#16551) 3 years ago
tag.go [API] generalize list header (#16551) 3 years ago
teams.go [API] List, Check, Add & delete endpoints for repository teams (#13630) 4 years ago
topic.go [API] generalize list header (#16551) 3 years ago
transfer.go Avoid double imports (#17569) 3 years ago
tree.go Rename context.Query to context.Form (#16562) 3 years ago
wiki.go Add API to get/edit wiki (#17278) 3 years ago