Skip to content
Commit adc0eeda authored by Carl Schwan's avatar Carl Schwan 🚴
Browse files

Parse html with rust

This prevents us from having to use QTextDocument to parse untrusted html
emails. Resulting in crashes or worse security issues.

QTextDocument is still used in case corrosion is not found

Example of crash this prevents:

```
 #5  0x00007f0e8a3e23f4 in QPalette::QPalette(QPalette const&) () at /lib64/libQt5Gui.so.5
 #6  0x00007f0e8a4cb8ff in QTextHtmlParserNode::applyCssDeclarations(QVector<QCss::Declaration> const&, QTextDocument const*) () at /lib64/libQt5Gui.so.5
 #7  0x00007f0e8a4ce2d9 in QTextHtmlParser::parseTag() () at /lib64/libQt5Gui.so.5
 #8  0x00007f0e8a4ce958 in QTextHtmlParser::parse() () at /lib64/libQt5Gui.so.5
 #9  0x00007f0e8a4f39a2 in QTextHtmlImporter::QTextHtmlImporter(QTextDocument*, QString const&, QTextHtmlImporter::ImportMode, QTextDocument const*) () at /lib64/libQt5Gui.so.5
 #10 0x00007f0e8a4b1868 in QTextDocument::setHtml(QString const&) () at /lib64/libQt5Gui.so.5
 #11 0x000000000041ec22 in EmailIndexer::processPart(KMime::Content*, KMime::Content*) (this=...
parent ac7caeac
Pipeline #407140 passed with stage
in 3 minutes and 11 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment