fix(security): fixed xss in file diffs
This commit is contained in:
parent
166db21812
commit
6f160d6556
2 changed files with 11 additions and 5 deletions
|
|
@ -220,17 +220,23 @@ return '%s_%s_%i' % (h.md5_safe(commit+filename), type, line)
|
|||
<% over_lines_changed_limit = False %>
|
||||
%for i, filediff in enumerate(diffset.files):
|
||||
|
||||
<%
|
||||
filediff.source_file_path = h.escape(filediff.source_file_path)
|
||||
filediff.target_file_path = h.escape(filediff.target_file_path)
|
||||
%>
|
||||
|
||||
%if filediff.source_file_path and filediff.target_file_path:
|
||||
%if filediff.source_file_path != filediff.target_file_path:
|
||||
## file was renamed, or copied
|
||||
%if RENAMED_FILENODE in filediff.patch['stats']['ops']:
|
||||
## file was renamed
|
||||
<%
|
||||
final_file_name = h.literal('{} <i class="icon-angle-left"></i> <del>{}</del>'.format(filediff.target_file_path, filediff.source_file_path))
|
||||
final_file_name = h.literal(f'{filediff.target_file_path} <i class="icon-angle-left"></i> <del>{filediff.source_file_path}</del>')
|
||||
final_path = filediff.target_file_path
|
||||
%>
|
||||
%elif COPIED_FILENODE in filediff.patch['stats']['ops']:
|
||||
## file was copied
|
||||
<%
|
||||
final_file_name = h.literal('{} <i class="icon-angle-left"></i> {}'.format(filediff.target_file_path, filediff.source_file_path))
|
||||
final_file_name = h.literal(f'{filediff.target_file_path} <i class="icon-angle-left"></i> {filediff.source_file_path}')
|
||||
final_path = filediff.target_file_path
|
||||
%>
|
||||
%endif
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class TestVCSOperationsOnUsingBadClient(object):
|
|||
stdout, stderr = Command(tmpdir.strpath).execute("hg clone", clone_url, tmpdir.strpath)
|
||||
|
||||
# set allowed clients
|
||||
setting = SettingsModel().create_or_update_setting(name=f"hg_allowed_clients", val="0.0.0")
|
||||
setting = SettingsModel().create_or_update_setting(name="hg_allowed_clients", val="0.0.0")
|
||||
Session().add(setting)
|
||||
Session().commit()
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ class TestVCSOperationsOnUsingBadClient(object):
|
|||
stdout, stderr = Command(tmpdir.strpath).execute("git clone", clone_url, tmpdir.strpath)
|
||||
|
||||
# set allowed clients
|
||||
setting = SettingsModel().create_or_update_setting(name=f"git_allowed_clients", val="0.0.0")
|
||||
setting = SettingsModel().create_or_update_setting(name="git_allowed_clients", val="0.0.0")
|
||||
Session().add(setting)
|
||||
Session().commit()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue