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.
forgejo/modules
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
..
activitypub Create pub/priv keypair for federation (#17071) 3 years ago
analyze Use git attributes to determine generated and vendored status for language stats and diffs (#16773) 3 years ago
appstate Decouple unit test code from business code (#17623) 3 years ago
auth Add bundle download for repository (#14538) 3 years ago
avatar refactor: move from io/ioutil to io and os package (#17109) 3 years ago
base Fixed assert statements. (#16089) 3 years ago
cache Add an abstract json layout to make it's easier to change json library (#16528) 3 years ago
charset Read expected buffer size (#17409) 3 years ago
context Multiple Escaping Improvements (#17551) 3 years ago
convert Multiple Escaping Improvements (#17551) 3 years ago
csv Properly determine CSV delimiter (#17459) 3 years ago
doctor Move unit into models/unit/ (#17576) 3 years ago
emoji Run processors on whole of text (#16155) 3 years ago
eventsource Add an abstract json layout to make it's easier to change json library (#16528) 3 years ago
generate switch to maintained lib (#16532) 3 years ago
git Multiple Escaping Improvements (#17551) 3 years ago
gitgraph Fix some lints (#17337) 3 years ago
graceful Fix some lints (#17337) 3 years ago
hcaptcha hCaptcha Support (#12594) 4 years ago
highlight Prevent panic in Org mode HighlightCodeBlock (#17140) 3 years ago
hostmatcher Only allow webhook to send requests to allowed hosts (#17482) 3 years ago
httpcache Use a variable but a function for IsProd because of a slight performance increment (#17368) 3 years ago
httplib refactor: move from io/ioutil to io and os package (#17109) 3 years ago
indexer Fix nil checking on typed interface (#17598) 3 years ago
json Add an abstract json layout to make it's easier to change json library (#16528) 3 years ago
lfs Fix some lints (#17337) 3 years ago
log refactor: move from io/ioutil to io and os package (#17109) 3 years ago
markup Add copy button to markdown code blocks (#17638) 3 years ago
matchlist Add Allow-/Block-List for Migrate & Mirrors (#13610) 4 years ago
metrics Add metrics to get issues by repository (#17225) 3 years ago
migration Move migrations into services and base into modules/migration (#17663) 3 years ago
nosql Fix setting redis db path (#15698) 3 years ago
notification Decouple unit test, remove intermediate `unittestbridge` package (#17662) 3 years ago
options refactor: move from io/ioutil to io and os package (#17109) 3 years ago
password Fixed assert statements. (#16089) 3 years ago
pprof refactor: move from io/ioutil to io and os package (#17109) 3 years ago
private refactor: move from io/ioutil to io and os package (#17109) 3 years ago
process Code Formats, Nits & Unused Func/Var deletions (#15286) 3 years ago
proxy Return nil proxy function if proxy not enabled (#16742) 3 years ago
public refactor: move from io/ioutil to io and os package (#17109) 3 years ago
queue Make the Mirror Queue a queue (#17326) 3 years ago
recaptcha refactor: move from io/ioutil to io and os package (#17109) 3 years ago
references Fix various documentation, user-facing, and source comment typos (#16367) 3 years ago
repofiles Multiple Escaping Improvements (#17551) 3 years ago
repository Multiple Escaping Improvements (#17551) 3 years ago
secret Fix various documentation, user-facing, and source comment typos (#16367) 3 years ago
session Move session to models/login (#17338) 3 years ago
setting Use correct defaultValue for stracktrace (#17552) 3 years ago
ssh Fix ipv6 parsing for builtin ssh server (#17561) 3 years ago
storage refactor: move from io/ioutil to io and os package (#17109) 3 years ago
structs Add migration from GitBucket (#16767) 3 years ago
svg refactor: move from io/ioutil to io and os package (#17109) 3 years ago
sync Fix missing unlock in uniquequeue (#9790) 5 years ago
task Move migrations into services and base into modules/migration (#17663) 3 years ago
templates Multiple Escaping Improvements (#17551) 3 years ago
test Decouple unit test, remove intermediate `unittestbridge` package (#17662) 3 years ago
timeutil Allow mocking timeutil (#17354) 3 years ago
translation Use index of the supported tags to choose user lang (#15452) 3 years ago
typesniffer Read expected buffer size (#17409) 3 years ago
updatechecker Refactor update checker to use AppState (#17387) 3 years ago
upload Multiple Escaping Improvements (#17551) 3 years ago
uri Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 4 years ago
user Add gitea-vet (#10948) 4 years ago
util Only allow webhook to send requests to allowed hosts (#17482) 3 years ago
validation Upgrade chi to v5 (#17298) 3 years ago
web Upgrade chi to v5 (#17298) 3 years ago