[FIX]tools/mail: fix regex when sanitizing html containing mail address
authorCedric Snauwaert <csn@openerp.com>
Fri, 8 Mar 2013 10:48:50 +0000 (11:48 +0100)
committerCedric Snauwaert <csn@openerp.com>
Fri, 8 Mar 2013 10:48:50 +0000 (11:48 +0100)
bzr revid: csn@openerp.com-20130308104850-02nfuaxdr91bo0nx

openerp/tools/mail.py

index 7ca9dd7..933c892 100644 (file)
@@ -50,7 +50,7 @@ def html_sanitize(src):
     src = ustr(src, errors='replace')
 
     # html encode email tags
-    part = re.compile(r"(<[^<>]+@[^<>]+>)", re.IGNORECASE | re.DOTALL)
+    part = re.compile(r"(<(([^a<>]|a[^<>\s])[^<>]*)@[^<>]+>)", re.IGNORECASE | re.DOTALL)
     src = part.sub(lambda m: cgi.escape(m.group(1)), src)
     
     # some corner cases make the parser crash (such as <SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT> in test_mail)