Mailing List Archive

uucp and exim4
freebsd -stable as of yesterday
exim 4.04

problem appears at <<<<***********

# ./exim -d -bt
Exim version 4.04 uid=0 gid=0 pid=69409 L=834cd8 D=fff7577f
probably Berkeley DB version 1.8x (native mode)
changed uid/gid: forcing real = effective
uid=0 gid=0
auxiliary group list: 0
trusted user
admin user
originator: uid=0 gid=0 login=root name=System Administrator
sender address = root@psg.com
Address testing: uid=0 gid=106 euid=0 egid=106
> foo@frob.net.lr
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing foo@frob.net.lr
address match: subject=foo@frob.net.lr pattern=^([^!]+)!(.*)$
foo@frob.net.lr in "^([^!]+)!(.*)$"? no (end of list)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering foo@frob.net.lr
active address foo@frob.net.lr
local_part=foo domain=frob.net.lr
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing foo@frob.net.lr
--------> force_uucp router <--------
local_part=foo domain=frob.net.lr
checking domains
search_open: lsearch "/usr/local/etc/exim/ro4.uucp"
search_find: file="/usr/local/etc/exim/ro4.uucp"
key="frob.net.lr" partial=-1
LRU list:
8/usr/local/etc/exim/ro4.uucp
End
internal_search_find: file="/usr/local/etc/exim/ro4.uucp"
type=lsearch key="frob.net.lr"
file lookup required for frob.net.lr
in /usr/local/etc/exim/ro4.uucp
lookup yielded: lib uux
frob.net.lr in "lsearch;/usr/local/etc/exim/ro4.uucp"? yes (matched "lsearch;/usr/local/etc/exim/ro4.uucp")
calling force_uucp router
force_uucp router called for foo@frob.net.lr
domain = frob.net.lr
search_open: lsearch "/usr/local/etc/exim/ro4.uucp"
cached open
search_find: file="/usr/local/etc/exim/ro4.uucp"
key="frob.net.lr" partial=2
LRU list:
8/usr/local/etc/exim/ro4.uucp
End
internal_search_find: file="/usr/local/etc/exim/ro4.uucp"
type=lsearch key="frob.net.lr"
cached data used for lookup of frob.net.lr
in /usr/local/etc/exim/ro4.uucp
lookup yielded: lib uux
original hostlist=lib options=uux
expanded hostlist="lib" options=uux
force_uucp router: defer for foo@frob.net.lr
message: lookup of host "lib" failed in force_uucp router <<<<***********
foo@frob.net.lr cannot be resolved at this time:
lookup of host "lib" failed in force_uucp router
> ^D
search_tidyup called
>>>>>>>>>>>>>>>>>> Exim pid=69409 terminating with rc=1 >>>>>>>>>>>>>>>>>>


the entry in /usr/local/etc/exim/ro4.uucp looks like

frob.net.lr: lib uux


the router

force_uucp:
driver = manualroute
domains = lsearch;/usr/local/etc/exim/ro4.uucp
route_data = ${lookup{$domain}partial-lsearch{/usr/local/etc/exim/ro4.uucp}}
transport = uux

and the transport

uux:
driver = pipe
command = "/usr/bin/uux - -r $host!rmail ($local_part@$domain)"
path = "/usr/local/bin:/usr/bin:/bin"
return_fail_output
user = uucp

randy
Re: uucp and exim4 [ In reply to ]
Quoth Randy Bush on Sun, May 26, 2002:
> lookup yielded: lib uux
> original hostlist=lib options=uux
> expanded hostlist="lib" options=uux
> force_uucp router: defer for foo@frob.net.lr
> message: lookup of host "lib" failed in force_uucp router <<<<***********

But of course. Manualroute is for DNS only. Try to use accept
router and lookup the parameter to uux (host) from within the
transport (or use $domain_data, and get "uux" out of the domain
data file, I don't see why you need it there anyway).

Vadik.

--
Strange Fruit. A brilliant way to describe
somebody hanging from a tree...
-- Marcus Miller
Re: uucp and exim4 [ In reply to ]
>> lookup yielded: lib uux
>> original hostlist=lib options=uux
>> expanded hostlist="lib" options=uux
>> force_uucp router: defer for foo@frob.net.lr
>> message: lookup of host "lib" failed in force_uucp router <<<<***********
> But of course. Manualroute is for DNS only.

<doh>

> Try to use accept router

works

> and lookup the parameter to uux (host) from within the
> transport

i am stumbling over how to do so

> or use $domain_data, and get "uux" out of the domain
> data file

hints solicited

> I don't see why you need it there anyway

because i use transports other than uux, i.e. batching
and compressing, etc

randy
Re: uucp and exim4 [ In reply to ]
Quoth Randy Bush on Sun, May 26, 2002:
> > Try to use accept router
>
> works

Good.

> > and lookup the parameter to uux (host) from within the
> > transport
>
> i am stumbling over how to do so

Instead of $host, use ${lookup ...}.

> > or use $domain_data, and get "uux" out of the domain
> > data file
>
> hints solicited

So it works like this?

> > I don't see why you need it there anyway
>
> because i use transports other than uux, i.e. batching
> and compressing, etc

Ah, you also want to keep the parameter in the same file.,,
Thus you need to do ${extract ...} (note that there are two
different forms of this expansion directive).

Vadik.

--
Thoughts good! Slogans bad! Thoughts good! Slogans bad!
Re: uucp and exim4 [ In reply to ]
>>> I don't see why you need it there anyway
>> because i use transports other than uux, i.e. batching
>> and compressing, etc
> Ah, you also want to keep the parameter in the same file.,,
> Thus you need to do ${extract ...} (note that there are two
> different forms of this expansion directive).

not quite. extract seems to want the file to contain lines of
the type

key: subkey1=foo subkey2=bar

and my data are of the form

key: foo bar

i need the semantics of

$op (file, key) => s1 s2

randy