From b0d0a4ce50733ce162ce9738da2d416497f98763 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 21 Jan 2011 20:00:35 +0300 Subject: [PATCH] Add ability to include domains in views. --- src/view.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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; -- 2.39.5