]>
Commit | Line | Data |
---|---|---|
651d0aff | 1 | |
f1c236f8 | 2 | OpenSSL CHANGES |
651d0aff RE |
3 | _______________ |
4 | ||
5 | ||
9cb0969f | 6 | Changes between 0.9.1c and 0.9.2 |
4f43d0e7 | 7 | |
0b903ec0 RE |
8 | *) Cleaned up the LICENSE document: The official contact for any license |
9 | questions now is the OpenSSL core team under openssl-core@openssl.org. | |
10 | And add a paragraph about the dual-license situation to make sure people | |
11 | recognize that _BOTH_ the OpenSSL license _AND_ the SSLeay license apply | |
12 | to the OpenSSL toolkit. | |
13 | [Ralf S. Engelschall] | |
14 | ||
bb8f3c58 RE |
15 | *) General source tree makefile cleanups: Made `making xxx in yyy...' |
16 | display consistent in the source tree and replaced `/bin/rm' by `rm'. | |
17 | Additonally cleaned up the `make links' target: Remove unnecessary | |
18 | semicolons, subsequent redundant removes, inline point.sh into mklink.sh | |
19 | to speed processing and no longer clutter the display with confusing | |
20 | stuff. Instead only the actually done links are displayed. | |
21 | [Ralf S. Engelschall] | |
22 | ||
988788f6 BL |
23 | *) Permit null encryption ciphersuites, used for authentication only. It used |
24 | to be necessary to set the preprocessor define SSL_ALLOW_ENULL to do this. | |
25 | It is now necessary to set SSL_FORBID_ENULL to prevent the use of null | |
26 | encryption. | |
27 | [Ben Laurie] | |
28 | ||
924acc54 DSH |
29 | *) Add a bunch of fixes to the PKCS#7 stuff. It used to sometimes reorder |
30 | signed attributes when verifying signatures (this would break them), | |
31 | the detached data encoding was wrong and public keys obtained using | |
32 | X509_get_pubkey() weren't freed. | |
33 | [Steve Henson] | |
34 | ||
d00b7aad DSH |
35 | *) Add text documentation for the BUFFER functions. Also added a work around |
36 | to a Win95 console bug. This was triggered by the password read stuff: the | |
37 | last character typed gets carried over to the next fread(). If you were | |
38 | generating a new cert request using 'req' for example then the last | |
39 | character of the passphrase would be CR which would then enter the first | |
40 | field as blank. | |
9985bed3 DSH |
41 | [Steve Henson] |
42 | ||
789285aa RE |
43 | *) Added the new `Includes OpenSSL Cryptography Software' button as |
44 | doc/openssl_button.{gif,html} which is similar in style to the old SSLeay | |
45 | button and can be used by applications based on OpenSSL to show the | |
46 | relationship to the OpenSSL project. | |
47 | [Ralf S. Engelschall] | |
48 | ||
a06c602e RE |
49 | *) Remove confusing variables in function signatures in files |
50 | ssl/ssl_lib.c and ssl/ssl.h. | |
51 | [Lennart Bong <lob@kulthea.stacken.kth.se>] | |
52 | ||
8d697db1 RE |
53 | *) Don't install bss_file.c under PREFIX/include/ |
54 | [Lennart Bong <lob@kulthea.stacken.kth.se>] | |
55 | ||
06c68491 DSH |
56 | *) Get the Win32 compile working again. Modify mkdef.pl so it can handle |
57 | functions that return function pointers and has support for NT specific | |
58 | stuff. Fix mk1mf.pl and VC-32.pl to support NT differences also. Various | |
59 | #ifdef WIN32 and WINNTs sprinkled about the place and some changes from | |
60 | unsigned to signed types: this was killing the Win32 compile. | |
61 | [Steve Henson] | |
62 | ||
eb90a483 BL |
63 | *) Add new certificate file to stack functions, SSL_add_cert_file_to_stack() |
64 | and SSL_add_cert_dir_to_stack(). These largely supplant | |
65 | SSL_load_client_CA_file(), and can be used to add multiple certs easily to | |
66 | a stack (usually this is then handed to SSL_CTX_set_client_CA_list()). | |
67 | This means that Apache-SSL and similar packages don't have to mess around | |
68 | to add as many CAs as they want to the preferred list. | |
69 | [Ben Laurie] | |
70 | ||
4f43d0e7 BL |
71 | *) Experiment with doxygen documentation. Currently only partially applied to |
72 | ssl/ssl_lib.c. | |
73 | See http://www.stack.nl/~dimitri/doxygen/index.html, and run doxygen with | |
74 | openssl.doxy as the configuration file. | |
75 | [Ben Laurie] | |
74d7abc2 RE |
76 | |
77 | *) Get rid of remaining C++-style comments which strict C compilers hate. | |
78 | [Ralf S. Engelschall, pointed out by Carlos Amengual] | |
0172f988 | 79 | |
7283ecea DSH |
80 | *) Changed BN_RECURSION in bn_mont.c to BN_RECURSION_MONT so it is not |
81 | compiled in by default: it has problems with large keys. | |
82 | [Steve Henson] | |
83 | ||
15d21c2d RE |
84 | *) Add a bunch of SSL_xxx() functions for configuring the temporary RSA and |
85 | DH private keys and/or callback functions which directly correspond to | |
86 | their SSL_CTX_xxx() counterparts but work on a per-connection basis. This | |
87 | is needed for applications which have to configure certificates on a | |
88 | per-connection basis (e.g. Apache+mod_ssl) instead of a per-context basis | |
89 | (e.g. s_server). | |
90 | For the RSA certificate situation is makes no difference, but | |
91 | for the DSA certificate situation this fixes the "no shared cipher" | |
92 | problem where the OpenSSL cipher selection procedure failed because the | |
93 | temporary keys were not overtaken from the context and the API provided | |
94 | no way to reconfigure them. | |
95 | The new functions now let applications reconfigure the stuff and they | |
96 | are in detail: SSL_need_tmp_RSA, SSL_set_tmp_rsa, SSL_set_tmp_dh, | |
97 | SSL_set_tmp_rsa_callback and SSL_set_tmp_dh_callback. Additionally a new | |
98 | non-public-API function ssl_cert_instantiate() is used as a helper | |
99 | function and also to reduce code redundancy inside ssl_rsa.c. | |
100 | [Ralf S. Engelschall] | |
101 | ||
ea14a91f RE |
102 | *) Move s_server -dcert and -dkey options out of the undocumented feature |
103 | area because they are useful for the DSA situation and should be | |
104 | recognized by the users. | |
105 | [Ralf S. Engelschall] | |
106 | ||
90a52cec RE |
107 | *) Fix the cipher decision scheme for export ciphers: the export bits are |
108 | *not* within SSL_MKEY_MASK or SSL_AUTH_MASK, they are within | |
109 | SSL_EXP_MASK. So, the original variable has to be used instead of the | |
110 | already masked variable. | |
111 | [Richard Levitte <levitte@stacken.kth.se>] | |
112 | ||
def9f431 RE |
113 | *) Fix 'port' variable from `int' to `unsigned int' in crypto/bio/b_sock.c |
114 | [Richard Levitte <levitte@stacken.kth.se>] | |
115 | ||
8aef252b RE |
116 | *) Change type of another md_len variable in pk7_doit.c:PKCS7_dataFinal() |
117 | from `int' to `unsigned int' because it's a length and initialized by | |
118 | EVP_DigestFinal() which expects an `unsigned int *'. | |
119 | [Richard Levitte <levitte@stacken.kth.se>] | |
120 | ||
a4ed5532 RE |
121 | *) Don't hard-code path to Perl interpreter on shebang line of Configure |
122 | script. Instead use the usual Shell->Perl transition trick. | |
123 | [Ralf S. Engelschall] | |
124 | ||
7be304ac RE |
125 | *) Make `openssl x509 -noout -modulus' functional also for DSA certificates |
126 | (in addition to RSA certificates) to match the behaviour of `openssl dsa | |
127 | -noout -modulus' as it's already the case for `openssl rsa -noout | |
128 | -modulus'. For RSA the -modulus is the real "modulus" while for DSA | |
129 | currently the public key is printed (a decision which was already done by | |
130 | `openssl dsa -modulus' in the past) which serves a similar purpose. | |
131 | Additionally the NO_RSA no longer completely removes the whole -modulus | |
132 | option; it now only avoids using the RSA stuff. Same applies to NO_DSA | |
133 | now, too. | |
134 | [Ralf S. Engelschall] | |
135 | ||
55ab3bf7 BL |
136 | *) Add Arne Ansper's reliable BIO - this is an encrypted, block-digested |
137 | BIO. See the source (crypto/evp/bio_ok.c) for more info. | |
138 | [Arne Ansper <arne@ats.cyber.ee>] | |
139 | ||
a43aa73e DSH |
140 | *) Dump the old yucky req code that tried (and failed) to allow raw OIDs |
141 | to be added. Now both 'req' and 'ca' can use new objects defined in the | |
142 | config file. | |
143 | [Steve Henson] | |
144 | ||
0849d138 BL |
145 | *) Add cool BIO that does syslog (or event log on NT). |
146 | [Arne Ansper <arne@ats.cyber.ee>, integrated by Ben Laurie] | |
147 | ||
06ab81f9 BL |
148 | *) Add support for new TLS ciphersuites, TLS_RSA_EXPORT56_WITH_RC4_56_MD5, |
149 | TLS_RSA_EXPORT56_WITH_RC2_CBC_56_MD5 and | |
150 | TLS_RSA_EXPORT56_WITH_DES_CBC_SHA, as specified in "56-bit Export Cipher | |
151 | Suites For TLS", draft-ietf-tls-56-bit-ciphersuites-00.txt. | |
152 | [Ben Laurie] | |
153 | ||
deff75b6 DSH |
154 | *) Add preliminary config info for new extension code. |
155 | [Steve Henson] | |
156 | ||
0c8a1281 DSH |
157 | *) Make RSA_NO_PADDING really use no padding. |
158 | [Ulf Moeller <ulf@fitug.de>] | |
159 | ||
4004dbb7 BL |
160 | *) Generate errors when private/public key check is done. |
161 | [Ben Laurie] | |
162 | ||
0ca5f8b1 DSH |
163 | *) Overhaul for 'crl' utility. New function X509_CRL_print. Partial support |
164 | for some CRL extensions and new objects added. | |
165 | [Steve Henson] | |
166 | ||
3d8accc3 DSH |
167 | *) Really fix the ASN1 IMPLICIT bug this time... Partial support for private |
168 | key usage extension and fuller support for authority key id. | |
169 | [Steve Henson] | |
170 | ||
a4949896 BL |
171 | *) Add OAEP encryption for the OpenSSL crypto library. OAEP is the improved |
172 | padding method for RSA, which is recommended for new applications in PKCS | |
173 | #1 v2.0 (RFC 2437, October 1998). | |
174 | OAEP (Optimal Asymmetric Encryption Padding) has better theoretical | |
175 | foundations than the ad-hoc padding used in PKCS #1 v1.5. It is secure | |
176 | against Bleichbacher's attack on RSA. | |
177 | [Ulf Moeller <ulf@fitug.de>, reformatted, corrected and integrated by | |
178 | Ben Laurie] | |
179 | ||
413c4f45 MC |
180 | *) Updates to the new SSL compression code |
181 | [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)] | |
182 | ||
183 | *) Fix so that the version number in the master secret, when passed | |
184 | via RSA, checks that if TLS was proposed, but we roll back to SSLv3 | |
185 | (because the server will not accept higher), that the version number | |
186 | is 0x03,0x01, not 0x03,0x00 | |
187 | [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)] | |
188 | ||
a8236c8c DSH |
189 | *) Run extensive memory leak checks on SSL apps. Fixed *lots* of memory |
190 | leaks in ssl/ relating to new X509_get_pubkey() behaviour. Also fixes | |
3d8accc3 | 191 | in apps/ and an unrelated leak in crypto/dsa/dsa_vrf.c |
a8236c8c DSH |
192 | [Steve Henson] |
193 | ||
388ff0b0 DSH |
194 | *) Support for RAW extensions where an arbitrary extension can be |
195 | created by including its DER encoding. See apps/openssl.cnf for | |
196 | an example. | |
a8236c8c | 197 | [Steve Henson] |
388ff0b0 | 198 | |
6013fa83 RE |
199 | *) Make sure latest Perl versions don't interpret some generated C array |
200 | code as Perl array code in the crypto/err/err_genc.pl script. | |
201 | [Lars Weber <3weber@informatik.uni-hamburg.de>] | |
202 | ||
5c00879e DSH |
203 | *) Modify ms/do_ms.bat to not generate assembly language makefiles since |
204 | not many people have the assembler. Various Win32 compilation fixes and | |
205 | update to the INSTALL.W32 file with (hopefully) more accurate Win32 | |
206 | build instructions. | |
207 | [Steve Henson] | |
208 | ||
9becf666 DSH |
209 | *) Modify configure script 'Configure' to automatically create crypto/date.h |
210 | file under Win32 and also build pem.h from pem.org. New script | |
211 | util/mkfiles.pl to create the MINFO file on environments that can't do a | |
212 | 'make files': perl util/mkfiles.pl >MINFO should work. | |
213 | [Steve Henson] | |
214 | ||
4e31df2c BL |
215 | *) Major rework of DES function declarations, in the pursuit of correctness |
216 | and purity. As a result, many evil casts evaporated, and some weirdness, | |
217 | too. You may find this causes warnings in your code. Zapping your evil | |
218 | casts will probably fix them. Mostly. | |
219 | [Ben Laurie] | |
220 | ||
e4119b93 DSH |
221 | *) Fix for a typo in asn1.h. Bug fix to object creation script |
222 | obj_dat.pl. It considered a zero in an object definition to mean | |
223 | "end of object": none of the objects in objects.h have any zeros | |
224 | so it wasn't spotted. | |
225 | [Steve Henson, reported by Erwann ABALEA <eabalea@certplus.com>] | |
226 | ||
4a71b90d BL |
227 | *) Add support for Triple DES Cipher Block Chaining with Output Feedback |
228 | Masking (CBCM). In the absence of test vectors, the best I have been able | |
229 | to do is check that the decrypt undoes the encrypt, so far. Send me test | |
230 | vectors if you have them. | |
231 | [Ben Laurie] | |
232 | ||
436d318c BL |
233 | *) Correct caclulation of key length for export ciphers (too much space was |
234 | allocated for null ciphers). This has not been tested! | |
235 | [Ben Laurie] | |
236 | ||
55a9cc6e DSH |
237 | *) Modifications to the mkdef.pl for Win32 DEF file creation. The usage |
238 | message is now correct (it understands "crypto" and "ssl" on its | |
239 | command line). There is also now an "update" option. This will update | |
240 | the util/ssleay.num and util/libeay.num files with any new functions. | |
241 | If you do a: | |
242 | perl util/mkdef.pl crypto ssl update | |
243 | it will update them. | |
e4119b93 | 244 | [Steve Henson] |
55a9cc6e | 245 | |
8073036d RE |
246 | *) Overhauled the Perl interface (perl/*): |
247 | - ported BN stuff to OpenSSL's different BN library | |
248 | - made the perl/ source tree CVS-aware | |
249 | - renamed the package from SSLeay to OpenSSL (the files still contain | |
250 | their history because I've copied them in the repository) | |
251 | - removed obsolete files (the test scripts will be replaced | |
252 | by better Test::Harness variants in the future) | |
253 | [Ralf S. Engelschall] | |
254 | ||
483fdf18 RE |
255 | *) First cut for a very conservative source tree cleanup: |
256 | 1. merge various obsolete readme texts into doc/ssleay.txt | |
257 | where we collect the old documents and readme texts. | |
258 | 2. remove the first part of files where I'm already sure that we no | |
259 | longer need them because of three reasons: either they are just temporary | |
260 | files which were left by Eric or they are preserved original files where | |
261 | I've verified that the diff is also available in the CVS via "cvs diff | |
262 | -rSSLeay_0_8_1b" or they were renamed (as it was definitely the case for | |
263 | the crypto/md/ stuff). | |
264 | [Ralf S. Engelschall] | |
265 | ||
175b0942 DSH |
266 | *) More extension code. Incomplete support for subject and issuer alt |
267 | name, issuer and authority key id. Change the i2v function parameters | |
268 | and add an extra 'crl' parameter in the X509V3_CTX structure: guess | |
269 | what that's for :-) Fix to ASN1 macro which messed up | |
270 | IMPLICIT tag and add f_enum.c which adds a2i, i2a for ENUMERATED. | |
271 | [Steve Henson] | |
272 | ||
bceacf93 DSH |
273 | *) Preliminary support for ENUMERATED type. This is largely copied from the |
274 | INTEGER code. | |
275 | [Steve Henson] | |
276 | ||
351d8998 MC |
277 | *) Add new function, EVP_MD_CTX_copy() to replace frequent use of memcpy. |
278 | [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)] | |
279 | ||
b621d772 RE |
280 | *) Make sure `make rehash' target really finds the `openssl' program. |
281 | [Ralf S. Engelschall, Matthias Loepfe <Matthias.Loepfe@adnovum.ch>] | |
282 | ||
a96e7810 BL |
283 | *) Squeeze another 7% of speed out of MD5 assembler, at least on a P2. I'd |
284 | like to hear about it if this slows down other processors. | |
285 | [Ben Laurie] | |
286 | ||
e04a6c2b RE |
287 | *) Add CygWin32 platform information to Configure script. |
288 | [Alan Batie <batie@aahz.jf.intel.com>] | |
289 | ||
0172f988 RE |
290 | *) Fixed ms/32all.bat script: `no_asm' -> `no-asm' |
291 | [Rainer W. Gerling <gerling@mpg-gv.mpg.de>] | |
79dfa975 DSH |
292 | |
293 | *) New program nseq to manipulate netscape certificate sequences | |
294 | [Steve Henson] | |
320a14cb | 295 | |
9fe84296 DSH |
296 | *) Modify crl2pkcs7 so it supports multiple -certfile arguments. Fix a |
297 | few typos. | |
298 | [Steve Henson] | |
299 | ||
a0a54079 MC |
300 | *) Fixes to BN code. Previously the default was to define BN_RECURSION |
301 | but the BN code had some problems that would cause failures when | |
302 | doing certificate verification and some other functions. | |
303 | [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)] | |
304 | ||
92c046ca DSH |
305 | *) Add ASN1 and PEM code to support netscape certificate sequences. |
306 | [Steve Henson] | |
307 | ||
79dfa975 DSH |
308 | *) Add ASN1 and PEM code to support netscape certificate sequences. |
309 | [Steve Henson] | |
310 | ||
a27598bf DSH |
311 | *) Add several PKIX and private extended key usage OIDs. |
312 | [Steve Henson] | |
313 | ||
b2347661 DSH |
314 | *) Modify the 'ca' program to handle the new extension code. Modify |
315 | openssl.cnf for new extension format, add comments. | |
316 | [Steve Henson] | |
317 | ||
f317aa4c DSH |
318 | *) More X509 V3 changes. Fix typo in v3_bitstr.c. Add support to 'req' |
319 | and add a sample to openssl.cnf so req -x509 now adds appropriate | |
320 | CA extensions. | |
321 | [Steve Henson] | |
322 | ||
834eeef9 DSH |
323 | *) Continued X509 V3 changes. Add to other makefiles, integrate with the |
324 | error code, add initial support to X509_print() and x509 application. | |
f317aa4c | 325 | [Steve Henson] |
834eeef9 | 326 | |
9aeaf1b4 DSH |
327 | *) Takes a deep breath and start addding X509 V3 extension support code. Add |
328 | files in crypto/x509v3. Move original stuff to crypto/x509v3/old. All this | |
329 | stuff is currently isolated and isn't even compiled yet. | |
330 | [Steve Henson] | |
331 | ||
9b5cc156 DSH |
332 | *) Continuing patches for GeneralizedTime. Fix up certificate and CRL |
333 | ASN1 to use ASN1_TIME and modify print routines to use ASN1_TIME_print. | |
334 | Removed the versions check from X509 routines when loading extensions: | |
335 | this allows certain broken certificates that don't set the version | |
336 | properly to be processed. | |
337 | [Steve Henson] | |
338 | ||
8039257d BL |
339 | *) Deal with irritating shit to do with dependencies, in YAAHW (Yet Another |
340 | Ad Hoc Way) - Makefile.ssls now all contain local dependencies, which | |
341 | can still be regenerated with "make depend". | |
342 | [Ben Laurie] | |
343 | ||
b13a1554 BL |
344 | *) Spelling mistake in C version of CAST-128. |
345 | [Ben Laurie, reported by Jeremy Hylton <jeremy@cnri.reston.va.us>] | |
346 | ||
6c8abdd7 DSH |
347 | *) Changes to the error generation code. The perl script err-code.pl |
348 | now reads in the old error codes and retains the old numbers, only | |
349 | adding new ones if necessary. It also only changes the .err files if new | |
350 | codes are added. The makefiles have been modified to only insert errors | |
351 | when needed (to avoid needlessly modifying header files). This is done | |
352 | by only inserting errors if the .err file is newer than the auto generated | |
353 | C file. To rebuild all the error codes from scratch (the old behaviour) | |
354 | either modify crypto/Makefile.ssl to pass the -regen flag to err_code.pl | |
355 | or delete all the .err files. | |
9b5cc156 | 356 | [Steve Henson] |
6c8abdd7 | 357 | |
649cdb7b BL |
358 | *) CAST-128 was incorrectly implemented for short keys. The C version has |
359 | been fixed, but is untested. The assembler versions are also fixed, but | |
360 | new assembler HAS NOT BEEN GENERATED FOR WIN32 - the Makefile needs fixing | |
361 | to regenerate it if needed. | |
362 | [Ben Laurie, reported (with fix for C version) by Jun-ichiro itojun | |
363 | Hagino <itojun@kame.net>] | |
364 | ||
365 | *) File was opened incorrectly in randfile.c. | |
366 |