This is the mail archive of the
cygwin-talk@cygwin.com
mailing list for the cygwin project.
RE: RFU: unison-2.9.1, unison-2.9.20, unison-2.10.2
- From: One Angry User <angry at lusers dot org>
- To: Talk Amongst Yourselves <cygwin-talk at cygwin dot com>
- Date: Sun, 6 Mar 2005 11:52:18 -0500 (EST)
- Subject: RE: RFU: unison-2.9.1, unison-2.9.20, unison-2.10.2
- Organization: The Lusers Forum
- References: <SERRANOPe2CT3odYi4e00000001@SERRANO.CAM.ARTIMI.COM>
- Reply-to: Talk Amongst Yourselves <cygwin-talk at cygwin dot com>
- Reply-to: Blaaab Babble Boogle Bop <cygwin-talk at cygwin dot com>
On a sunny but wintry Sunday, the 6th day of March, 2005, Dave Korn's
computer emitted the following stream of bytes:
> >> This design choice was apparently made to safeguard against possible
> >> changes in both the network protocol and archive formats between
> >> versions of Unison.> >
> > Could someone airdrop a clue here? Shouldn't it be a trivial
> > realization that the wire protocol, archive format, and program
> > version could be different things?
>
> I guess just because future versions of the protocol are
> backwardly-compatible, they still want the code to be safe against
> forwardly-incompatible changes to past versions of the code. What if
> someone goes back in a time machine and changes the behaviour of an
> older version of the code, after all? This protocol protects against
> it!
>
> Oooh, but what if the same malicious time-travelling software
> engineers also changed the version number string?
>
> Hmm. I suggest this patch:
>
> DKAdmin@ubik /usr/src/unison-2.9.20> cp remote.ml remote.ml.new
> DKAdmin@ubik /usr/src/unison-2.9.20> diff -pu remote.ml remote.ml.new
> --- remote.ml 2005-03-06 10:42:07.725894400 +0000
> +++ remote.ml.new 2005-03-06 10:41:58.923236800 +0000
> @@ -1002,8 +1002,12 @@ let rec checkHeader conn prefix buffer p
> ^ "\" but received \"" ^ String.escaped (prefix ^ buffer) ^ "\".\n"
> ^ "This is probably because you have different versions of Unison\n"
> ^ "installed on the client and server machines.\n"))
> - else
> - checkHeader conn (prefix ^ buffer) buffer (pos + 1) len)
> + else
> + (* mummy i'm scared *)
> + Lwt.fail
> + (Util.Fatal
> + ("Matching version on client and server.\n"
> + ^ "But what if it's not compatible with itself? Aborting to be safe.\n"))
You got a ChangeLog with that?
OAU