This commit was generated by cvs2svn to track changes on a CVS vendor
[openssl.git] / README.090
1 10-Apr-1998
2 I said the next version would go out at easter, and so it shall.
3 I expect a 0.9.1 will follow with portability fixes in the next few weeks.
4
5 This is a quick, meet the deadline.  Look to ssl-users for comments on what
6 is new etc.
7
8 The state of play
9 - TLSv1 - I need to do some explaining about how the methods interact.
10   The bad news is that SSLeay 0.8.x application will not roll back to
11   SSLv3, I suffed up.  0.8.x is rather pedantic about the '3.0' version
12   number.  Look at the 'no-tls' options in applications in the apps directory.
13 - The perl5 stuff is very rough.  The SSL part does not work due to
14   reference count hassles in the BIO stuff.  I just have not had time to
15   look at it.  The cipher, digest and bignum stuff works though.  I just
16   need to clean up the API.
17 - Lots of x86 assember.  I now have it for des, 3des, rc4, rc5, blowfish,
18   cast, md5, sha1 and ripemd160.  It has been tested on win32, linux (elf)
19   and FreeBSD (a.out).
20 - As mentioned above, cast, rc5 and ripemd160 have been added.
21 - A simple HMAC set of functions.
22 - EX_DATA strucutre, which can be used by applications or other libraries
23   to tack arbitarty data against strucutures that include it.
24   You will probably have to see examples to see how to use it, and I will
25   elaberate on the ssl-users mailing list
26 - RSA blinding.  If you fear timing attacks on RSA, you can turn on
27   blinding which defeats it.
28 - From Tim Hudson, try running 'sh config' instead of 'perl Configure'.
29   I makes an educated guess as to what you are and then runs 'perl Configure'
30 - The error stuff has been modified so arbitary strings can be taged
31   against an error message.  It is used in a few places to elaberate on
32   parameters that caused the error.
33
34 Areas of work
35 - The 16bit big-num assember needs a routine added.  The WIN16 and
36   WIN32 stuff is ok, but MS-DOS or 286 builds need the update.
37 - Most of the bignum assember will not work.  There will be a function
38   missing, bn_add_words().  I need people to send me the C compiler output
39   for platforms I don't already have.  Currently, the assember is correct for
40   x86, win32, win16(386+), linux elf, FreeBSD a.out and sparc.
41 - PKCS7, I have delusions of s/MIME.  I need to do a BIO interface.
42 - perl5, it needs finishing
43 - X509v3 extension.  I have some ideas, I just need to
44   implement them :-)
45 - Public key methods.  I need to clean up the library internally so
46   public key methods are loaded is a similar way to symetric ciphers
47   and digests.  I also need to seperate out the digests from public
48   key methods.  This stuff is needed to support sortware patents, smaller
49   code size and hardware tokens.
50
51 Anyway, this release gets out the bug fixes and TLS, but be warned, until
52 all those old SSLeay 0.8.x based server get upgraded, you will need to
53 connect with SSLv3 if TLSv1 fails.
54
55 eric (about to go bushwalking for the 4 day easter break :-)
56
57 PS Common problems
58 - For Win32 build, use /MD to specify your libraries, or build SSLeay with
59   the same flags as your application.  Visual C stuffs up the malloc routines
60   if memory allocated by one memory model is freed by another.  FILE pointers
61   are a major cause of these problem.
62 - If you are trying to use non-blocking IO and it is not working,
63   try 'ssleay s_client -help' and see if the -nbio option is listed.
64   For unixware, it has the non-block IO define in 'differnt' header file
65   and SSLeay will silently build without non-blocking IO calls (but for
66   unixware, the special header has been included).
67 - -DL_ENDIAN.  For the message digests, some code needs to be turned off
68   in the C code when assember is used.  For x86, this means the L_ENDIAN
69   needs to defined when x86 -DSHA1_ASM is defined.  The reasons this is
70   not automagically done is because non-x86 assember could be bigendian.
71   For pure C code builds, the B_ENDIAN/L_ENDIAN flags are optional.