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
