Use allow list for URI schemes

This commit is contained in:
Nicolas Werner 2021-10-17 17:18:02 +02:00
parent b030eb923b
commit 147dc9d4da
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -61,7 +61,17 @@ Nheko::openLink(QString link) const
QUrl url(link); QUrl url(link);
// Open externally if we couldn't handle it internally // Open externally if we couldn't handle it internally
if (!ChatPage::instance()->handleMatrixUri(url)) { if (!ChatPage::instance()->handleMatrixUri(url)) {
const QStringList allowedUrlSchemes = {
"http",
"https",
"mailto",
};
if (allowedUrlSchemes.contains(url.scheme()))
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
else
nhlog::ui()->warn("Url '{}' not opened, because the scheme is not in the allow list",
url.toDisplayString().toStdString());
} }
} }
void void