From 983bc50e415b0c678662d1ce648fb747d55fef03 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 11 Jul 2016 16:58:23 +0100 Subject: [PATCH] [Fix] Add workaround for hex digits --- src/plugins/chartable.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/chartable.c b/src/plugins/chartable.c index 2b22fd6c7..b182f1f80 100644 --- a/src/plugins/chartable.c +++ b/src/plugins/chartable.c @@ -187,17 +187,17 @@ rspamd_chartable_process_word_utf (struct rspamd_task *task, rspamd_ftok_t *w, uc = g_utf8_get_char (p); if (g_unichar_isalpha (uc)) { + sc = g_unichar_get_script (uc); if (state == got_digit) { /* Penalize digit -> alpha translations */ - if (!is_url) { + if (!is_url && sc != G_UNICODE_SCRIPT_COMMON && + sc != G_UNICODE_SCRIPT_LATIN) { badness += 1.0; } } else if (state == got_alpha) { /* Check script */ - sc = g_unichar_get_script (uc); - if (same_script_count > 0) { if (sc != last_sc) { badness += 1.0 / (gdouble)same_script_count; @@ -279,7 +279,7 @@ rspamd_chartable_process_word_ascii (struct rspamd_task *task, rspamd_ftok_t *w, if (state == got_digit) { /* Penalize digit -> alpha translations */ - if (!is_url) { + if (!is_url && !g_ascii_isxdigit (*p)) { badness += 1.0; } } -- 2.39.5