1. Introduce a SaslMechanism class derived from Connection. Make
authorAbhijit Menon-Sen <ams@wiw.org>
Mon, 27 Aug 2007 07:15:22 +0000 (07:15 +0000)
committerAbhijit Menon-Sen <ams@wiw.org>
Mon, 27 Aug 2007 07:15:22 +0000 (07:15 +0000)
commit42a686311159256410c88e315bb5d9d642dd8b91
treeb840d6768cbfb9b863f99b1b48022d705749dc9c
parent1c82aca0eaec759bdbc13b4a3fbe598d82eae9cf
1. Introduce a SaslMechanism class derived from Connection. Make
   it store the user object after authentication. Make IMAP/POP,
   SMTP, and ManageSieve inherit from it.
2. Rewrite SaslMechanism::execute() to manage the state changes
   by itself, instead of expecting the caller to do it.
3. Change readResponse() to let execute know when to talk to the
   database. Introduce parse() to handle the repetitive stuff.
4. Change IMAP authenticate to the new scheme.

(This compiles, but breaks SASL authentication in all but IMAP.
I'm submitting because the changes have grown large.)

p4raw-id: //oryx/src/main@54210
22 files changed:
imap/handlers/authenticate.cpp
imap/handlers/authenticate.h
imap/handlers/login.cpp
imap/imap.cpp
imap/imap.h
pop/pop.cpp
pop/pop.h
pop/popcommand.cpp
sasl/anonymous.cpp
sasl/cram-md5.cpp
sasl/mechanism.cpp
sasl/mechanism.h
sasl/plain.cpp
sasl/sasllogin.cpp
server/connection.cpp
server/connection.h
sieve/managesieve.cpp
sieve/managesieve.h
sieve/managesievecommand.cpp
smtp/smtp.cpp
smtp/smtp.h
smtp/smtpauth.cpp