summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Kistner <tom@tahini.csx.cam.ac.uk>2011-05-08 10:08:12 +0100
committerTom Kistner <tom@tahini.csx.cam.ac.uk>2011-05-08 10:08:12 +0100
commit5fa5f96fcfb9aa3c73e4ce9289a30be1e616e576 (patch)
tree129efbbe360136a5438ce4cab993b290acf00d1b
parent43236f357ba2001d59b5937d14a50a56478bb8e0 (diff)
parentae9094bfe313aeb9ffefc7566bd4dae49ada3cf5 (diff)
Merge branch 'tom_dev'
-rw-r--r--src/src/receive.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/src/receive.c b/src/src/receive.c
index 914b1d281..f331d2ae5 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -3022,14 +3022,29 @@ else
appears in the expanded list. */
if (seen_items != NULL)
{
+ uschar *seen_item = NULL;
+ uschar seen_item_buf[256];
uschar *seen_items_list = seen_items;
- if (match_isinlist(item,
- &seen_items_list,0,NULL,NULL,MCL_STRING,TRUE,NULL) == OK)
+ int seen_this_item = 0;
+
+ while ((seen_item = string_nextinlist(&seen_items_list, &sep,
+ seen_item_buf,
+ sizeof(seen_item_buf))) != NULL)
+ {
+ if (Ustrcmp(seen_item,item) == 0)
+ {
+ seen_this_item = 1;
+ break;
+ }
+ }
+
+ if (seen_this_item > 0)
{
DEBUG(D_receive)
debug_printf("acl_smtp_dkim: skipping signer %s, already seen\n", item);
continue;
}
+
seen_items = string_append(seen_items,&seen_items_size,&seen_items_offset,1,":");
}