Skip to content
CHANGES 46.4 KiB
Newer Older
 OpenSSL CHANGES
  *) Fix various things to let OpenSSL even pass ``egcc -pipe -O2 -Wall
     -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes
     -Wmissing-declarations -Wnested-externs -Winline'' with EGCS 1.1.2+ 
     [Ralf S. Engelschall]

  *) Various fixes to the EVP and PKCS#7 code. It may now be able to
     handle PKCS#7 enveloped data properly.
     [Sebastian Akerman <sak@parallelconsulting.com>, modified by Steve]

  *) Create a duplicate of the SSL_CTX's CERT in SSL_new instead of
     copying pointers.  The cert_st handling is changed by this in
     various ways (and thus what used to be known as ctx->default_cert
     is now called ctx->cert, since we don't resort to s->ctx->[default_]cert
     any longer when s->cert does not give us what we need).
     ssl_cert_instantiate becomes obsolete by this change.
     As soon as we've got the new code right (possibly it already is?),
     we have solved a couple of bugs of the earlier code where s->cert
     was used as if it could not have been shared with other SSL structures.

     Note that using the SSL API in certain dirty ways now will result
     in different behaviour than observed with earlier library versions:
     Changing settings for an SSL_CTX *ctx after having done s = SSL_new(ctx)
     does not influence s as it used to.
     
     Projected further changes:
     In order to clean up things more thoroughly, inside SSL_SESSION
     we should not use CERT any longer, but a new structure SESS_CERT
     that holds per-session data, and CERT should hold only those
     values that can have meaningful defaults in an SSL_CTX.
     [Bodo Moeller]

  *) New function X509V3_EXT_i2d() to create an X509_EXTENSION structure
     from the internal representation. Various PKCS#7 fixes: remove some
     evil casts and set the enc_dig_alg field properly based on the signing
     key type.
     [Steve Henson]

  *) Allow PKCS#12 password to be set from the command line or the
     environment. Let 'ca' get its config file name from the environment
     variables "OPENSSL_CONF" or "SSLEAY_CONF" (for consistency with 'req'
     and 'x509').
     [Steve Henson]

  *) Allow certificate policies extension to use an IA5STRING for the
     organization field. This is contrary to the PKIX definition but
     VeriSign uses it and IE5 only recognises this form. Document 'x509'
     extension option.
     [Steve Henson]

Ben Laurie's avatar
Ben Laurie committed
  *) Add PEDANTIC compiler flag to allow compilation with gcc -pedantic,
     without disallowing inline assembler and the like for non-pedantic builds.
     [Ben Laurie]

  *) Support Borland C++ builder.
     [Janez Jere <jj@void.si>, modified by Ulf Möller]

  *) Support Mingw32.
     [Ulf Möller]

  *) SHA-1 cleanups and performance enhancements.
     [Andy Polyakov <appro@fy.chalmers.se>]

Ulf Möller's avatar
Ulf Möller committed
  *) Sparc v8plus assembler for the bignum library.
     [Andy Polyakov <appro@fy.chalmers.se>]
  *) Accept any -xxx and +xxx compiler options in Configure.
     [Ulf Möller]

  *) Update HPUX configuration.
     [Anonymous]
  
  *) Add missing sk_<type>_unshift() function to safestack.h
     [Ralf S. Engelschall]

  *) New function SSL_CTX_use_certificate_chain_file that sets the
     "extra_cert"s in addition to the certificate.  (This makes sense
     only for "PEM" format files, as chains as a whole are not
     DER-encoded.)
     [Bodo Moeller]

  *) Support verify_depth from the SSL API.
     x509_vfy.c had what can be considered an off-by-one-error:
     Its depth (which was not part of the external interface)
     was actually counting the number of certificates in a chain;
     now it really counts the depth.
     [Bodo Moeller]

  *) Bugfix in crypto/x509/x509_cmp.c: The SSLerr macro was used
     instead of X509err, which often resulted in confusing error
     messages since the error codes are not globally unique
     (e.g. an alleged error in ssl3_accept when a certificate
     didn't match the private key).

  *) New function SSL_CTX_set_session_id_context that allows to set a default
     value (so that you don't need SSL_set_session_id_context for each
     connection using the SSL_CTX).
