diff --git a/.ci/install.sh b/.ci/install.sh index d8dd67f..c1f4235 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -4,6 +4,10 @@ set -ex if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update + + # uninstall packages, that would get upgraded by upgrading cmake (and we don't need) + brew uninstall --force cgal node sfcgal postgis + brew install qt5 lmdb clang-format ninja libsodium cmark brew upgrade boost cmake icu4c || true diff --git a/.ci/linux/deploy.sh b/.ci/linux/deploy.sh index 61b2e40..2caf5e0 100755 --- a/.ci/linux/deploy.sh +++ b/.ci/linux/deploy.sh @@ -25,8 +25,8 @@ for iconSize in 16 32 48 64 128 256 512; do done # Only download the file when not already present -if ! [ -f linuxdeployqt-continuous-x86_64.AppImage ] ; then - wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" +if ! [ -f linuxdeployqt-6-x86_64.AppImage ] ; then + wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/6/linuxdeployqt-6-x86_64.AppImage" fi chmod a+x linuxdeployqt*.AppImage diff --git a/src/Utils.cpp b/src/Utils.cpp index 400d9e7..c60adb5 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -324,10 +324,25 @@ utils::linkifyMessage(const QString &body) return doc; } +QByteArray escapeRawHtml(const QByteArray &data) { + QByteArray buffer; + const size_t length = data.size(); + buffer.reserve(length); + for(size_t pos = 0; pos != length; ++pos) { + switch(data.at(pos)) { + case '&': buffer.append("&"); break; + case '<': buffer.append("<"); break; + case '>': buffer.append(">"); break; + default: buffer.append(data.at(pos)); break; + } + } + return buffer; +} + QString utils::markdownToHtml(const QString &text) { - const auto str = text.toUtf8(); + const auto str = escapeRawHtml(text.toUtf8()); const char *tmp_buf = cmark_markdown_to_html(str.constData(), str.size(), CMARK_OPT_DEFAULT);