svn commit: r1932937 - spamassassin/trunk/rules
| Newsgroups | gmane.mail.spam.spamassassin.cvs |
|---|---|
| Message-ID | <177579209626.1215488.11841188927203634031@svn03-he-fi> |
Author: jhardin Date: Fri Apr 10 03:34:56 2026 New Revision: 1932937 Log: Work around ReplaceTags subjecting tag names to perl "falsy" logic Modified: spamassassin/trunk/rules/25_replace.cf Modified: spamassassin/trunk/rules/25_replace.cf ============================================================================== --- spamassassin/trunk/rules/25_replace.cf Thu Apr 9 21:05:10 2026 (r1932936) +++ spamassassin/trunk/rules/25_replace.cf Fri Apr 10 03:34:56 2026 (r1932937) @@ -53,8 +53,9 @@ replace_tag W (?:[wWv\xd8\xf8\xf9\xfe]|[ replace_tag X (?:[xX\xd7\xf7]|><|[\xce][\xa7]|[\xcf][\x87\xa7\x97\xb0]|[\xd0][\x96\xa5\xb6]|[\xd1][\x85]|[\xd2][\x96\x97\xb2\xb3]|[\xd3][\x81\x82\x9c\x9d\xbc\xbd\xbe\xbf]|[\xe1](?:[\xba][\x8a-\x8d])|[\xf0][\x9d](?:[\x90][\x97\xb1]|[\x91][\x8b\xa5\xbf]|[\x92][\x99]|[\x93][\x8d]|[\x94][\x81\xb5]|[\x95][\x8f\xa9]|[\x96][\x83\x9d\xb7]|[\x97][\x91\xab]|[\x98][\x85\x9f\xb9]|[\x99][\x93\xad]|[\x9a][\x87\xa1\xbe]|[\x9b][\x98\x9e\xb8]|[\x9c][\x92\x98\xb2]|[\x9d][\x92\x9f]|[\x9e][\x86\x8c\xa6]|[\x9f][\x80\x86])) replace_tag Y (?:[yY\xbe\xd5\xdb\xe3\xff\xfd\xa5j]|[\xc3][\x9d\xbd\xbf]|[\xc5][\xb6\xb7\xb8]|[\xce][\x8e\xa5\xab\xb3]|[\xcf][\x92\x93\x94]|[\xd0][\x8e\xa3]|[\xd1][\x83\x87\x9e]|[\xd2][\xae\xaf\xb0\xb1\xb6\xb7\xb8\xb9]|[\xd3][\x8b\x8c\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5]|[\xd4][\xbf]|[\xd5][\x8e\xaf\xbe]|[\xe1](?:[\xba][\x8e\x8f\x99]|[\xbb][\xb2-\xb9\xbe\xbf]|[\xbd][\x99-\x9f]|[\xbf][\xa8-\xab])|[\xf0][\x9d](?:[\x90][\x98\xb2]|[\x91][\x8c\xa6]|[\x92][\x80\x9a\xb4]|[\x93][\x8e\xa8]|[\x94][\x82]|[\x95][\x90\xaa]|[\x96][\xb8]|[\x97][\x92\xac]|[\x98][\x86\xa0\xba]|[\x99][\x94\xae]|[\x9a][\x88\xa2\xbc]|[\x9b][\x84\xb6\xbe]|[\x9c][\xb0\xb8]|[\x9d][\xaa\xb2]|[\x9e][\xa4\xac])) replace_tag Z (?:[zZs\xc6]|[\xc5][\xb9\xba\xbb\xbc\xbd\xbe]|[\xce][\x96\xb6]|[\xe1](?:[\xba][\x90-\x95])|[\xf0][\x9d](?:[\x90][\x99\xb3]|[\x91][\x8d\xa7]|[\x92][\x81\x9b]|[\x95][\x91\xab]|[\x96][\xb9]|[\x97][\x93\xad]|[\x98][\x87\xa1\xbb]|[\x99][\x95\xaf]|[\x9a][\x89\xa3\xad]|[\x9b][\xa7]|[\x9c][\xa1]|[\x9d][\x9b]|[\x9e][\x95])) -# <0>: 0 o O ° Ο ο О о ∅ 0 ⁰ ₀ ⓪ ⓿ ○ 𝟎 𝟘 𝟢 𝟬 𝟶 -replace_tag 0 (?:[0oO]|[\xc2][\xb0]|[\xce][\x9f\xbf]|[\xd0][\x9e\xbe]|[\xef][\xbc][\x90]|[\xe2](?:[\x81][\xb0]|[\x82][\x80]|[\x88][\x85]|[\x93][\xaa\xbf]|[\x97][\x8b])|[\xf0][\x9d][\x9f][\x8e\x98\xa2\xac\xb6]) +# <ZERO>: 0 o O ° Ο ο О о ∅ 0 ⁰ ₀ ⓪ ⓿ ○ 𝟎 𝟘 𝟢 𝟬 𝟶 +# ReplaceTags plugin trips over "0" tag name, treats it as "falsy" and _totally ignores it_ (SA bug 8385) +replace_tag ZERO (?:[0oO]|[\xc2][\xb0]|[\xce][\x9f\xbf]|[\xd0][\x9e\xbe]|[\xef][\xbc][\x90]|[\xe2](?:[\x81][\xb0]|[\x82][\x80]|[\x88][\x85]|[\x93][\xaa\xbf]|[\x97][\x8b])|[\xf0][\x9d][\x9f][\x8e\x98\xa2\xac\xb6]) # <1>: 1 I i l | ! ¹ І і ∣ 1 ₁ ① ⑴ ⓵ ❶ 𝟏 𝟙 𝟣 𝟭 𝟷 replace_tag 1 (?:[1Ii|!]|(?-i:l)|[\xc2][\xb9]|[\xd0][\x86]|[\xd1][\x96]|[\xef][\xbc][\x91]|[\xe2](?:[\x82][\x81]|[\x88][\xa3]|[\x91][\xa0\xb4]|[\x93][\xb5]|[\x9d][\xb6])|[\xf0][\x9d][\x9f][\x8f\x99\xa3\xad\xb7]) # <2>: 2 z Z ² ƨ ƻ 2 ₂ ② ⑵ ⓶ ❷ 𝟐 𝟚 𝟤 𝟮 𝟸