Mercurial > public > mercurial-scm > hg
diff mercurial/templates/gitweb/fileannotate.tmpl @ 18526:9409aeaafdc1 stable
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Without this, repository paths or names containing e.g. & characters or html
tags yielded strange results, possibly allowing cross-site scripting attacks.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 01 Feb 2013 20:43:35 +0100 |
parents | bebb05a7e249 |
children | 52305554fd6e |
line wrap: on
line diff
--- a/mercurial/templates/gitweb/fileannotate.tmpl Fri Feb 01 15:14:05 2013 -0600 +++ b/mercurial/templates/gitweb/fileannotate.tmpl Fri Feb 01 20:43:35 2013 +0100 @@ -1,9 +1,9 @@ {header} <title>{repo|escape}: {file|escape}@{node|short} (annotated)</title> <link rel="alternate" type="application/atom+xml" - href="{url}atom-log" title="Atom feed for {repo|escape}"/> + href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> <link rel="alternate" type="application/rss+xml" - href="{url}rss-log" title="RSS feed for {repo|escape}"/> + href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> </head> <body> @@ -13,23 +13,23 @@ </div> <div class="page_nav"> -<a href="{url}summary{sessionvars%urlparameter}">summary</a> | -<a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | -<a href="{url}log{sessionvars%urlparameter}">changelog</a> | -<a href="{url}graph{sessionvars%urlparameter}">graph</a> | -<a href="{url}tags{sessionvars%urlparameter}">tags</a> | -<a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a> | -<a href="{url}branches{sessionvars%urlparameter}">branches</a> | -<a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a> | -<a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | -<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | -<a href="{url}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | -<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | +<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | +<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | +<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | +<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | +<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | +<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | +<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | +<a href="{url|urlescape}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a> | +<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | +<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | +<a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | +<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | annotate | -<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | -<a href="{url}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | -<a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a> | -<a href="{url}help{sessionvars%urlparameter}">help</a> +<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | +<a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | +<a href="{url|urlescape}raw-annotate/{node|short}/{file|urlescape}">raw</a> | +<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> <br/> </div> @@ -46,7 +46,7 @@ {branch%filerevbranch} <tr> <td>changeset {rev}</td> - <td style="font-family:monospace"><a class="list" href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr> + <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr> {parent%fileannotateparent} {child%fileannotatechild} <tr>