annotate scripts/whitespacecleanup.sh @ 7553:c9bd000a4567 stable

templates/summary: escape branch/tag/bookmark names in 'Download as zip' links to prevent XSS On a repository summary page, in the 'Download' section where you can download an archive of the repository at a given revision, the branch/tag names were not correctly escaped. This means that if an attacker is able to push a branch/tag/bookmark containing HTML/JavaScript in its name, then that code would be evaluated. This is a cross-site scripting (XSS) vulnerability. Fix the problem by correctly escaping the branch/tag/bookmarks. Reported by Bob Hogg <wombat@rwhogg.site> (thanks!).
author Mads Kiilerich <mads@kiilerich.com>
date Mon, 11 Feb 2019 21:36:55 +0100
parents fce926a9d7c7
children edb24bc0f71a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
1 #!/bin/bash -x
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
2
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
3 # Enforce some consistency in whitespace - just to avoid spurious whitespaces changes
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
4
5379
1949ece749ce cleanup: fix whitespace in CONTRIBUTORS (and other forgotten files) too
Mads Kiilerich <madski@unity3d.com>
parents: 5378
diff changeset
5 files=`hg loc '*.py' '*.html' '*.css' '*.rst' '*.txt' '*.js' '*.ini' '*.cfg' CONTRIBUTORS LICENSE.md| egrep -v '/lockfiles.py|LICENSE-MERGELY.html|/codemirror/|/fontello/|(graph|mergely|native.history|select2/select2|yui.flot|yui.2.9)\.js$'`
1949ece749ce cleanup: fix whitespace in CONTRIBUTORS (and other forgotten files) too
Mads Kiilerich <madski@unity3d.com>
parents: 5378
diff changeset
6
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
7 sed -i -e "s,`printf '\t'`, ,g" $files
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
8 sed -i -e "s, *$,,g" $files
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
9 # ensure one trailing newline - remove empty last line and make last line include trailing newline:
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
10 sed -i -e '$,${/^$/d}' -e '$a\' $files
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
11
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
12 sed -i -e 's,\([^ /]\){,\1 {,g' `hg loc '*.css'`
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
13 sed -i -e 's|^\([^ /].*,\)\([^ ]\)|\1 \2|g' `hg loc '*.css'`
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
14
5378
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
15 sed -i -e 's/^\( [^: ]*\) *: *\([^/]\)/\1: \2/g' kallithea/public/css/{style,contextbar}.css
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
16 sed -i -e '1s|, |,|g' kallithea/public/css/{style,contextbar}.css
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
17 sed -i -e 's/^\([^ ,/]\+ [^,]*[^ ,]\) *, *\(.\)/\1,\n\2/g' kallithea/public/css/{style,contextbar}.css
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
18 sed -i -e 's/^\([^ ,/].*\) */\1 /g' kallithea/public/css/{style,contextbar}.css
bdfba68cdfea cleanup: remove empty trailing lines
Mads Kiilerich <madski@unity3d.com>
parents: 5330
diff changeset
19 sed -i -e 's,^--$,-- ,g' kallithea/templates/email_templates/main.txt
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
20
5390
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
21 hg mani | xargs chmod -x
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
22 hg loc 'set:!binary()&grep("^#!")&!(**_tmpl.py)&!(**/template**)' | xargs chmod +x
530bcb645d32 cleanup: set reasonable x bits
Mads Kiilerich <madski@unity3d.com>
parents: 5379
diff changeset
23
4727
9cf229b46e49 whitespacecleanup.sh - run regularly to ensure consistent spacing and avoid spurious changes
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
24 hg diff