Timsieved valid commands

Ken Murchison ken at oceana.com
Tue Nov 19 21:46:06 EST 2002



Su Li wrote:
> 
> Thanks a lot Mark and Ken,
> 
> I am writing a C++ client to log into Sieve 2000 port. Can you send me the C++/C code for base64 encode? So what I need to do to login to Sieve should be like:

You should use the SASL library to to the authentication so you can
handle any available mechanism.  The imtest.c program that comes with
Cyrus is a good example of a SASL client - it handles SSL/TLS and SASL
for IMAP, POP3, SMTP, LMTP, NNTP, MANAGESIEVE and MUPDATE.

> 
> C: AUTHENTICATE "PLAIN" {21+}
> C: <base64 encoded authname and username>
> S: password?
> C: <base64 encode password>
> S: OK loged in
> 
> Is that right?
> 
> I really appreciate if you can help me out here.
> 
> Thanks,
> 
> Su
> 
> 
> 
> The PLAIN authentication method seems to be defined in rfc2595.txt.
> 
> The example given for ACAP in the rfc is:
>                C: a003 AUTHENTICATE "PLAIN" {21+}
>                C: <NUL>tim<NUL>tanstaaftanstaaf
>                S: a003 OK CRAM-MD5 password initialized
> 
> From this it appears that you can't use PLAIN via telnet because you can't
> enter a <NUL> character (at least I don't know how it would be done).
> 
> I've been able to telnet to the timsieved by enabling the LOGIN authentication
> mechanism.  However you'll have to be able to convert username and password to
> base64 inorder to use it.
> 
> I do have C++ source for a b64echo which I can post if anyone wants it.
> 
> Sieve commands are defined in:
>    cyrus-imapd-x.y.z/doc/sieve-protocol.html
> 
> Regards,
> Mark Keasling <mark at air.co.jp>

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp




More information about the Info-cyrus mailing list