Bug 13539

Summary: Bug in queryprogram router processing
Product: [Retired] Red Hat Powertools Reporter: chris
Component: eximAssignee: Tim Powers <timp>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-07-06 18:39:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description chris 2000-07-06 16:41:36 UTC
There is a bug in Exim's processing of the queryprogram router.  In a
nutshell, it ignores any transport specified in the output of the program
being queried, and just uses the transport hardwired in the router
configuration (if any).

The fix is as follows:

--- exim-3.13/src/routers/queryprogram-old.c	Thu Jul  6 14:31:50 2000
+++ exim-3.13/src/routers/queryprogram.c	Thu Jul  6 14:35:44 2000
@@ -321,7 +321,7 @@
 /* Second field was empty or "+"; get the transport for this router, if
 any. It might be expanded, or it might be unset (which is not an error).
*/
 
-if (!route_get_transport(rblock->transport, rblock->expand_transport,
+else if (!route_get_transport(rblock->transport, rblock->expand_transport,
       addr, &transport, rblock->name, NULL))
   return ERROR;
 
The Exim maintainer has been informed, who says the fix will be included in
the next release (presumably 3.16?)

Comment 1 Tim Powers 2000-07-06 18:39:55 UTC
OK. I applied the patch and it went in cleanly. You should see exim-3.13-9 show
up in rawhide either tonight or tomorrow.

Tim