[Exim] AUTH PLAIN and... Netscape

Top Page
Delete this message
Reply to this message
Author: Juri Milodanovich
Date:  
To: exim-users
Subject: [Exim] AUTH PLAIN and... Netscape
Hi experts,

I configured Exim 3.13 including AUTH capability exactly like the
sample C034 from config samples. It worked normally with Outlook
Express (AUTH LOGIN) but Netscape 4.x (AUTH PLAIN) reported
an authentication error.

If it doesn't trouble, can anyone help?

I tested this with following data:
user: rabbit
password: Rabbit
"\0rabbit\0Rabbit" is "AHJhYmJpdABSYWJiaXQ=" in Base64.
File "exim.passwd" entry for user "rabbit":
=== cut ===
rabbit:$1$PgLsG$AsYEIqVWPNOXh37UhlFyd.
=== cut ===


Authentication method PLAIN from my Exim config:
=== cut ===
plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = "${if and {{!eq{$2}{}}{!eq{$3}{}} \
    {crypteq{$3}{${extract{2}{:} \
    {${lookup{$2}lsearch{/usr/local/etc/exim/exim.passwd} \
        {$value}{*:*}}}}}}}{1}{0}}"
  server_set_id = $2
=== cut ===


Here is debug of above:
=== exim_debuglog start ===
SMTP<< AUTH PLAIN AHJhYmJpdABSYWJiaXQ=
search_open: lsearch "/usr/local/etc/exim/exim.passwd"
search_find: file="/usr/local/etc/exim/exim.passwd"
key="rabbit" partial=-1
LRU list:
6/usr/local/etc/exim/exim.passwd
End
internal_search_find: file="/usr/local/etc/exim/exim.passwd"
type=lsearch key="rabbit"
file lookup required for rabbit
in /usr/local/etc/exim/exim.passwd
lookup yielded: $1$PgLsG$AsYEIqVWPNOXh37UhlFyd.
plain authenticator:
$1 =
$2 = rabbit
$3 = Rabbit
expanded string: 0
535 Incorrect authentication data\r
LOG: 0 MAIN REJECT
=== exim_debuglog finish ===

Mmmm... It's incorrect... Now see please the result of
Outlook Express LOGIN authentication method. It's valid
with the same settings:

My Exim config:
=== cut ===
login:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  server_condition = "${if and {{!eq{$1}{}}{!eq{$2}{}} \
    {crypteq{$2}{${extract{1}{:} \
    {${lookup{$1}lsearch{/usr/local/etc/exim/exim.passwd} \
        {$value}{*:*}}}}}}}{1}{0}}"
  server_set_id = $1
=== cut ===


And debug follow:
=== exim_debuglog start ===
SMTP<< AUTH LOGIN
334 VXNlcm5hbWU6\r
334 UGFzc3dvcmQ6\r
search_open: lsearch "/usr/local/etc/exim/exim.passwd"
cached open
search_find: file="/usr/local/etc/exim/exim.passwd"
key="rabbit" partial=-1
LRU list:
6/usr/local/etc/exim/exim.passwd
End
internal_search_find: file="/usr/local/etc/exim/exim.passwd"
type=lsearch key="rabbit"
cached data used for lookup of rabbit
in /usr/local/etc/exim/exim.passwd
lookup yielded: $1$PgLsG$AsYEIqVWPNOXh37UhlFyd.
login authenticator:
$1 = rabbit
$2 = Rabbit
expanded string: 1
235 Authentication succeeded\r
SMTP<< quit
221 mail.ecc.crimea.ua closing connection\r
=== exim_debuglog finish ===

It's above my comprehension ;)

Best regards,
            JM.