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