From: Vsevolod Stakhov Date: Mon, 11 Jul 2016 15:58:23 +0000 (+0100) Subject: [Fix] Add workaround for hex digits X-Git-Tag: 1.3.0~115 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=983bc50e415b0c678662d1ce648fb747d55fef03;p=rspamd.git [Fix] Add workaround for hex digits --- 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; } }