Have you tried synctest?
Usage: synctest [options] hostname
-p port : port to use (default=standard port for protocol)
-k # : minimum protection layer required
-l # : max protection layer (0=none; 1=integrity; etc)
-u user : authorization name to use
-a user : authentication
I have successfully compiled cyrus 2.3.1 and upgrade two servers from 2.1.6. By themselves they run fine. I've tried to configure replication with a 'master' and 'replica' server. The 'replica' seems to work, sync_server runs, if I telnet the replica on the csync port I get:
* SASL DIGEST-MD5* OK