fanf2 2005/09/19 10:41:37 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src/routers dnslookup.c
Log:
Apply the fix for widen_domains to qualify_single and search_parents
which are the other dnslookup options that can cause header rewrites.
Revision Changes Path
1.235 +4 -0 exim/exim-doc/doc-txt/ChangeLog
1.7 +7 -3 exim/exim-src/src/routers/dnslookup.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.234
retrieving revision 1.235
diff -u -u -r1.234 -r1.235
--- ChangeLog 16 Sep 2005 14:44:11 -0000 1.234
+++ ChangeLog 19 Sep 2005 09:41:37 -0000 1.235
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.234 2005/09/16 14:44:11 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.235 2005/09/19 09:41:37 fanf2 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -202,6 +202,10 @@
PH/48 A number of further additions for the benefit of the new test suite,
including a fake gethostbyname() that interfaces to the fake DNS resolver
(see PH/47 above).
+
+TF/06 The fix for widen_domains has also been applied to qualify_single and
+ search_parents which are the other dnslookup options that can cause
+ header rewrites.
Exim version 4.52
Index: dnslookup.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/routers/dnslookup.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -u -r1.6 -r1.7
--- dnslookup.c 15 Sep 2005 16:02:07 -0000 1.6
+++ dnslookup.c 19 Sep 2005 09:41:37 -0000 1.7
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/routers/dnslookup.c,v 1.6 2005/09/15 16:02:07 fanf2 Exp $ */
+/* $Cambridge: exim/exim-src/src/routers/dnslookup.c,v 1.7 2005/09/19 09:41:37 fanf2 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -253,10 +253,14 @@
/* Unfortunately, we cannot set the mx_only option in advance, because the
DNS lookup may extend an unqualified name. Therefore, we must do the test
- subsequently. */
+ subsequently. We use the same logic as that for widen_domains above to avoid
+ requesting a header rewrite that cannot work. */
- if (ob->qualify_single) flags |= HOST_FIND_QUALIFY_SINGLE;
- if (ob->search_parents) flags |= HOST_FIND_SEARCH_PARENTS;
+ if (verify != v_sender || !ob->rewrite_headers || addr->parent != NULL)
+ {
+ if (ob->qualify_single) flags |= HOST_FIND_QUALIFY_SINGLE;
+ if (ob->search_parents) flags |= HOST_FIND_SEARCH_PARENTS;
+ }
rc = host_find_bydns(&h, rblock->ignore_target_hosts, flags, srv_service,
ob->srv_fail_domains, ob->mx_fail_domains, &fully_qualified_name, &removed);