From: Vsevolod Stakhov Date: Fri, 21 Jan 2011 17:00:35 +0000 (+0300) Subject: Add ability to include domains in views. X-Git-Tag: 0.3.7~76 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b0d0a4ce50733ce162ce9738da2d416497f98763;p=rspamd.git Add ability to include domains in views. --- diff --git a/src/view.c b/src/view.c index b24c26b28..24fbcf195 100644 --- a/src/view.c +++ b/src/view.c @@ -180,6 +180,7 @@ find_view_by_from (GList * views, struct worker_task *task) GList *cur, *cur_re; struct rspamd_view *v; struct rspamd_regexp *re; + gchar *from_domain; if (task->from == NULL) { return NULL; @@ -188,7 +189,14 @@ find_view_by_from (GList * views, struct worker_task *task) cur = views; while (cur) { v = cur->data; - /* First try to lookup in hashtable */ + /* First try to lookup in hashtable domain name */ + if ((from_domain = strchr (task->from, '@')) != NULL) { + from_domain ++; + if (g_hash_table_lookup (v->from_hash, from_domain) != NULL) { + msg_info ("found view for client from %s", task->from); + return v; + } + } if (g_hash_table_lookup (v->from_hash, task->from) != NULL) { msg_info ("found view for client from %s", task->from); return v;