git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add host_find_failed=ignore and host_all_ignored to manualroute.
[exim.git]
/
src
/
src
/
routers
/
rf_lookup_hostlist.c
diff --git
a/src/src/routers/rf_lookup_hostlist.c
b/src/src/routers/rf_lookup_hostlist.c
index 74b59173c55253db98461a0dc34301ae2cddb961..a5beb49f4f7c2cafed52a4d05b6799c5f635039e 100644
(file)
--- a/
src/src/routers/rf_lookup_hostlist.c
+++ b/
src/src/routers/rf_lookup_hostlist.c
@@
-1,4
+1,4
@@
-/* $Cambridge: exim/src/src/routers/rf_lookup_hostlist.c,v 1.
8 2007/01/08 10:50:20
ph10 Exp $ */
+/* $Cambridge: exim/src/src/routers/rf_lookup_hostlist.c,v 1.
9 2007/03/13 15:32:48
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
@@
-157,6
+157,13
@@
for (h = addr->host_list; h != NULL; prev = h, h = next_h)
if (rc == HOST_FIND_FAILED)
{
if (rc == HOST_FIND_FAILED)
{
+ if (hff_code == hff_ignore)
+ {
+ if (prev == NULL) addr->host_list = next_h; else prev->next = next_h;
+ h = prev; /* Because the loop sets prev to h */
+ continue; /* With the next host */
+ }
+
if (hff_code == hff_pass) return PASS;
if (hff_code == hff_decline) return DECLINE;
if (hff_code == hff_pass) return PASS;
if (hff_code == hff_decline) return DECLINE;