Tony Mantler
2008-06-02 18:27:15 UTC
So I've got this situation where I have two systems connected via a
protocol that looks nothing at all like IP, and I'd like to be able to
rsync between them.
I can, though, open a perfectly normal looking socket through various
magic and trickery.
I've managed to get rsync to work by using the "rsync
--rsh=mymagictransportprogram" style invocation, but for a number of
reasons this isn't really a viable long-term solution for me. What I'd
like to be able to do is either:
A: Set up stdin/stdout and exec rsync with some options that tell it
that there's a remote rsync on the other end of those FDs, or
B: Call rsync as a library, passing it a socket and directory(^Hies) to
sync with. (librsync doesn't seem to be quite what I want)
Basically I need to set up the socket beforehand and then hand it to
rsync somehow. This seems to be possible on the 'remote' end, but I
haven't managed to figure out how to do on the initiation side.
protocol that looks nothing at all like IP, and I'd like to be able to
rsync between them.
I can, though, open a perfectly normal looking socket through various
magic and trickery.
I've managed to get rsync to work by using the "rsync
--rsh=mymagictransportprogram" style invocation, but for a number of
reasons this isn't really a viable long-term solution for me. What I'd
like to be able to do is either:
A: Set up stdin/stdout and exec rsync with some options that tell it
that there's a remote rsync on the other end of those FDs, or
B: Call rsync as a library, passing it a socket and directory(^Hies) to
sync with. (librsync doesn't seem to be quite what I want)
Basically I need to set up the socket beforehand and then hand it to
rsync somehow. This seems to be possible on the 'remote' end, but I
haven't managed to figure out how to do on the initiation side.