aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorChangqing Li <changqing.li@windriver.com>2021-03-14 18:03:25 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2022-01-14 11:48:41 +0100
commit9d0c5ad20b35b7992505fe0d0be5e40e293a69c7 (patch)
treef7b1a95074dd54cae5e69cc0471fd3b11d5326ac /meta
parent044d78aea35a9543855bcbf175bd468411256f21 (diff)
downloadopenembedded-core-contrib-jansa/master.tar.gz
openembedded-core-contrib-jansa/master.tar.bz2
openembedded-core-contrib-jansa/master.zip
report-error.bbclass: replace angle brackets with &lt; and &gt;jansa/master
when we have below content in local.conf or auto.conf: BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>" send-error-report will fail with "HTTP Error 500: OK" error-report-web do rudimentary check on all fields that are passed to the graphs page to avoid any XSS happening, if contains '<', the server will return error(Invalid characters in json). fixed by use escape of <> to replace it. NOTE: with this change, error-report-web need to add filter 'safe' for the string wanted to display to avoid further HTML escaping prior to output. Below is how the content displayed on webpage: with the filter 'safe': BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>" without the filter 'safe': BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj &lt;raj.khem@gmail.com&gt;" Another patch for error-report-web will send to yocto mail list. [YOCTO #13252] Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/report-error.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
index 88194ca1af2..e527dc7f516 100644
--- a/meta/classes/report-error.bbclass
+++ b/meta/classes/report-error.bbclass
@@ -42,6 +42,7 @@ def get_conf_data(e, filename):
continue
else:
jsonstring=jsonstring + line
+ jsonstring = jsonstring.replace("<", "&lt;").replace(">", "&gt;")
return jsonstring
def errorreport_get_user_info(e):