Ethereal-dev: [Ethereal-dev] rsync - conversation candidate?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Brad Hards <bhards@xxxxxxxxxxxxxx>
Date: Wed, 16 Oct 2002 12:51:40 +1000
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

G'day all,

I'm in need of some understanding of the rsync protocol, which could be 
admirably provided by ethereal.

As I understand the client-server protocol, it is mostly text strings. However 
there isn't the normal nice things, like a length, or a "this packet has X 
meaning" in any fields. 

There is a longer (although probably slightly incorrect) explanation at 
http://cvs.samba.org/cgi-bin/cvsweb/rsync/csprotocol.txt?rev=1.4&content-type=text/x-cvsweb-markup

But basically you get something like
client: @RSYNCD: 26
server: @RSYNCD: 26
client: \n
server: \n
server: --server
client: --server . 
server: <some random text - message of the day>
server: <some module list> @RSYNC EXIT

(and it can vary depending on whether the request is for a module list, a 
directory listing or a file).

I'm finding this hard to decode, because the way each packet needs to be 
treated depends on the packets that have gone before.

I'm guessing I need to use the "conversation" routines for a problem like 
this. Is this so? I've read the Section 2.2 bit of README.developer a couple 
of times (and there are many, many times to go:). Any other hints?

Brad
- -- 
http://linux.conf.au. 22-25Jan2003. Perth, Aust. I'm registered. Are you?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9rNQ8W6pHgIdAuOMRArCgAKC98Aq4Rtj5AU3yla7T2OSSlxaOdQCdHfli
y3WoKMpCJRSaBDdP0lZoaBc=
=bbLx
-----END PGP SIGNATURE-----