+ 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
+ not nice. Ralf suggests to move the two certs and private dirs either
+ to $prefix/etc/, $prefix/lib/ or $prefix/share. Alternatively
+ we could also not install the certs at all.
+
+ Status: Ralf +1 for both not installing the certs at all and
+ moving it to $prefix/etc/. +0 for $prefix/lib/
+ and $prefix/share.
+ Paul: why is it not nice?
+ Ralf: because it messes up the install dir when
+ $prefix is not a dedicated area like /usr/local/ssl.
+ When we move them to a standard subdir like
+ etc/ lib/ or share/ we don't mess up things
+ when $prefix is /usr or /usr/local, etc.
+ Additionally it makes package vendors life
+ easier....
+
+ o Support for Shared Libraries has to be added at least
+ for the major Unix platforms. The details we can rip from the stuff
+ Ralf has done for the Apache src/Configure script. Ben wants the
+ solution to be really simple.
+
+ Status: Ralf will look how we can easily incorporate the
+ compiler PIC and linker DSO flags from Apache
+ into the OpenSSL Configure script.
+
+ o The perl/ stuff needs a major overhaul. Currently it's
+ totally obsolete. Either we clean it up and enhance it to be up-to-date
+ with the C code or we also could replace it with the really nice
+ Net::SSLeay package we can find under
+ http://www.neuronio.pt/SSLeay.pm.html. Ralf uses this package for a
+ longer time and it works fine and is a nice Perl module. Best would be
+ to convince the author to work for the OpenSSL project and create a
+ Net::OpenSSL or Crypt::OpenSSL package out of it and maintains it for
+ us.
+
+ Status: Ralf thinks we should both contact the author of Net::SSLeay
+ and look how much effort it is to bring Eric's perl/ stuff up
+ to date.
+ Paul +1
+
+ 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."
+