Ulf Möller's avatar
Ulf Möller committed
  *) OAEP decoding bug fix.
     [Ulf Möller]

  *) Support INSTALL_PREFIX for package builders, as proposed by
     David Harris.
     [Bodo Moeller]

Bodo Möller's avatar
 
Bodo Möller committed
  *) New Configure options "threads" and "no-threads".  For systems
     where the proper compiler options are known (currently Solaris
     and Linux), "threads" is the default.
     [Bodo Moeller]

  *) New script util/mklink.pl as a faster substitute for util/mklink.sh.
     [Bodo Moeller]

  *) Install various scripts to $(OPENSSLDIR)/misc, not to
     $(INSTALLTOP)/bin -- they shouldn't clutter directories
     such as /usr/local/bin.
     [Bodo Moeller]

Ulf Möller's avatar
Ulf Möller committed
  *) "make linux-shared" to build shared libraries.
  *) New Configure option no-<cipher> (rsa, idea, rc5, ...).
     [Ulf Möller]

  *) Add the PKCS#12 API documentation to openssl.txt. Preliminary support for
     extension adding in x509 utility.
     [Steve Henson]

  *) Remove NOPROTO sections and error code comments.
     [Ulf Möller]

  *) Partial rewrite of the DEF file generator to now parse the ANSI
     prototypes.
     [Steve Henson]

  *) New Configure options --prefix=DIR and --openssldir=DIR.
Ulf Möller's avatar
Ulf Möller committed
     [Ulf Möller]
  *) Complete rewrite of the error code script(s). It is all now handled
     by one script at the top level which handles error code gathering,
     header rewriting and C source file generation. It should be much better
     than the old method: it now uses a modified version of Ulf's parser to
     read the ANSI prototypes in all header files (thus the old K&R definitions
     aren't needed for error creation any more) and do a better job of
     translating function codes into names. The old 'ASN1 error code imbedded
     in a comment' is no longer necessary and it doesn't use .err files which
     have now been deleted. Also the error code call doesn't have to appear all
     on one line (which resulted in some large lines...).
Bodo Möller's avatar
 
Bodo Möller committed
  *) Change #include filenames from <foo.h> to <openssl/foo.h>.
Bodo Möller's avatar
 
Bodo Möller committed
     [Bodo Moeller]

  *) Change behaviour of ssl2_read when facing length-0 packets: Don't return
     0 (which usually indicates a closed connection), but continue reading.
     [Bodo Moeller]

Bodo Möller's avatar
 
Bodo Möller committed
  *) Fix some race conditions.
     [Bodo Moeller]

  *) Add support for CRL distribution points extension. Add Certificate
     Policies and CRL distribution points documentation.
     [Steve Henson]

  *) Move the autogenerated header file parts to crypto/opensslconf.h.
     [Ulf Möller]

Ben Laurie's avatar
Ben Laurie committed
  *) Fix new 56-bit DES export ciphersuites: they were using 7 bytes instead of
     8 of keying material. Merlin has also confirmed interop with this fix
     between OpenSSL and Baltimore C/SSL 2.0 and J/SSL 2.0.
     [Merlin Hughes <merlin@baltimore.ie>]

Ulf Möller's avatar
Ulf Möller committed
  *) Fix lots of warnings.
     [Richard Levitte <levitte@stacken.kth.se>]
 
  *) In add_cert_dir() in crypto/x509/by_dir.c, break out of the loop if
     the directory spec didn't end with a LIST_SEPARATOR_CHAR.
Ben Laurie's avatar
Ben Laurie committed
     [Richard Levitte <levitte@stacken.kth.se>]
Ulf Möller's avatar
Ulf Möller committed
 
Ulf Möller's avatar
Ulf Möller committed
  *) Fix problems with sizeof(long) == 8.
     [Andy Polyakov <appro@fy.chalmers.se>]

Ulf Möller's avatar
Ulf Möller committed
  *) Change functions to ANSI C.
     [Ulf Möller]

Ulf Möller's avatar
Ulf Möller committed
  *) Fix typos in error codes.
     [Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>, Ulf Möller]

  *) Remove defunct assembler files from Configure.
     [Ulf Möller]

  *) SPARC v8 assembler BIGNUM implementation.
     [Andy Polyakov <appro@fy.chalmers.se>]
Loading full blame...