As you might remember, I have been pounding my head against the Danga::*
pollserver implementation with reference to the use of AUTH in trunk.  Matt gave
me some ideas, but I was not able to figure out how to use the CONTINUATION to
get the next line of data (since login may require up to 2 additional
round-trips and both plain and cram-md5 require 1).

So I punted.  I added code to Pollserver so that if a transaction is in the
AUTH_PENDING state, it will continue to loop through auth_process() until it is
complete.  I'm too tired to commit this now, but I'll do so in the morning
unless I hear lots of complaints (or word from Matt on how to simplify the code
using the real continuation logic).

I wound up pulling all of the code in Qpsmtpd::Auth into Qpsmtpd::SMTP (which is
where it probably should have been all along), so the POD for writing auth
plugins will become a top level README.authentication.

John

Reply via email to