Abusing the sync protocol for fun and profit.

Dan White dwhite at olp.net
Thu Feb 21 10:20:34 EST 2008


Bron Gondwana wrote:
> Attached are three perl modules,
> 
> Cyrus/SyncClient.pm
> Cyrus/ImapReplica.pm
> Mail/IMAPTalk.pm
> 
> I'm including this copy of Mail::IMAPTalk because without it, the clever
> 'literal' stuff doesn't work properly.  I'll prod Rob to clean it up and
> re-package it and push it to CPAN so I can depend on that version and
> have things all be happier.

Thanks Bron,

This works great for me. I'm able to synchronize between my old 
2.1.17 server, with a perdition proxy frontend end, to my newer 
2.3.10 server.

I had a hiccup in the SyncClient.pm module during DIGEST-MD5 
authentication.

I changed to PLAIN, using the following changes, to get it working:

42c42
<     my $mech = 'DIGEST-MD5';
---
 >     my $mech = 'PLAIN';
65c65
<     for (1..2) {
---
 >     for (1..1) {
69c69,72
<       $io->print(MIME::Base64::encode_base64($res, '') . "\r\n");
---
 >       my $encoded_response = MIME::Base64::encode_base64($res, 
'');
 >       if (! $encoded_response eq '') {
 >         $io->print($encoded_response . "\r\n");
 >       }


- Dan White


More information about the Info-cyrus mailing list