Re: [Exim] authenticated_sender not attaching AUTH to MAIL

Top Page
Delete this message
Reply to this message
Author: TN
Date:  
To: Exim Users Mailing List
Subject: Re: [Exim] authenticated_sender not attaching AUTH to MAIL
More info about this....

when I do a debug_print of authenticated_sender just after I've set it,
its empty. The expansion seems to be happening AFTER the debug_print, so
does debug_print always get done first and then the rest ?
If I hardwire authenticated_sender rather than relying on expansion, its
still empty according to debug_print....

so I can only assume that something's wrong with the way I've got exim
talking to lmtp.

The docs for smtp transport say this about authenticated_sender:
" When Exim has authenticated as a client, this option sets a value for
the AUTH= item on outgoing MAIL commands, overriding any existing
authenticated sender value. If the string expansion is forced to fail,
the option is ignored. Other expansion failures cause delivery to be
deferred. If the result of expansion is an empty string, that is also
ignored.
"
I'm wondering if that first statement is nullifying the whole thing.
"when exim has authenticated as a client..." is past tense, so does
using pre-auth on lmtpd somehow screw the whole thing up ? (maybe exim
thinks that its not really auth'ed ?)



cheers








TN wrote:

> 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
>
>
>
>
>
>
>
> --
>
> ## List details at http://www.exim.org/mailman/listinfo/exim-users
> Exim details at http://www.exim.org/ ##
>