Allow for # in fragments because some clients send matrix.to links like that

This commit is contained in:
Nicolas Werner 2023-03-31 01:29:18 +02:00
parent 5de730830a
commit 164de9c21c
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -61,7 +61,9 @@ inline const QRegularExpression url_regex(
general_unicode + ")*))"; general_unicode + ")*))";
const auto query = R"(((?:[a-zA-Z0-9\-._~!$&'*+,;=:@/?\\{}]|)" + pct_enc + const auto query = R"(((?:[a-zA-Z0-9\-._~!$&'*+,;=:@/?\\{}]|)" + pct_enc +
R"(|\((?-1)\)|\[(?-1)\]|)" + general_unicode + ")*)"; R"(|\((?-1)\)|\[(?-1)\]|)" + general_unicode + ")*)";
const auto &fragment = query; // explicitly allow # in fragments because of matrix.to urls generated by some clients...
const auto fragment = R"(((?:[a-zA-Z0-9\-._~!$&'*+,;=:@/?\\{}#]|)" + pct_enc +
R"(|\((?-1)\)|\[(?-1)\]|)" + general_unicode + ")*)";
return R"((?<!["'\w])(?>()" + protocol + "://" + "(?:" + userinfo + "@)?" + host + return R"((?<!["'\w])(?>()" + protocol + "://" + "(?:" + userinfo + "@)?" + host +
"(?::[0-9]+)?" + path + "(?::[0-9]+)?" + path +
"?" "?"