On Saturday, December 1, 2001, at 12:41 AM, Ken Murchison wrote:

> Quoting Craig Courtney <[EMAIL PROTECTED]>:
>
>> I've got Cyrus (HIERSEP 2.0.15 Branch) up and running fine.  Although I
>> am running into a couple  problems both with Sieve.
>>
>> First, sieveshell will not allow PLAIN logins which forced me to turn 
>> on
>> sasl_auto_transition.  This is not documented anywhere and could cause
>> issues with my setup.
>
> It most certainly does.  You must have something misconfigured.

Any hints at to what to look at... PLAIN works fine for everything 
else.  There are no commandline options for sieveshell that tell it what 
auth type to use.  I have found that if I turn off all other auth types 
at the server side it will use PLAIN, but if any other auth types are 
enabled sieveshell will use them instead.  I would turn them off all 
together but I need to use sasldb to authenticate my administrative 
accounts as PLAIN resolves to my user db in mysql.  The database is used 
for other security also so I do not want to add my cyrus administrative 
accounts to it.

>> Second, timsieved will not allow elseif statements which are
>> specifically outlined in the RFC.  I actually pulled example scripts 
>> out
>> of the RFC and they generated parse errors when it hit the elseif
>> stating it expected a '{'.  No matter what clause I used in the elseif
>> statement it generated the same error.
>
> The correct syntax is 'elsif', not 'elseif'.

DOH! I'll look at that again. :)

>> Third, when I reject a message via sieve the MDN is sent to
>> [EMAIL PROTECTED] and not to the sending party.  How do I get this to
>> work correctly?  It looks like something along the lines is adding
>> "[EMAIL PROTECTED]" to the return path and the reject code is not
>> correctly picking the right return-path.  I am using postfix-20010228
>> release as my MTA on RedHat 7.2.
>
> I'd find out what is changing/adding the return-path and why.

Ok... I did some digging in the code and here is the problem.  The 
deliver command always sets the return path to the user who is it is 
running under even whenever there is no command line option to set 
return path specified.  Since pipe was automatically inserting the 
appropriate Return-Path in the message already this was undesired 
behavior.  This is due to the improper line in master.cf which I've 
found documented improperly in all FAQs and documentation I've seen.

Wrong master.cf line
cyrus   unix    -       n       n       -       -       pipe
        flags=R user=cyrus argv=/usr/cyrus/bin/deliver -e -m ${extension} 
${user}

the R flag tells pipe to insert the Return-Path line which it does 
correctly but deliver is not recognizing that return path and 
automatically inserting the address of it's running user as a second 
return path.

Correct master.cf line
cyrus   unix    -       n       n       -       -       pipe
        user=cyrus argv=/usr/cyrus/bin/deliver -f ${sender} -m ${extension} 
${user}

This version correctly sends the return path to the deliver command for 
insertion into the message.  In addition -e was being ignored by deliver.

This should probably go into the install-FAQ!

Craig Courtney

Reply via email to