Switch to new version numbering scheme.
[openssl.git] / STATUS
1
2   OpenSSL STATUS                           Last modified at
3   ______________                           $Date: 1999/05/18 08:52:01 $
4
5   DEVELOPMENT STATE
6
7     o  OpenSSL 0.9.3:  Freezed... only bugfixes and cleanups allowed!
8                        Proposed release date: Mon May 24th, 1999
9                        Release manager: Ben Laurie <ben@openssl.org>
10                        !! Important: Any non-bugfix, non-cleanup
11                        !! and non-documentation commits should
12                        !! be approved by Ben, first.
13
14     o  OpenSSL 0.9.2b: Released on March    22th, 1999
15     o  OpenSSL 0.9.1c: Released on December 23th, 1998
16
17      [ Proposed new numbering scheme: <major>.<minor>[<patchlevel>]
18        0.9.1c is   0913
19        1.0    is 010000
20        1.0  a is 010001
21        1.8  z is 01081a ]
22
23   RELEASE SHOWSTOPPERS
24
25     o BSD/OS: assembler functions must not have leading underscores
26     o exptest and rsa_oaep_test fail with irix64-*
27       (Don Badrak <dbadrak@geo.census.gov>: "Re: Problems to compile openssl
28           on IRIX 6.2", openssl-users)
29
30   AVAILABLE PATCHES
31
32     o OCSP (titchenert@certco.com) 
33     o getenv in ca.c and x509_def.c (jaltman@watsun.cc.columbia.edu)
34
35   IN PROGRESS
36
37     o Steve is currently working on (in no particular order):
38         Proper (or at least usable) certificate chain verification.
39         Documentation on X509 V3 extension code.
40         PKCS #8 and PKCS#5 v2.0 support.
41         Private key, certificate and CRL API and implementation.
42         Checking and bugfixing PKCS#7 (S/MIME code).
43
44     o Mark is currently working on:
45         Folding in any changes that are in the C2Net code base that were
46         not in the original SSLeay-0.9.1.b release.  Plus other minor
47         tidying.
48
49     o Ralf is currently working on:
50         1. Support for SSL_set_default_verify_paths(),
51            SSL_load_verify_locations(), SSL_get_cert_store() and
52            SSL_set_cert_store() functions which work like their existing
53            SSL_CTX_xxx() variants but on a per connection basis. That's needed
54            to let us provide full-featured per-URL client verification in
55            mod_ssl or Apache-SSL.
56            => It still dumps core, so I suspend this and investigate
57               again for OpenSSL 0.9.3.
58         2. The perl/ stuff to make it really work the first time ;-)
59            => I'll investigate a few more hours for OpenSSL 0.9.2
60         3. The new documentation set in POD format under doc/
61            => I'll investigate a few more hours for OpenSSL 0.9.2
62         4. More cleanups to get rid of obsolete/old/ugly files in the
63            source tree which are not really needed.
64            => Done all which were possible with my personal knowledge
65
66     o Ben is currently working on:
67         1. Function Prototype Thought Police issues.
68         2. Integrated documentation.
69         3. New TLS Ciphersuites.
70         4. Anything else that takes his fancy.
71
72   NEEDS PATCH
73
74     o  broken demos
75     o  salzr@certco.com (Rich Salz): Bug in X509_name_print
76        <29E0A6D39ABED111A36000A0C99609CA2C2BA4@macertco-srv1.ma.certco.com>
77     o  [ Compilation warnings: ctype-related int vs. char ]
78        => now casts (unsigned char), maybe those arrays should have
79           members of that type rather than plain char (i.e.
80           unsigned char *p; ....; if (isspace(*p)) ...; where it's now
81           char *p; ....; if (isspace((unsigned char)*p)) ...;)
82     o  $(PERL) in */Makefile.ssl
83     o  "Sign the certificate?" - "n" creates empty certificate file
84     o  dubious declaration of crypt() in des.h
85
86   OPEN ISSUES
87
88     o  The Makefile hierarchy and build mechanism is still not a round thing:
89
90        1. The config vs. Configure scripts
91           It's the same nasty situation as for Apache with APACI vs.
92           src/Configure. It confuses.
93           Suggestion: Merge Configure and config into a single configure
94                       script with a Autoconf style interface ;-) and remove
95                       Configure and config. Or even let us use GNU Autoconf
96                       itself. Then we can avoid a lot of those platform checks
97                       which are currently in Configure.
98
99     o  Support for Shared Libraries has to be added at least
100        for the major Unix platforms. The details we can rip from the stuff
101        Ralf has done for the Apache src/Configure script. Ben wants the
102        solution to be really simple.
103
104        Status: Ralf will look how we can easily incorporate the
105                compiler PIC and linker DSO flags from Apache
106                into the OpenSSL Configure script.
107
108     o  The perl/ stuff needs a major overhaul. Currently it's
109        totally obsolete. Either we clean it up and enhance it to be up-to-date
110        with the C code or we also could replace it with the really nice
111        Net::SSLeay package we can find under
112        http://www.neuronio.pt/SSLeay.pm.html.  Ralf uses this package for a
113        longer time and it works fine and is a nice Perl module. Best would be
114        to convince the author to work for the OpenSSL project and create a
115        Net::OpenSSL or Crypt::OpenSSL package out of it and maintains it for
116        us.
117
118        Status: Ralf thinks we should both contact the author of Net::SSLeay
119                and look how much effort it is to bring Eric's perl/ stuff up
120                to date.
121                Paul +1
122
123     o The EVP and ASN1 stuff is a mess. Currently you have one EVP_CIPHER
124       structure for each cipher. This may make sense for things like DES but
125       for variable length ciphers like RC2 and RC4 it is NBG. Need a way to
126       use the EVP interface and set up the cipher parameters. The ASN1 stuff
127       is also foo wrt ciphers whose AlgorithmIdentifier has more than just
128       an IV in it (e.g. RC2, RC5). This also means that EVP_Seal and EVP_Open
129       don't work unless the key length matches the fixed value (some vendors
130       use a key length decided by the size of the RSA encrypted key and expect
131       RC2 to adapt).
132
133     o Properly initialize the PRNG in the absence of /dev/random.
134
135     o ERR_error_string(..., buf) does not know how large buf is,
136       there should be ERR_error_string_n(..., buf, bufsize)
137       or similar.
138
139   WISHES
140
141     o  Mats Nilsson <mats.nilsson@xware.se>:
142        "Add reference counting to all substructures of X509 etc. For instance,
143        X509_NAME lacks a reference counter, while EVP_PKEY has one.  I'm
144        making COM-wrappers for selected parts of SSLeay for a project of ours,
145        and has found this inconsistency in copy semantics annoying."
146