RFU: unison-2.9.1, unison-2.9.20, unison-2.10.2
One Angry User
angry@lusers.org
Sun Mar 6 16:52:00 GMT 2005
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
More information about the Cygwin-talk
mailing list