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?)
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