]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
bug fix.
[thirdparty/openssl.git] / CHANGES
CommitLineData
81a6c781 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
1c5dc844
DSH
5 Changes between 0.9.8b and 0.9.8c [xx XXX xxxx]
6
7 *)
8
f871949e 9 Changes between 0.9.8a and 0.9.8b [04 May 2006]
d8b408b1 10
cbb0b734
DSH
11 *) When applying a cipher rule check to see if string match is an explicit
12 cipher suite and only match that one cipher suite if it is.
13 [Steve Henson]
14
217382d5
DSH
15 *) Link in manifests for VC++ if needed.
16 [Austin Ziegler <halostatue@gmail.com>]
17
bc932045 18 *) Update support for ECC-based TLS ciphersuites according to
5586a71a
BM
19 draft-ietf-tls-ecc-12.txt with proposed changes (but without
20 TLS extensions, which are supported starting with the 0.9.9
21 branch, not in the OpenSSL 0.9.8 branch).
bc932045
BM
22 [Douglas Stebila]
23
23d43aae
BM
24 *) New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() to support
25 opaque EVP_CIPHER_CTX handling.
26 [Steve Henson]
27
7614f0e5
DSH
28 *) Fixes and enhancements to zlib compression code. We now only use
29 "zlib1.dll" and use the default __cdecl calling convention on Win32
30 to conform with the standards mentioned here:
31 http://www.zlib.net/DLL_FAQ.txt
32 Static zlib linking now works on Windows and the new --with-zlib-include
33 --with-zlib-lib options to Configure can be used to supply the location
34 of the headers and library. Gracefully handle case where zlib library
35 can't be loaded.
36 [Steve Henson]
37
feef17fd
DSH
38 *) Several fixes and enhancements to the OID generation code. The old code
39 sometimes allowed invalid OIDs (1.X for X >= 40 for example), couldn't
40 handle numbers larger than ULONG_MAX, truncated printing and had a
41 non standard OBJ_obj2txt() behaviour.
42 [Steve Henson]
43
abb0c2bb
DSH
44 *) Add support for building of engines under engine/ as shared libraries
45 under VC++ build system.
46 [Steve Henson]
47
d3afc92b
RL
48 *) Corrected the numerous bugs in the Win32 path splitter in DSO.
49 Hopefully, we will not see any false combination of paths any more.
50 [Richard Levitte]
51
64932f9e
MC
52 Changes between 0.9.8 and 0.9.8a [11 Oct 2005]
53
54 *) Remove the functionality of SSL_OP_MSIE_SSLV2_RSA_PADDING
55 (part of SSL_OP_ALL). This option used to disable the
56 countermeasure against man-in-the-middle protocol-version
57 rollback in the SSL 2.0 server implementation, which is a bad
802c0146 58 idea. (CVE-2005-2969)
64932f9e
MC
59
60 [Bodo Moeller; problem pointed out by Yutaka Oiwa (Research Center
61 for Information Security, National Institute of Advanced Industrial
62 Science and Technology [AIST], Japan)]
750cb3d2 63
0fce007b
DSH
64 *) Add two function to clear and return the verify parameter flags.
65 [Steve Henson]
66
3c0e39c5
NL
67 *) Keep cipherlists sorted in the source instead of sorting them at
68 runtime, thus removing the need for a lock.
69 [Nils Larsch]
70
19fddebf 71 *) Avoid some small subgroup attacks in Diffie-Hellman.
60864221
BL
72 [Nick Mathewson and Ben Laurie]
73
74 *) Add functions for well-known primes.
75 [Nick Mathewson]
9ddb11f1 76
98e98614
AP
77 *) Extended Windows CE support.
78 [Satoshi Nakamura and Andy Polyakov]
79
222f2246
DSH
80 *) Initialize SSL_METHOD structures at compile time instead of during
81 runtime, thus removing the need for a lock.
82 [Steve Henson]
83
1682e8fb
DSH
84 *) Make PKCS7_decrypt() work even if no certificate is supplied by
85 attempting to decrypt each encrypted key in turn. Add support to
86 smime utility.
87 [Steve Henson]
750cb3d2 88
f254b540 89 Changes between 0.9.7h and 0.9.8 [05 Jul 2005]
12bdb643 90
1d01c9d4
RL
91 *) Add libcrypto.pc and libssl.pc for those who feel they need them.
92 [Richard Levitte]
93
94 *) Change CA.sh and CA.pl so they don't bundle the CSR and the private
95 key into the same file any more.
96 [Richard Levitte]
97
e32ea818
AP
98 *) Add initial support for Win64, both IA64 and AMD64/x64 flavors.
99 [Andy Polyakov]
100
09c1a425
DSH
101 *) Add -utf8 command line and config file option to 'ca'.
102 [Stefan <stf@udoma.org]
103
1d01c9d4
RL
104 *) Removed the macro des_crypt(), as it seems to conflict with some
105 libraries. Use DES_crypt().
106 [Richard Levitte]
107
a4578a54
GT
108 *) Correct naming of the 'chil' and '4758cca' ENGINEs. This
109 involves renaming the source and generated shared-libs for
110 both. The engines will accept the corrected or legacy ids
111 ('ncipher' and '4758_cca' respectively) when binding. NB,
112 this only applies when building 'shared'.
113 [Corinna Vinschen <vinschen@redhat.com> and Geoff Thorpe]
114
b6995add
DSH
115 *) Add attribute functions to EVP_PKEY structure. Modify
116 PKCS12_create() to recognize a CSP name attribute and
117 use it. Make -CSP option work again in pkcs12 utility.
118 [Steve Henson]
119
800e400d
NL
120 *) Add new functionality to the bn blinding code:
121 - automatic re-creation of the BN_BLINDING parameters after
122 a fixed number of uses (currently 32)
123 - add new function for parameter creation
124 - introduce flags to control the update behaviour of the
125 BN_BLINDING parameters
126 - hide BN_BLINDING structure
127 Add a second BN_BLINDING slot to the RSA structure to improve
128 performance when a single RSA object is shared among several
129 threads.
130 [Nils Larsch]
131
36d16f8e
BL
132 *) Add support for DTLS.
133 [Nagendra Modadugu <nagendra@cs.stanford.edu> and Ben Laurie]
134
dc0ed30c
NL
135 *) Add support for DER encoded private keys (SSL_FILETYPE_ASN1)
136 to SSL_CTX_use_PrivateKey_file() and SSL_use_PrivateKey_file()
137 [Walter Goulet]
138
6049399b
NL
139 *) Remove buggy and incompletet DH cert support from
140 ssl/ssl_rsa.c and ssl/s3_both.c
141 [Nils Larsch]
142
12bdb643
NL
143 *) Use SHA-1 instead of MD5 as the default digest algorithm for
144 the apps/openssl applications.
145 [Nils Larsch]
4d94ae00 146
41a15c4f
BL
147 *) Compile clean with "-Wall -Wmissing-prototypes
148 -Wstrict-prototypes -Wmissing-declarations -Werror". Currently
149 DEBUG_SAFESTACK must also be set.
150 [Ben Laurie]
151
c9a112f5 152 *) Change ./Configure so that certain algorithms can be disabled by default.
ecc5ef87
BM
153 The new counterpiece to "no-xxx" is "enable-xxx".
154
155 The patented RC5 and MDC2 algorithms will now be disabled unless
156 "enable-rc5" and "enable-mdc2", respectively, are specified.
157
158 (IDEA remains enabled despite being patented. This is because IDEA
159 is frequently required for interoperability, and there is no license
160 fee for non-commercial use. As before, "no-idea" can be used to
161 avoid this algorithm.)
162
c9a112f5
BM
163 [Bodo Moeller]
164
6951c23a
RL
165 *) Add processing of proxy certificates (see RFC 3820). This work was
166 sponsored by KTH (The Royal Institute of Technology in Stockholm) and
167 EGEE (Enabling Grids for E-science in Europe).
168 [Richard Levitte]
169
ea681ba8
AP
170 *) RC4 performance overhaul on modern architectures/implementations, such
171 as Intel P4, IA-64 and AMD64.
172 [Andy Polyakov]
173
401ee37a
DSH
174 *) New utility extract-section.pl. This can be used specify an alternative
175 section number in a pod file instead of having to treat each file as
176 a separate case in Makefile. This can be done by adding two lines to the
177 pod file:
178
179 =for comment openssl_section:XXX
180
181 The blank line is mandatory.
182
183 [Steve Henson]
184
826a42a0
DSH
185 *) New arguments -certform, -keyform and -pass for s_client and s_server
186 to allow alternative format key and certificate files and passphrase
187 sources.
188 [Steve Henson]
189
5d7c222d
DSH
190 *) New structure X509_VERIFY_PARAM which combines current verify parameters,
191 update associated structures and add various utility functions.
192
193 Add new policy related verify parameters, include policy checking in
194 standard verify code. Enhance 'smime' application with extra parameters
195 to support policy checking and print out.
196 [Steve Henson]
197
30fe028f
GT
198 *) Add a new engine to support VIA PadLock ACE extensions in the VIA C3
199 Nehemiah processors. These extensions support AES encryption in hardware
200 as well as RNG (though RNG support is currently disabled).
201 [Michal Ludvig <michal@logix.cz>, with help from Andy Polyakov]
202
df11e1e9
GT
203 *) Deprecate BN_[get|set]_params() functions (they were ignored internally).
204 [Geoff Thorpe]
205
ad500340
AP
206 *) New FIPS 180-2 algorithms, SHA-224/-256/-384/-512 are implemented.
207 [Andy Polyakov and a number of other people]
208
e14f4aab
AP
209 *) Improved PowerPC platform support. Most notably BIGNUM assembler
210 implementation contributed by IBM.
211 [Suresh Chari, Peter Waltenberg, Andy Polyakov]
212
bcfea9fb
GT
213 *) The new 'RSA_generate_key_ex' function now takes a BIGNUM for the public
214 exponent rather than 'unsigned long'. There is a corresponding change to
215 the new 'rsa_keygen' element of the RSA_METHOD structure.
216 [Jelte Jansen, Geoff Thorpe]
217
d5f686d8
BM
218 *) Functionality for creating the initial serial number file is now
219 moved from CA.pl to the 'ca' utility with a new option -create_serial.
220
221 (Before OpenSSL 0.9.7e, CA.pl used to initialize the serial
222 number file to 1, which is bound to cause problems. To avoid
223 the problems while respecting compatibility between different 0.9.7
224 patchlevels, 0.9.7e employed 'openssl x509 -next_serial' in
225 CA.pl for serial number initialization. With the new release 0.9.8,
226 we can fix the problem directly in the 'ca' utility.)
64674bcc
DSH
227 [Steve Henson]
228
3a87a9b9
GT
229 *) Reduced header interdepencies by declaring more opaque objects in
230 ossl_typ.h. As a consequence, including some headers (eg. engine.h) will
231 give fewer recursive includes, which could break lazy source code - so
232 this change is covered by the OPENSSL_NO_DEPRECATED symbol. As always,
233 developers should define this symbol when building and using openssl to
234 ensure they track the recommended behaviour, interfaces, [etc], but
235 backwards-compatible behaviour prevails when this isn't defined.
236 [Geoff Thorpe]
237
bf5773fa
DSH
238 *) New function X509_POLICY_NODE_print() which prints out policy nodes.
239 [Steve Henson]
240
216659eb
DSH
241 *) Add new EVP function EVP_CIPHER_CTX_rand_key and associated functionality.
242 This will generate a random key of the appropriate length based on the
243 cipher context. The EVP_CIPHER can provide its own random key generation
244 routine to support keys of a specific form. This is used in the des and
245 3des routines to generate a key of the correct parity. Update S/MIME
246 code to use new functions and hence generate correct parity DES keys.
247 Add EVP_CHECK_DES_KEY #define to return an error if the key is not
248 valid (weak or incorrect parity).
249 [Steve Henson]
250
e1a27eb3
DSH
251 *) Add a local set of CRLs that can be used by X509_verify_cert() as well
252 as looking them up. This is useful when the verified structure may contain
253 CRLs, for example PKCS#7 signedData. Modify PKCS7_verify() to use any CRLs
254 present unless the new PKCS7_NO_CRL flag is asserted.
255 [Steve Henson]
256
6446e0c3
DSH
257 *) Extend ASN1 oid configuration module. It now additionally accepts the
258 syntax:
259
260 shortName = some long name, 1.2.3.4
261 [Steve Henson]
262
5c98b2ca
GT
263 *) Reimplemented the BN_CTX implementation. There is now no more static
264 limitation on the number of variables it can handle nor the depth of the
265 "stack" handling for BN_CTX_start()/BN_CTX_end() pairs. The stack
266 information can now expand as required, and rather than having a single
267 static array of bignums, BN_CTX now uses a linked-list of such arrays
268 allowing it to expand on demand whilst maintaining the usefulness of
269 BN_CTX's "bundling".
270 [Geoff Thorpe]
271
46ef873f
GT
272 *) Add a missing BN_CTX parameter to the 'rsa_mod_exp' callback in RSA_METHOD
273 to allow all RSA operations to function using a single BN_CTX.
274 [Geoff Thorpe]
275
4acc3e90
DSH
276 *) Preliminary support for certificate policy evaluation and checking. This
277 is initially intended to pass the tests outlined in "Conformance Testing
278 of Relying Party Client Certificate Path Processing Logic" v1.07.
279 [Steve Henson]
280
7f663ce4
GT
281 *) bn_dup_expand() has been deprecated, it was introduced in 0.9.7 and
282 remained unused and not that useful. A variety of other little bignum
283 tweaks and fixes have also been made continuing on from the audit (see
284 below).
285 [Geoff Thorpe]
286
875a644a
RL
287 *) Constify all or almost all d2i, c2i, s2i and r2i functions, along with
288 associated ASN1, EVP and SSL functions and old ASN1 macros.
7f663ce4 289 [Richard Levitte]
875a644a 290
b6358c89
GT
291 *) BN_zero() only needs to set 'top' and 'neg' to zero for correct results,
292 and this should never fail. So the return value from the use of
293 BN_set_word() (which can fail due to needless expansion) is now deprecated;
294 if OPENSSL_NO_DEPRECATED is defined, BN_zero() is a void macro.
295 [Geoff Thorpe]
296
9e051bac
GT
297 *) BN_CTX_get() should return zero-valued bignums, providing the same
298 initialised value as BN_new().
299