diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-12-12 11:05:14 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-12-12 11:05:14 +0000 |
commit | e5ac3591d7fbb8aa21d7029377a19470abfaede7 (patch) | |
tree | 14f78af20316af9051b618624183ccfdeb51b2ff | |
parent | 7e6bec3c411cf368f37c1701141a5f65895b741a (diff) | |
download | rspamd-e5ac3591d7fbb8aa21d7029377a19470abfaede7.tar.gz rspamd-e5ac3591d7fbb8aa21d7029377a19470abfaede7.zip |
[Fix] Remove USPOOF_SINGLE_SCRIPT_CONFUSABLE from the checks
In fact, it just checks if string1 and string2 intersect or not, and
it is definitely not the check we want there.
-rw-r--r-- | src/lua/lua_util.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c index 14994751c..ce4d9f67c 100644 --- a/src/lua/lua_util.c +++ b/src/lua/lua_util.c @@ -2152,6 +2152,17 @@ lua_util_is_utf_spoofed(lua_State *L) return 1; } + + /* Disable single script confusables, as it is not what we want to check */ + uspoof_setChecks(spc, + USPOOF_CONFUSABLE & ~USPOOF_SINGLE_SCRIPT_CONFUSABLE, + &uc_err); + if (uc_err != U_ZERO_ERROR) { + msg_err("Cannot set proper checks for uspoof: %s", u_errorName(uc_err)); + lua_pushboolean(L, false); + uspoof_close(spc); + return 1; + } } ret = uspoof_areConfusableUTF8(spc, s1, l1, s2, l2, &uc_err); @@ -2174,7 +2185,7 @@ lua_util_is_utf_spoofed(lua_State *L) if (uc_err != U_ZERO_ERROR) { msg_err("Cannot set proper checks for uspoof: %s", u_errorName(uc_err)); lua_pushboolean(L, false); - uspoof_close(spc); + uspoof_close(spc_sgl); return 1; } } |