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