Subject: | The APOP authentication fails on the Dovecot server. |
APOP authentication fails because it cannot understand the timestamp of
the msg-id form of the greeting message that Dovecot outputs.
The Dovecot server outputs the following greeting:
+OK Dovecot ready.
<4149.d.47a7f3ae.SQlesZMXhrvlfSJkpVJLug==@foo.example.org>
The following line of Connect() cannot understand it.
$me->{MESG_ID}= $1 if ($msg =~ /(<[\w\d\-\.]+\@[\w\d\-\.]+>)/);
It can be understood that this line is changed as follows.
my $atom = qr([-_a-zA-Z0-9!#$%&'*+/=?^`{|}~]+);
$me->{MESG_ID}= $1 if ($msg =~
/(<$atom(?:\.$atom)*\@$atom(?:\.$atom)*>)/o);