Replace the macros in asn1.h with function equivalents. Also make UTF8Strings
[openssl.git] / STATUS
1
2   OpenSSL STATUS                           Last modified at
3   ______________                           $Date: 1999/10/07 16:58:08 $
4
5   DEVELOPMENT STATE
6
7     o  OpenSSL 0.9.5:  Under development...
8     o  OpenSSL 0.9.4:  Released on August   09th, 1999
9     o  OpenSSL 0.9.3a: Released on May      29th, 1999
10     o  OpenSSL 0.9.3:  Released on May      25th, 1999
11     o  OpenSSL 0.9.2b: Released on March    22th, 1999
12     o  OpenSSL 0.9.1c: Released on December 23th, 1998
13
14   RELEASE SHOWSTOPPERS
15
16   AVAILABLE PATCHES
17
18     o shared libraries <behnke@trustcenter.de>
19     o Lennart Bang: test program patches
20     o getenv in ca.c and x509_def.c (jaltman@watsun.cc.columbia.edu)
21     o SMIME tool (demo), Sampo Kellomaki <sampo@iki.fi>
22     o OCSP patch, Massimiliano Pala (madwolf@openca.org)
23     o CA.pl patch (Damien Miller)
24     o FreeBSD 3.0 changes (Richard Levitte)
25
26   IN PROGRESS
27
28     o Steve is currently working on (in no particular order):
29         Proper (or at least usable) certificate chain verification.
30         Private key, certificate and CRL API and implementation.
31         Checking and bugfixing PKCS#7 (S/MIME code).
32         Various X509 issues: character sets, certificate request extensions.
33
34     o Mark is currently working on:
35         Folding in any changes that are in the C2Net code base that were
36         not in the original SSLeay-0.9.1.b release.  Plus other minor
37         tidying.
38
39     o Ralf is currently working on:
40         1. Support for SSL_set_default_verify_paths(),
41            SSL_load_verify_locations(), SSL_get_cert_store() and
42            SSL_set_cert_store() functions which work like their existing
43            SSL_CTX_xxx() variants but on a per connection basis. That's needed
44            to let us provide full-featured per-URL client verification in
45            mod_ssl or Apache-SSL.
46            => It still dumps core, so I suspend this and investigate
47               again for OpenSSL 0.9.3.
48         2. The perl/ stuff to make it really work the first time ;-)
49            => I'll investigate a few more hours for OpenSSL 0.9.2
50         3. The new documentation set in POD format under doc/
51            => I'll investigate a few more hours for OpenSSL 0.9.2
52         4. More cleanups to get rid of obsolete/old/ugly files in the
53            source tree which are not really needed.
54            => Done all which were possible with my personal knowledge
55
56     o Ben is currently working on:
57         1. Function Prototype Thought Police issues.
58         2. Integrated documentation.
59         3. New TLS Ciphersuites.
60         4. Anything else that takes his fancy.
61
62   NEEDS PATCH
63
64     o  Arne Ansper: d2i_ASN1_bytes bug
65     o  salzr@certco.com (Rich Salz): Bug in X509_name_print
66        <29E0A6D39ABED111A36000A0C99609CA2C2BA4@macertco-srv1.ma.certco.com>
67     o  $(PERL) in */Makefile.ssl
68     o  "Sign the certificate?" - "n" creates empty certificate file
69
70   OPEN ISSUES
71
72     o internal_verify doesn't know about X509.v3 (basicConstraints
73       CA flag ...)
74
75     o  The Makefile hierarchy and build mechanism is still not a round thing:
76
77        1. The config vs. Configure scripts
78           It's the same nasty situation as for Apache with APACI vs.
79           src/Configure. It confuses.
80           Suggestion: Merge Configure and config into a single configure
81                       script with a Autoconf style interface ;-) and remove
82                       Configure and config. Or even let us use GNU Autoconf
83                       itself. Then we can avoid a lot of those platform checks
84                       which are currently in Configure.
85
86     o  Support for Shared Libraries has to be added at least
87        for the major Unix platforms. The details we can rip from the stuff
88        Ralf has done for the Apache src/Configure script. Ben wants the
89        solution to be really simple.
90
91        Status: Ralf will look how we can easily incorporate the
92                compiler PIC and linker DSO flags from Apache
93                into the OpenSSL Configure script.
94
95                Ulf: +1 for using GNU autoconf and libtool (but not automake,
96                     which apparently is not flexible enough to generate
97                     libcrypto)
98
99
100     o  The perl/ stuff needs a major overhaul. Currently it's
101        totally obsolete. Either we clean it up and enhance it to be up-to-date
102        with the C code or we also could replace it with the really nice
103        Net::SSLeay package we can find under
104        http://www.neuronio.pt/SSLeay.pm.html.  Ralf uses this package for a
105        longer time and it works fine and is a nice Perl module. Best would be
106        to convince the author to work for the OpenSSL project and create a
107        Net::OpenSSL or Crypt::OpenSSL package out of it and maintains it for
108        us.
109
110        Status: Ralf thinks we should both contact the author of Net::SSLeay
111                and look how much effort it is to bring Eric's perl/ stuff up
112                to date.
113                Paul +1
114
115     o The EVP and ASN1 stuff is a mess. Currently you have one EVP_CIPHER
116       structure for each cipher. This may make sense for things like DES but
117       for variable length ciphers like RC2 and RC4 it is NBG. Need a way to
118       use the EVP interface and set up the cipher parameters. The ASN1 stuff
119       is also foo wrt ciphers whose AlgorithmIdentifier has more than just
120       an IV in it (e.g. RC2, RC5). This also means that EVP_Seal and EVP_Open
121       don't work unless the key length matches the fixed value (some vendors
122       use a key length decided by the size of the RSA encrypted key and expect
123       RC2 to adapt).
124
125     o Properly initialize the PRNG in the absence of /dev/random.
126
127     o ERR_error_string(..., buf) does not know how large buf is,
128       there should be ERR_error_string_n(..., buf, bufsize)
129       or similar.
130
131   WISHES
132
133     o