[263] in Zephyr Mailing List

home help back first fref pref prev next nref lref last post

Re: Making Zephyr a standard

daemon@ATHENA.MIT.EDU (Derrick J Brashear)
Thu Mar 6 13:55:03 1997

Date: Thu, 6 Mar 1997 13:45:42 -0500 (EST)
From: Derrick J Brashear <shadow@DEMENTIA.ORG>
Reply-To: Derrick J Brashear <shadow@DEMENTIA.ORG>
To: zephyr@MIT.EDU
In-Reply-To: <199703061820.NAA24153@the-light-fantastic.MIT.EDU>

>  > I keep thinking to myself that it'd be nice to see a Zephyr
>  > internet-draft or RFC, and eventually an Internet standard document
>  > on it.
>  
>  Unfortunately, the Zephyr protocol is fundamentally flawed in multiple
>  ways:
>  
>  	* It uses a bogus encoding which multiplies the packet size by
>  	  a factor of 3 or so.

This can be solved by bumping to 0.3 and just fixing it. It just means
compatibility problems.
 
>  	* It doesn't have any support for multiple authentication
>  	  types, and the authentication scheme is uses is
>  	  cryptographically flawed (des_quad_cksum() is not a good
>  	  hash).

True.

>  	* It fails to establish a long-lived context for
>  	  authentication, instead authenticating every packet the hard
>  	  way (the server has some caching hacks to make this cheaper,
>  	  but it's still a protocol flaw).

The problem with long-lived authentication contexts in a packet based protocol
is that if you're getting rid of some information, you're getting rid of some
information, which unless you're careful makes things less secure. A good
reference on this is the Hijacking Rx paper from CITI.

>  	* It uses a host-specific rendezvous point, enforced by the
>  	  server, making it impossible for two people to use
>  	  independent client implementations on the same machine.

Or be in different realms, with the "current" architecture.(*) Problem with a
simple change here is the server enforces the zhm port. I'm not sure why.
 
>  	* It has none of the TCP fairness algorithms (unless you count
>  	  the exponential backoff I've added).

Well, it's not using TCP:-)
 
>  	* It is exceptionally inefficient at transmitting large
>  	  messages, since it has no concept of windows and only
>  	  acknowledges entire messages.

Presumably this is because the way it does it, while not terribly clean, was at
some point easy to implement. It's also a pain doing it this way if the packet
needs to grow at the server, like if (assume a multi-authentication-type
architecture) the receiving client has a different authentication scheme which
makes the packet too large. The server then needs to split the packet. Not
terribly hard, but a pain nonetheless.

>  In my opinion, what makes Zephyr worth maintaining outside of MIT is
>  zwgc, which has a fairly unique and hard to duplicate user interface
>  in the world of messaging software.  It's kind of amusing that I would
>  come to this conclusion, since I personally don't even like
>  windowgrams and use a custom interface which makes Zephyr look rather
>  similar to IRC.

I keep having urges to extend zwgc to deal (somewhat) with MIME. So far I have
resisted. If I ever get the sparclinux midlevel audio support to work, maybe
I'll have to think about it more. Sigh.

-D


* Yes, I know about the zhm hacks which allow this not to be the case. zstat
johnstown.andrew.cmu.edu :-)


home help back first fref pref prev next nref lref last post