[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sift problems?



Zmailer Folks,

I have successfully (depending on how one defines success) compiled
zmailer on two platforms: an A/UX machine (SVR2+BSD) and on a
Sun Solaris 2.1 machine. Both machines have an error in the "sift" which
puts some of the matching characters in the stdout while doing a match.
Confused? So am I but read on.

When the router is run in the interactive mode (router -i) and the command
'router jojo@foo' , where foo is the machine name but not fully qualified, is
given the router correctly matches to a sift expression in rrouter.cf. The
address is then rewritten by 'address=$(canonicalize "$address")' which
causes the canonicalize() to be called in cannon.cf. This function then
goes down a sift list and matches at about the 10th entry which is 
'focus'. Focus then sifts through a few regular expressions, correctly matches
one and writes in the fully qualified domain name. Focus then echo's the
resultant rewritten address, returns to canonicalize which returns to rrouter.
The problem is that which the sifts were going on in cannonicalize and focus
any match characters were inserted into the stdout ahead of the echo's correct
result. Thus the 'trace all' result is 

22:EXACTLY(				[ in focus now]
22:EXACTLY...'jojo'
                    echo jojo<@venice.software.com>     [focus's echo]
                return (return) <0> 		[return from focus and canon]
?=1	
?=1
?=1		[ the following is what address is assigned to]
             <> :include: < > :: @ , @ : : @ ,: ,: @ < @ > <@ > <@> <@ % > % <@ nice.com > <@ [ ] > <@ . uucp> <@ > ,: <@ > <@ > jojo<@foo.nice.try> 

At this point the rrouter() dies due to the garbage at the beginning of the
correctly expanded jojo<@foo.nice.try>.

What's Up with this?

The <>:include:<>:: .... are all from the sift regular expressions. The first
sift test in canonicalize is <> and the second is :include: so on and so on.
The match characters seem to be echo'd to the stdout and end up on the
front of the correct address? 

Any suggestions would be greatly appreciated!!!

My appreciation in advance.

John MacFarlane (johann@cerf.net)