OpenSSL STATUS Last modified at
- ______________ $Date: 1999/01/01 15:58:14 $
+ ______________ $Date: 1999/04/08 20:45:53 $
DEVELOPMENT STATE
- o OpenSSL 0.9.2: Under development.
+ o OpenSSL 0.9.3: Under development...
+ o OpenSSL 0.9.2b: Released on March 22th, 1999
o OpenSSL 0.9.1c: Released on December 23th, 1998
RELEASE SHOWSTOPPERS
+ o Compilation warnings: ctype-related int vs. char
+ o Compilation error: "unsigned long*" and "int*" under AIX
+ o Undefined BN symbols in assembler stuff on Solaris
+ (see posting "openssl-SNAP-19990308-2130 on Solaris-2.6 SC4" in openssl-dev)
+ o BN assembler code in r3000.s, mips*.s and pa-risc*.s is broken
+ o BSD/OS: assembler functions must not have leading underscores
+ o Niels Poppe reports that RSA fails with alpha.s
+ o exptest fails with irix64-*
+ (Don Badrak <dbadrak@geo.census.gov>: "Re: Problems to compile openssl
+ on IRIX 6.2", openssl-users)
+ o BN_add test fails on Caldera OpenLinux 1.3
+ (Marc Christensen <Marc.Christensen@m.cc.utah.edu>
+ "Compiles but fails big number test?", openssl-users)
+
AVAILABLE PATCHES
+ o OCSP (titchenert@certco.com)
+ o unsigned vs. non-unsigned (levitte@stacken.kth.se)
+ o Install prefix for packagers (dharris@drh.net)
+ o getenv in ca.c and x509_def.c (jaltman@watsun.cc.columbia.edu)
+ o linux dynamic libs (colin@field.medicine.adelaide.edu.au)
+ o MingW support (niklas@canit.se)
+ o SPARC v9, SPARC v8 assembler implementations of bn_asm.c
+ (appro@fy.chalmers.se)
+
IN PROGRESS
- o Ben is folding in his patches
+ o Steve is currently working on (in no particular order):
+ Proper (or at least usable) certificate chain verification.
+ Documentation on X509 V3 extension code.
+ PKCS#12 code cleanup and enhancement.
+
+ o Mark is currently working on:
+ Folding in any changes that are in the C2Net code base that were
+ not in the original SSLeay-0.9.1.b release. Plus other minor
+ tidying.
+
+ o Ralf is currently working on:
+ 1. Support for SSL_set_default_verify_paths(),
+ SSL_load_verify_locations(), SSL_get_cert_store() and
+ SSL_set_cert_store() functions which work like their existing
+ SSL_CTX_xxx() variants but on a per connection basis. That's needed
+ to let us provide full-featured per-URL client verification in
+ mod_ssl or Apache-SSL.
+ => It still dumps core, so I suspend this and investigate
+ again for OpenSSL 0.9.3.
+ 2. The perl/ stuff to make it really work the first time ;-)
+ => I'll investigate a few more hours for OpenSSL 0.9.2
+ 3. The new documentation set in POD format under doc/
+ => I'll investigate a few more hours for OpenSSL 0.9.2
+ 4. More cleanups to get rid of obsolete/old/ugly files in the
+ source tree which are not really needed.
+ => Done all which were possible with my personal knowledge
+
+ o Ben is currently working on:
+ 1. Function Prototype Thought Police issues.
+ 2. Integrated documentation.
+ 3. New TLS Ciphersuites.
+ 4. Anything else that takes his fancy.
NEEDS PATCH
+ o broken demos
+ o salzr@certco.com (Rich Salz): Bug in X509_name_print
+ <29E0A6D39ABED111A36000A0C99609CA2C2BA4@macertco-srv1.ma.certco.com>
+ o autogenerated code in pem.h
+ o Jean-Hugues ROYER <jhroyer@joher.com>: rsa_oaep.c with Watcom C
+ o $(PERL) in */Makefile.ssl
+ o "Sign the certificate?" - "n" creates empty certificate file
+ o add Configure option "rsaref"
+ o dubious declaration of crypt() in des.h
+
OPEN ISSUES
- o The apps/ dir should be cleaned up.
- Ralf proposes the following cleanup:
- 1. We rename the ssleay program to openssl.
- => This way it's consistent with out project and
- with the already started openssl(1) manpage, etc.
- 2. We no longer create such a lot of <command> links for
- "openssl <command>". Instead we follow the "cvs" interface idea
- where all <command>s are called as "cvs <command>".
- => This no longer messes up the install dir with
- symlinks and provides a single-one and consistent command line
- interface. Additionally we can document it nicely with the single
- already started openssl(1) manual page.
- Status: Ralf +1
+ o The Makefile hierarchy and build mechanism is still not a round thing:
+
+ 1. The config vs. Configure scripts
+ It's the same nasty situation as for Apache with APACI vs.
+ src/Configure. It confuses.
+ Suggestion: Merge Configure and config into a single configure
+ script with a Autoconf style interface ;-) and remove
+ Configure and config. Or even let us use GNU Autoconf
+ itself. Then we can avoid a lot of those platform checks
+ which are currently in Configure.
+
+ 2. The xxx.org -> xxx.h generation:
+ It's not obvious for which file xxx.org is the source.
+ Suggestion: Rename xxx.org to xxx.h.in (Autoconf style), this way
+ one sees that xxx.h.in is the input for xxx.h
+
+ Status: Mark +1
o The installation under "make install" produces a very
installation layout: $prefix/certs and $prefix/private dirs. That's
to date.
Paul +1
- o Ralf has ported Stephen's pkcs12 program to OpenSSL (the
- ASN.1 stuff Eric recently changed :-( ), but needs some help from
- Stephen at two source locations. Stephen itself also has ported his
- internal pkcs12 0.53 version to OpenSSL, but thinks we still shouldn't
- incorporate it into OpenSSL because it needs more cleanups. Ralf still
- thinks pkcs12 should be incorporated better now than later because it's
- nasty to not have it in the core - one always has to install it
- manually and a lot of people use it. So, should we incorporate it?
- BTW, we have to be carefully because of the pkcs12 license: There are
- some things which don't match the OpenSSL license, so Stephen has to
- change it for us when we want to incorporate the code.
-
- Status: Ralf +1, Stephen -0
+ o The EVP and ASN1 stuff is a mess. Currently you have one EVP_CIPHER
+ structure for each cipher. This may make sense for things like DES but
+ for variable length ciphers like RC2 and RC4 it is NBG. Need a way to
+ use the EVP interface and set up the cipher parameters. The ASN1 stuff
+ is also foo wrt ciphers whose AlgorithmIdentifier has more than just
+ an IV in it (e.g. RC2, RC5). This also means that EVP_Seal and EVP_Open
+ don't work unless the key length matches the fixed value (some vendors
+ use a key length decided by the size of the RSA encrypted key and expect
+ RC2 to adapt).
+
+ o Properly initialize the PRNG in the absence of /dev/random.
+
+ o > NO_RSA (ejs@bfd.com)
+ > ./Configure -DNO_IDEA -DNO_RC5 -DNO_RC4 -DNO_RC2 -DNO_RSA -DNO_ERR linux-elf
+ > I tried for a whole day to do this and could not get it to work. Linux
+ > machine, kernel 2.0.36 and 2.2.1, redhat 5.2 latest, gcc and egcs , no
+ > go. I also noticed the even with -DNO_IDEA, _DNO_RC2, etc. the make
+ > still goes into those subdirectories and 'makes'.
+
+ o The "exported" header files should not use #include "foo.h", but
+ #include <foo.h> or even better #include <ssl/foo.h> or
+ #include <openssl/foo.h> in order to avoid filename clashes.
+
+ o ERR_error_string(..., buf) does not know how large buf is,
+ there should be ERR_error_string_n(..., buf, bufsize)
+ or similar.
+
+ WISHES
+
+ o Damien Miller:
+ "How about making the each of the locations compile-time defined. I
+ would like to (for example) put binaries in /usr/bin, configuration
+ data, certs and keys in /etc/openssl/certs and /etc/openssl/keys, etc.
+ This would also be a great boon to binary package makers. The
+ SSLeay-0.9.1b RPM already includes some patches which do some of this.
+ I can forward them if you wish."
+
+ o Mats Nilsson <mats.nilsson@xware.se>:
+ "Add reference counting to all substructures of X509 etc. For instance,
+ X509_NAME lacks a reference counter, while EVP_PKEY has one. I'm
+ making COM-wrappers for selected parts of SSLeay for a project of ours,
+ and has found this inconsistency in copy semantics annoying."
+