Philipp Hörist pushed to branch master at gajim / gajim


Commits:
2a595826 by mjk at 2022-12-08T22:55:46+00:00
fix: Preview: Don't treat multi-line message body as previewable URL

- - - - -


1 changed file:

- gajim/common/preview.py


Changes:

=====================================
gajim/common/preview.py
=====================================
@@ -21,6 +21,7 @@
 
 import logging
 import os
+import re
 from pathlib import Path
 from urllib.parse import urlparse
 from urllib.parse import ParseResult
@@ -33,6 +34,7 @@
 
 from gajim.common import app
 from gajim.common import configpaths
+from gajim.common import regex
 from gajim.common.const import MIME_TYPES
 from gajim.common.helpers import AdditionalDataDict
 from gajim.common.helpers import load_file_async
@@ -53,6 +55,8 @@
 
 log = logging.getLogger('gajim.c.preview')
 
+IRI_RX = re.compile(regex.IRI)
+
 PREVIEWABLE_MIME_TYPES = get_previewable_mime_types()
 mime_types = set(MIME_TYPES)
 # Merge both: if it’s a previewable image, it should be allowed
@@ -333,8 +337,9 @@ def _accept_uri(urlparts: ParseResult,
     def is_previewable(self,
                        text: str,
                        additional_data: AdditionalDataDict) -> bool:
-        if len(text.split(' ')) > 1:
-            # urlparse doesn't recognise spaces as URL delimiter
+        if not IRI_RX.fullmatch(text):
+            # urlparse removes whitespace (and who knows what else) from URLs,
+            # so can't be used for validation.
             return False
 
         uri = text



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/2a5958265717a72181156511bb8521c44d3a03b6

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/2a5958265717a72181156511bb8521c44d3a03b6
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to