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