Hi all,
The authenticated_sender option in my smtp/lmtp transport just doesn't
want to work for me in my exim/cyrus combo. I have everything else
working fine but posting to subfolders without a specific acl in cyrus
just doesn't work for me.
So in cyrus.conf, I have lmtpd -a, I also have "lmtp_admins: postman" in
imapd.conf
In my exim transport I have authenticated_sender assigned to my test
account name - the account is working fine, it has 2 subfolders, 1 with
an acl for public posting (+test1), the other without for testing
authenticated_sender (+test2) Posting to +test1 works as expected
because it has the public posting acl. Posting to +test2 always lands in
the inbox. The whole setup is using ldap authentication via saslauthd,
and virtual domains.
My logs show that lmtp is pre-authed as postman. and the AUTH= parameter
is supposed to be filled out by authenticated_sender, but as a later
trace shows, the AUTH= is not being appended during the lmtp comms.
If I telnet into lmtp, and send some email to cyrus with the correct
AUTH= parameter, posting to +test2 works as it should.....my header in
the email shows the following:
from localhost (localhost [127.0.0.1]) (authenticated
user=tnuro@??? bits=0) by testbox.mydomain.com (Cyrus
v2.2.3) with LMTP; Tue, 24 Feb 2004 14:08:20 +1100
My conversation with lmtp was this:(note that I am using virtual domains
with full email addresses as account names)
testbox:/var/log/cyrus# telnet localhost lmtp
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 testbox.mydomain.com LMTP Cyrus v2.2.3 ready
LHLO localhost
250-testbox.mydomain.com
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-SIZE
250-AUTH EXTERNAL
250 IGNOREQUOTA
MAIL FROM:<test@???> AUTH=tnuro@???
250 2.1.0 ok
RCPT TO:<tnuro+test2@???>
250 2.1.5 ok
DATA
354 go ahead
Subject: test auth
hello
.
250 2.1.5 Ok
quit
221 2.0.0 bye
Connection closed by foreign host.
So this shows that lmtp & cyrus are happy doing this.
However, when exim is sending email the email doesnt make it to +test2,
and the header of a received email that arrives in Inbox says this:
from testbox.mydomain.com (localhost [127.0.0.1]) by
testbox.mydomain.com (Cyrus v2.2.3) with LMTP; Tue, 24 Feb 2004 14:12:29
+1100
Note that authenticated user isn't filled out.
Here's a trace showing that no AUTH= parameter is attached, starting at
the point where authenticated_sender is being expanded in my smtp/lmtp
transport:
3542 expanding: R: local_user for $local_part@$domain
3542 result: R: local_user for tnuro@???
3542 R: local_user for tnuro@???
3542 >>>>>>>>>>>>>>>> Remote deliveries >>>>>>>>>>>>>>>>
3542 --------> tnuro+test2@??? <--------
3544 expanding: T: ***TN*** cyrus $local_part,$local_part_suffix@$domain
3544 result: T: ***TN*** cyrus tnuro,+test2@???
3544 T: ***TN*** cyrus tnuro,+test2@???
3544 local_delivery_cyrus transport entered
3544 tnuro+test2@???
3544 using the transport's hosts: localhost
3544 getting address for localhost
3544 checking status of localhost
3544 no host retry record
3544 no message retry record
3544 localhost [127.0.0.1]:2003 status = usable
3544 delivering 1AvVbb-0000v6-Nl to localhost [127.0.0.1]
(tnuro+test2@???)
3544 expanding: $primary_hostname
3544 result: testbox.mydomain.com
3544 expanding: $local_part@$domain
3544 result: tnuro@???
3540 LOG: smtp_connection MAIN
3540 SMTP connection from smtp106.mail.sc5.yahoo.com [66.163.169.226]
closed by QUIT
3529 child 3540 ended: status=0x0
3529 0 SMTP accept processes now running
3529 Listening...
3544 Connecting to localhost [127.0.0.1]:2003 ... connected
3544 read response data: size=58
3544 SMTP<< 220 testbox.mydomain.com LMTP Cyrus v2.2.3 ready
3544 SMTP>> LHLO testbox.mydomain.com
3544 read response data: size=135
3544 SMTP<< 250-testbox.mydomain.com
3544 250-8BITMIME
3544 250-ENHANCEDSTATUSCODES
3544 250-PIPELINING
3544 250-SIZE
3544 250-AUTH EXTERNAL
3544 250 IGNOREQUOTA
3544 scanning authentication mechanisms
3544 SMTP>> MAIL FROM:<tnuro@???> SIZE=1772
3544 SMTP>> RCPT TO:<tnuro+test2@???>
3544 SMTP>> DATA
3544 read response data: size=42
3544 SMTP<< 250 2.1.0 ok
3544 SMTP<< 250 2.1.5 ok
3544 SMTP<< 354 go ahead
3544 SMTP>> writing message and terminating "."
3544 writing data block fd=6 size=752 timeout=300
3544 read response data: size=14
3544 SMTP<< 250 2.1.5 Ok
3544 ok=1 send_quit=1 send_rset=0 continue_more=0 yield=0 first_address=0
3544 transport_check_waiting entered
3544 sequence=1 local_max=500 global_max=-1
3544 no messages waiting for localhost
3544 SMTP>> QUIT
3544 Leaving local_delivery_cyrus transport
3542 LOG: MAIN
3542 => tnuro+test2@??? R=local_user_cyrus
T=local_delivery_cyrus H=localhost [127.0.0.1]
3542 LOG: MAIN
3542 Completed
3542 >>>>>>>>>>>>>>>> Exim pid=3542 terminating with rc=0 >>>>>>>>>>>>>>>>
I am stuck. Can anyone help me with this ?
thanks for reading.
-Trevor
fyi other refs:
http://archives.neohapsis.com/archives/postfix/2003-01/0876.html