Flush buffers to prevent mixed output (Adam Back <adam@cypherspace.org>).
[openssl.git] / NEWS
1
2   NEWS
3   ====
4
5   This file gives a brief overview of the major changes between each OpenSSL
6   release. For more details please read the CHANGES file.
7
8   Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7:
9
10       o New library section OCSP.
11       o Complete haul-over of the ASN.1 library section.
12       o Support for external crypto devices ('engine') is no longer
13         a separate distribution.
14
15   Changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b:
16
17       o Security fix: PRNG improvements.
18       o Security fix: RSA OAEP check.
19       o Security fix: Reinsert and fix countermeasure to Bleichbacher's
20         attack.
21       o MIPS bug fix in BIGNUM.
22       o Bug fix in "openssl enc".
23       o Bug fix in X.509 printing routine.
24       o Bug fix in DSA verification routine and DSA S/MIME verification.
25       o Bug fix to make PRNG thread-safe.
26       o Bug fix in RAND_file_name().
27       o Bug fix in compatibility mode trust settings.
28       o Bug fix in blowfish EVP.
29       o Increase default size for BIO buffering filter.
30       o Compatibility fixes in some scripts.
31
32   Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a:
33
34       o Security fix: change behavior of OpenSSL to avoid using
35         environment variables when running as root.
36       o Security fix: check the result of RSA-CRT to reduce the
37         possibility of deducing the private key from an incorrectly
38         calculated signature.
39       o Security fix: prevent Bleichenbacher's DSA attack.
40       o Security fix: Zero the premaster secret after deriving the
41         master secret in DH ciphersuites.
42       o Reimplement SSL_peek(), which had various problems.
43       o Compatibility fix: the function des_encrypt() renamed to
44         des_encrypt1() to avoid clashes with some Unixen libc.
45       o Bug fixes for Win32, HP/UX and Irix.
46       o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
47         memory checking routines.
48       o Bug fixes for RSA operations in threaded enviroments.
49       o Bug fixes in misc. openssl applications.
50       o Remove a few potential memory leaks.
51       o Add tighter checks of BIGNUM routines.
52       o Shared library support has been reworked for generality.
53       o More documentation.
54       o New function BN_rand_range().
55       o Add "-rand" option to openssl s_client and s_server.
56
57   Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
58
59       o Some documentation for BIO and SSL libraries.
60       o Enhanced chain verification using key identifiers.
61       o New sign and verify options to 'dgst' application.
62       o Support for DER and PEM encoded messages in 'smime' application.
63       o New 'rsautl' application, low level RSA utility.
64       o MD4 now included.
65       o Bugfix for SSL rollback padding check.
66       o Support for external crypto devices [1].
67       o Enhanced EVP interface.
68
69     [1] The support for external crypto devices is currently a separate
70         distribution.  See the file README.ENGINE.
71
72   Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a:
73
74       o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 
75       o Shared library support for HPUX and Solaris-gcc
76       o Support of Linux/IA64
77       o Assembler support for Mingw32
78       o New 'rand' application
79       o New way to check for existence of algorithms from scripts
80
81   Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5:
82
83       o S/MIME support in new 'smime' command
84       o Documentation for the OpenSSL command line application
85       o Automation of 'req' application
86       o Fixes to make s_client, s_server work under Windows
87       o Support for multiple fieldnames in SPKACs
88       o New SPKAC command line utilty and associated library functions
89       o Options to allow passwords to be obtained from various sources
90       o New public key PEM format and options to handle it
91       o Many other fixes and enhancements to command line utilities
92       o Usable certificate chain verification
93       o Certificate purpose checking
94       o Certificate trust settings
95       o Support of authority information access extension
96       o Extensions in certificate requests
97       o Simplified X509 name and attribute routines
98       o Initial (incomplete) support for international character sets
99       o New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
100       o Read only memory BIOs and simplified creation function
101       o TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
102         record; allow fragmentation and interleaving of handshake and other
103         data
104       o TLS/SSL code now "tolerates" MS SGC
105       o Work around for Netscape client certificate hang bug
106       o RSA_NULL option that removes RSA patent code but keeps other
107         RSA functionality
108       o Memory leak detection now allows applications to add extra information
109         via a per-thread stack
110       o PRNG robustness improved
111       o EGD support
112       o BIGNUM library bug fixes
113       o Faster DSA parameter generation
114       o Enhanced support for Alpha Linux
115       o Experimental MacOS support
116
117   Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4:
118
119       o Transparent support for PKCS#8 format private keys: these are used
120         by several software packages and are more secure than the standard
121         form
122       o PKCS#5 v2.0 implementation
123       o Password callbacks have a new void * argument for application data
124       o Avoid various memory leaks
125       o New pipe-like BIO that allows using the SSL library when actual I/O
126         must be handled by the application (BIO pair)
127
128   Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3:
129       o Lots of enhancements and cleanups to the Configuration mechanism
130       o RSA OEAP related fixes
131       o Added `openssl ca -revoke' option for revoking a certificate
132       o Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
133       o Source tree cleanups: removed lots of obsolete files
134       o Thawte SXNet, certificate policies and CRL distribution points
135         extension support
136       o Preliminary (experimental) S/MIME support
137       o Support for ASN.1 UTF8String and VisibleString
138       o Full integration of PKCS#12 code
139       o Sparc assembler bignum implementation, optimized hash functions
140       o Option to disable selected ciphers
141
142   Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b:
143       o Fixed a security hole related to session resumption
144       o Fixed RSA encryption routines for the p < q case
145       o "ALL" in cipher lists now means "everything except NULL ciphers"
146       o Support for Triple-DES CBCM cipher
147       o Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
148       o First support for new TLSv1 ciphers
149       o Added a few new BIOs (syslog BIO, reliable BIO)
150       o Extended support for DSA certificate/keys.
151       o Extended support for Certificate Signing Requests (CSR)
152       o Initial support for X.509v3 extensions
153       o Extended support for compression inside the SSL record layer
154       o Overhauled Win32 builds
155       o Cleanups and fixes to the Big Number (BN) library
156       o Support for ASN.1 GeneralizedTime
157       o Splitted ASN.1 SETs from SEQUENCEs
158       o ASN1 and PEM support for Netscape Certificate Sequences
159       o Overhauled Perl interface
160       o Lots of source tree cleanups.
161       o Lots of memory leak fixes.
162       o Lots of bug fixes.
163
164   Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c:
165       o Integration of the popular NO_RSA/NO_DSA patches
166       o Initial support for compression inside the SSL record layer
167       o Added BIO proxy and filtering functionality
168       o Extended Big Number (BN) library
169       o Added RIPE MD160 message digest
170       o Addeed support for RC2/64bit cipher
171       o Extended ASN.1 parser routines
172       o Adjustations of the source tree for CVS
173       o Support for various new platforms
174