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))
The Exim maintainer has been informed, who says the fix will be included in
the next release (presumably 3.16?)
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.