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