Add preliminary user level config documentation for extension stuff. Programming
[openssl.git] / STATUS
1
2   OpenSSL STATUS                           Last modified at
3   ______________                           $Date: 1999/02/21 12:33:58 $
4
5   DEVELOPMENT STATE
6
7     o  OpenSSL 0.9.2:  Still under development. 
8                        Proposed freeze  time: Monday, March  8th 1999
9                        Proposed release time: Monday, March 15th 1999
10     o  OpenSSL 0.9.1c: Released on December 23th, 1998
11
12   RELEASE SHOWSTOPPERS
13
14   AVAILABLE PATCHES
15
16     o Solaris AS error (kenji@miyake.org)
17     o getenv in ca.c and x509_def.c (jaltman@watsun.cc.columbia.edu)
18     o s3_lib.c - export clients (levitte@stacken.kth.se)
19     o linux dynamic libs (colin@field.medicine.adelaide.edu.au)
20     o MingW support (niklas@canit.se)
21     o crypto/des/enc_read.c bugfix (mike@cs.mun.ca)
22
23   IN PROGRESS
24
25     o Steve is currently working on:
26         X509 V3 extension code including:
27         1. Support for the more common PKIX extensions.
28         2. Proper (or at least usable) certificate chain verification.
29         3. Support in standard applications (req, x509, ca).
30         4. Documentation on how all the above works.
31         Next on the list is probably PKCS#12 integration.
32
33     o Mark is currently working on:
34         Folding in any changes that are in the C2Net code base that were
35         not in the original SSLeay-0.9.1.b release.  Plus other minor
36         tidying.
37
38     o Ralf is currently working on:
39         1. Support for SSL_set_default_verify_paths(),
40            SSL_load_verify_locations(), SSL_get_cert_store() and
41            SSL_set_cert_store() functions which work like their existing
42            SSL_CTX_xxx() variants but on a per connection basis. That's needed
43            to let us provide full-featured per-URL client verification in
44            mod_ssl or Apache-SSL.
45         2. The perl/ stuff to make it really work the first time ;-)
46         3. The new documentation set in PID format under doc/
47         4. More cleanups to get rid of obsolete/old/ugly files in the
48            source tree which are not really needed.
49
50     o Ben is currently working on:
51       Integration of the "send a correct CA list for SSLCACertificatePath"
52       from Apache-SSL/mod_ssl.
53
54   NEEDS PATCH
55
56   OPEN ISSUES
57
58     o  The Makefile hierarchy and build mechanism is still not a round thing:
59
60        1. The config vs. Configure scripts
61           It's the same nasty situation as for Apache with APACI vs.
62           src/Configure. It confuses.
63           Suggestion: Merge Configure and config into a single configure
64                       script with a Autoconf style interface ;-) and remove
65                       Configure and config. Or even let us use GNU Autoconf
66                       itself. Then we can avoid a lot of those platform checks
67                       which are currently in Configure.
68
69        2. The xxx.org -> xxx.h generation:
70           It's not obvious for which file xxx.org is the source.
71           Suggestion: Rename xxx.org to xxx.h.in (Autoconf style), this way
72                       one sees that xxx.h.in is the input for xxx.h
73
74           Status: Mark +1
75
76     o  The installation under "make install" produces a very
77        installation layout: $prefix/certs and $prefix/private dirs.  That's
78        not nice. Ralf suggests to move the two certs and private dirs either
79        to $prefix/etc/, $prefix/lib/ or $prefix/share. Alternatively
80        we could also not install the certs at all.
81
82        Status: Ralf +1 for both not installing the certs at all and
83                        moving it to $prefix/etc/. +0 for $prefix/lib/
84                        and $prefix/share.
85                Paul: why is it not nice?
86                Ralf: because it messes up the install dir when
87                      $prefix is not a dedicated area like /usr/local/ssl.
88                      When we move them to a standard subdir like
89                      etc/ lib/ or share/ we don't mess up things
90                      when $prefix is /usr or /usr/local, etc.
91                      Additionally it makes package vendors life
92                      easier....
93
94     o  Support for Shared Libraries has to be added at least
95        for the major Unix platforms. The details we can rip from the stuff
96        Ralf has done for the Apache src/Configure script. Ben wants the
97        solution to be really simple.
98
99        Status: Ralf will look how we can easily incorporate the
100                compiler PIC and linker DSO flags from Apache
101                into the OpenSSL Configure script.
102
103     o  The perl/ stuff needs a major overhaul. Currently it's
104        totally obsolete. Either we clean it up and enhance it to be up-to-date
105        with the C code or we also could replace it with the really nice
106        Net::SSLeay package we can find under
107        http://www.neuronio.pt/SSLeay.pm.html.  Ralf uses this package for a
108        longer time and it works fine and is a nice Perl module. Best would be
109        to convince the author to work for the OpenSSL project and create a
110        Net::OpenSSL or Crypt::OpenSSL package out of it and maintains it for
111        us.
112
113        Status: Ralf thinks we should both contact the author of Net::SSLeay
114                and look how much effort it is to bring Eric's perl/ stuff up
115                to date.
116                Paul +1
117
118     o The EVP and ASN1 stuff is a mess. Currently you have one EVP_CIPHER
119       structure for each cipher. This may make sense for things like DES but
120       for variable length ciphers like RC2 and RC4 it is NBG. Need a way to
121       use the EVP interface and set up the cipher parameters. The ASN1 stuff
122       is also foo wrt ciphers whose AlgorithmIdentifier has more than just
123       an IV in it (e.g. RC2, RC5). This also means that EVP_Seal and EVP_Open
124       don't work unless the key length matches the fixed value (some vendors
125       use a key length decided by the size of the RSA encrypted key and expect
126       RC2 to adapt).
127
128     o Properly initialize the PRNG in the absence of /dev/random.
129
130     o > NO_RSA (ejs@bfd.com)
131       > ./Configure -DNO_IDEA -DNO_RC5 -DNO_RC4 -DNO_RC2 -DNO_RSA -DNO_ERR linux-elf
132       > I tried for a whole day to do this and could not get it to work.  Linux
133       > machine, kernel 2.0.36 and 2.2.1, redhat 5.2 latest, gcc and egcs , no
134       > go.  I also noticed the even with -DNO_IDEA, _DNO_RC2, etc. the make
135       > still goes into those subdirectories and 'makes'.
136
137   WISHES
138
139     o  Damien Miller:
140        "How about making the each of the locations compile-time defined. I
141        would like to (for example) put binaries in /usr/bin, configuration
142        data, certs and keys in /etc/openssl/certs and /etc/openssl/keys, etc.
143        This would also be a great boon to binary package makers.  The
144        SSLeay-0.9.1b RPM already includes some patches which do some of this.
145        I can forward them if you wish."
146