=================
= RELEASE NOTES =
=================

NEWSSL ALPHA Release 0.01  May 9 1995

This release is to start an RFC fro this package.  Because it is still a long
way from being releaseable This first version is just to ask the "Internet"
for better way of doing this package.  I have taken the spec.s written in the
SSL.txt and modified it ideas to better suit a general purpose Secure Socket
Library.  This first version contains NO encryption routines.  The reason for
this is so I don't have to worry about the US goverment stopping this work due
to some stupid and obsolete regulation.  Also the software does not depend
upon any patented software.  When I contacted XXX (not to mention names) to
licence the public encryption algorithm, I found the pricing extremly
unreasonable for my small web server. (I accept political donations). 

Things changed from the SSL spec
  1> Any number is now sent in network byte order.
  2> Message header is now always 4 bytes
	[0] + [1] length with 2 bit mask on byte [0].
		this limits the message size to 16K always.
	[2] pad
	[3] dummy (TBD)
  3> The cipher exchange byte is now a 'long' NOT 3 bytes.
  4> The SID of client hello now can contain a unique user number. This allows
	for the master key encryption to be a user symmetric private key.
	the server MUST know that user.
  5> The SID could also be part of Diffie-Hellman key exchange. The patent
	expires in less than two years.
  6> The ciphers are derived from a virtual class (crypto)
  7> Add a "BLOCKING" protocol.  Now if one byte is lost, ther server could
	hang or else use a select() call. 
  8> Add a private key system

Things TODO
  1> Find memory leaks.
  2> Add session ID lookup for private keys.  
  3> Add cert X.509 (I need help here.)
  4> Refine the interface and improve library support.
  5> Port to other hosts. (Need help here)
  6> Try to get a reasonable priced public key license for me.
  7> Improve the code to add new ideas.
  8> Complete the "BLOCKING" protocol
  9> improve the documentation


TO MAKE
   enter the src dir and type 'make'

TO RUN
   type
   >  sslsrv xxxx &
   where xxxx is a port number in decimal

  then type
  > sslcli srvname port (1 | 2)
  where srvname is the name of the host that is running the server
  port int the same port as ther server
  and (1 | 2) tell the server what informatin is wanted
 
    
The following notices apply to this package:

    Copyright (c) 1995 Shaun Savage.
    All rights reserved.
  
    This product includes software developed by Shaun Savage and other people.
  
    THIS SOFTWARE IS PROVIDED BY SHAUN SAVAGE AND CONTRIBUTORS
    ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASHINGTON
    UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
    ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.







