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