Update platform test list
[openssl.git] / STATUS
1
2   OpenSSL STATUS                           Last modified at
3   ______________                           $Date: 1999/03/10 14:53:54 $
4
5   DEVELOPMENT STATE
6
7     o  OpenSSL 0.9.2: Freezed!
8        - No more feature commits, please. 
9        - Commit bugfixes and cleanups only, please.
10        - Already successfully tested platform:
11          o  FreeBSD 2.2.7    Ben Laurie            OK
12          o  FreeBSD 3.1      Ralf S. Engelschall   OK
13          o  Solaris 2.6      Ralf S. Engelschall   ctype warns, test fails in test_ssl
14          o  Linux RH 5.1     Steve Henson          OK
15          o  Linux 2.0 RH 5.2 Ralf S. Engelschall   OK
16          o  Linux 2.2 RH 5.2 Peter 'Luna' Altberg  OK
17          o  WinNT VC++ 6.0   Peter 'Luna' Altberg  troubles - see openssl-dev
18
19        Proposed release time: Monday, March 15th 1999
20
21     o  OpenSSL 0.9.1c: Released on December 23th, 1998
22
23   RELEASE SHOWSTOPPERS
24
25     o `make test' still fails under Solaris 2.6 in the test_ssl target
26     o Compilation warnings: ctype-related int vs. char
27     o Compilation error: "unsigned long*" and "int*" under AIX
28     o Why are NULL ciphers in front of the cipher spec?
29       (see my posting "Bug?!: Cipher Suite and NULL Ciphers" in openssl-dev)
30     o A Linux alpha user reported: "alpha.s does not have bn_div_word()"
31       (see posting "ALPHA error" in openssl-dev)
32
33   AVAILABLE PATCHES
34
35     o Solaris AS error (kenji@miyake.org)
36     o getenv in ca.c and x509_def.c (jaltman@watsun.cc.columbia.edu)
37     o s3_lib.c - export clients (levitte@stacken.kth.se)
38     o linux dynamic libs (colin@field.medicine.adelaide.edu.au)
39     o MingW support (niklas@canit.se)
40     o crypto/des/enc_read.c bugfix (mike@cs.mun.ca)
41
42   IN PROGRESS
43
44     o Steve is currently working on:
45         X509 V3 extension code including:
46         1. Support for the more common PKIX extensions.
47         2. Proper (or at least usable) certificate chain verification.
48         3. Support in standard applications (req, x509, ca).
49         4. Documentation on how all the above works.
50         Next on the list is probably PKCS#12 integration.
51
52     o Mark is currently working on:
53         Folding in any changes that are in the C2Net code base that were
54         not in the original SSLeay-0.9.1.b release.  Plus other minor
55         tidying.
56
57     o Ralf is currently working on:
58         1. Support for SSL_set_default_verify_paths(),
59            SSL_load_verify_locations(), SSL_get_cert_store() and
60            SSL_set_cert_store() functions which work like their existing
61            SSL_CTX_xxx() variants but on a per connection basis. That's needed
62            to let us provide full-featured per-URL client verification in
63            mod_ssl or Apache-SSL.
64            => It still dumps core, so I suspend this and investigate
65               again for OpenSSL 0.9.3.
66         2. The perl/ stuff to make it really work the first time ;-)
67            => I'll investigate a few more hours for OpenSSL 0.9.2
68         3. The new documentation set in POD format under doc/
69            => I'll investigate a few more hours for OpenSSL 0.9.2
70         4. More cleanups to get rid of obsolete/old/ugly files in the
71            source tree which are not really needed.
72            => Done all which were possible with my personal knowledge
73
74     o Ben is currently working on:
75         1. Function Prototype Thought Police issues.
76         2. Integrated documentation.
77         3. New TLS Ciphersuites.
78         4. Anything else that takes his fancy.
79
80   NEEDS PATCH
81
82   OPEN ISSUES
83
84     o  The Makefile hierarchy and build mechanism is still not a round thing:
85
86        1. The config vs. Configure scripts
87           It's the same nasty situation as for Apache with APACI vs.
88           src/Configure. It confuses.
89           Suggestion: Merge Configure and config into a single configure
90                       script with a Autoconf style interface ;-) and remove
91                       Configure and config. Or even let us use GNU Autoconf
92                       itself. Then we can avoid a lot of those platform checks
93                       which are currently in Configure.
94
95        2. The xxx.org -> xxx.h generation:
96           It's not obvious for which file xxx.org is the source.
97           Suggestion: Rename xxx.org to xxx.h.in (Autoconf style), this way
98                       one sees that xxx.h.in is the input for xxx.h
99
100           Status: Mark +1
101
102     o  The installation under "make install" produces a very
103        installation layout: $prefix/certs and $prefix/private dirs.  That's
104        not nice. Ralf suggests to move the two certs and private dirs either
105        to $prefix/etc/, $prefix/lib/ or $prefix/share. Alternatively
106        we could also not install the certs at all.
107
108        Status: Ralf +1 for both not installing the certs at all and
109                        moving it to $prefix/etc/. +0 for $prefix/lib/
110                        and $prefix/share.
111                Paul: why is it not nice?
112                Ralf: because it messes up the install dir when
113                      $prefix is not a dedicated area like /usr/local/ssl.
114                      When we move them to a standard subdir like
115                      etc/ lib/ or share/ we don't mess up things
116                      when $prefix is /usr or /usr/local, etc.
117                      Additionally it makes package vendors life
118                      easier....
119
120     o  Support for Shared Libraries has to be added at least
121        for the major Unix platforms. The details we can rip from the stuff
122        Ralf has done for the Apache src/Configure script. Ben wants the
123        solution to be really simple.
124
125        Status: Ralf will look how we can easily incorporate the
126                compiler PIC and linker DSO flags from Apache
127                into the OpenSSL Configure script.
128
129     o  The perl/ stuff needs a major overhaul. Currently it's
130        totally obsolete. Either we clean it up and enhance it to be up-to-date
131        with the C code or we also could replace it with the really nice
132        Net::SSLeay package we can find under
133        http://www.neuronio.pt/SSLeay.pm.html.  Ralf uses this package for a
134        longer time and it works fine and is a nice Perl module. Best would be
135        to convince the author to work for the OpenSSL project and create a
136        Net::OpenSSL or Crypt::OpenSSL package out of it and maintains it for
137        us.
138
139        Status: Ralf thinks we should both contact the author of Net::SSLeay
140                and look how much effort it is to bring Eric's perl/ stuff up
141                to date.
142                Paul +1
143
144     o The EVP and ASN1 stuff is a mess. Currently you have one EVP_CIPHER
145       structure for each cipher. This may make sense for things like DES but
146       for variable length ciphers like RC2 and RC4 it is NBG. Need a way to
147       use the EVP interface and set up the cipher parameters. The ASN1 stuff
148       is also foo wrt ciphers whose AlgorithmIdentifier has more than just
149       an IV in it (e.g. RC2, RC5). This also means that EVP_Seal and EVP_Open
150       don't work unless the key length matches the fixed value (some vendors
151       use a key length decided by the size of the RSA encrypted key and expect
152       RC2 to adapt).
153
154     o Properly initialize the PRNG in the absence of /dev/random.
155
156     o > NO_RSA (ejs@bfd.com)
157       > ./Configure -DNO_IDEA -DNO_RC5 -DNO_RC4 -DNO_RC2 -DNO_RSA -DNO_ERR linux-elf
158       > I tried for a whole day to do this and could not get it to work.  Linux
159       > machine, kernel 2.0.36 and 2.2.1, redhat 5.2 latest, gcc and egcs , no
160       > go.  I also noticed the even with -DNO_IDEA, _DNO_RC2, etc. the make
161       > still goes into those subdirectories and 'makes'.
162
163   WISHES
164
165     o  Damien Miller:
166        "How about making the each of the locations compile-time defined. I
167        would like to (for example) put binaries in /usr/bin, configuration
168        data, certs and keys in /etc/openssl/certs and /etc/openssl/keys, etc.
169        This would also be a great boon to binary package makers.  The
170        SSLeay-0.9.1b RPM already includes some patches which do some of this.
171        I can forward them if you wish."
172
173     o  Mats Nilsson <mats.nilsson@xware.se>:
174        "Add reference counting to all substructures of X509 etc. For instance,
175        X509_NAME lacks a reference counter, while EVP_PKEY has one.  I'm
176        making COM-wrappers for selected parts of SSLeay for a project of ours,
177        and has found this inconsistency in copy semantics annoying."
178