I’ve been working to put an OpenSRS reseller site on rails and threw
together a quick implementation of their XCP client protocol. It isn’t
fully-featured, well-documented, … but it’s a start that gets most of
the harder bits out of the way.
On a more general Ruby note it contains a perl-compatible Blowfish
implementation so if you have a legacy perl app that you want to talk
to from Ruby that does CBC Blowfish encryption in RandomIV header
mode then this might help. The issues I ran into were that the Ruby
Crypt::CBC wasn’t padding the way perl’s implementation desired and
perl forcibly mangled the key to be 56 bytes long even if it was
already that long to begin with.