]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Change req so the new parameter '-rand file' uses the given file in
[thirdparty/openssl.git] / CHANGES
CommitLineData
651d0aff 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
c90341a1
RL
5 Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
6
fb0b844a
RL
7 *) Addition of the command line parameter '-rand file' to 'openssl req'.
8 The given file takes precedence over the RANDFILE option in the
9 configuration file.
10 [Richard Levitte]
11
4dd45354
DSH
12 *) mkstack.pl now sorts each macro group into lexical order.
13 Previously the output order depended on the order the files
14 appeared in the directory, resulting in needless rewriting
15 of safestack.h .
16 [Steve Henson]
17
13083215
DSH
18 *) Patches to make OpenSSL compile under Win32 again. Mostly
19 work arounds for the VC++ problem that it treats func() as
20 func(void). Also stripped out the parts of mkdef.pl that
21 added extra typesafe functions: these no longer exist.
22 [Steve Henson]
23
3aceb94b
DSH
24 *) Reorganisation of the stack code. The macros are now all
25 collected in safestack.h . Each macro is defined in terms of
26 a "stack macro" of the form SKM_<name>(type, a, b). The
27 DEBUG_SAFESTACK is now handled in terms of function casts,
28 this has the advantage of retaining type safety without the
29 use of additional functions. If DEBUG_SAFESTACK is not defined
30 then the non typesafe macros are used instead. Also modified the
31 mkstack.pl script to handle the new form. Needs testing to see
32 if which (if any) compilers it chokes and maybe make DEBUG_SAFESTACK
7ef82068
DSH
33 the default if no major problems. Similar behaviour for ASN1_SET_OF
34 and PKCS12_STACK_OF.
3aceb94b
DSH
35 [Steve Henson]
36
d3ed8ceb
DSH
37 *) When some versions of IIS use the 'NET' form of private key the
38 key derivation algorithm is different. Normally MD5(password) is
39 used as a 128 bit RC4 key. In the modified case
40 MD5(MD5(password) + "SGCKEYSALT") is used insted. Added some
41 new functions i2d_RSA_NET(), d2i_RSA_NET() etc which are the same
42 as the old Netscape_RSA functions except they have an additional
43 'sgckey' parameter which uses the modified algorithm. Also added
44 an -sgckey command line option to the rsa utility. Thanks to
45 Adrian Peck <bertie@ncipher.com> for posting details of the modified
46 algorithm to openssl-dev.
47 [Steve Henson]
48
e366f2b8
DSH
49 *) The evp_local.h macros were using 'c.##kname' which resulted in
50 invalid expansion on some systems (SCO 5.0.5 for example).
51 Corrected to 'c.kname'.
52 [Phillip Porch <root@theporch.com>]
53
a91dedca
DSH
54 *) New X509_get1_email() and X509_REQ_get1_email() functions that return
55 a STACK of email addresses from a certificate or request, these look
56 in the subject name and the subject alternative name extensions and
57 omit any duplicate addresses.
58 [Steve Henson]
59
dc434bbc
BM
60 *) Re-implement BN_mod_exp2_mont using independent (and larger) windows.
61 This makes DSA verification about 2 % faster.
62 [Bodo Moeller]
63
64 *) Increase maximum window size in BN_mod_exp_... to 6 bits instead of 5
65 (meaning that now 2^5 values will be precomputed, which is only 4 KB
66 plus overhead for 1024 bit moduli).
67 This makes exponentiations about 0.5 % faster for 1024 bit
68 exponents (as measured by "openssl speed rsa2048").
69 [Bodo Moeller]
70
947b3b8b
BM
71 *) Rename memory handling macros to avoid conflicts with other
72 software:
73 Malloc => OPENSSL_malloc
74 Malloc_locked => OPENSSL_malloc_locked
75 Realloc => OPENSSL_realloc
76 Free => OPENSSL_free
77 [Richard Levitte]
78
482a9d41
BM
79 *) New function BN_mod_exp_mont_word for small bases (roughly 15%
80 faster than BN_mod_exp_mont, i.e. 7% for a full DH exchange).
6dad7bd6
BM
81 [Bodo Moeller]
82
be5d92e0
UM
83 *) CygWin32 support.
84 [John Jarvie <jjarvie@newsguy.com>]
85
e41c8d6a
GT
86 *) The type-safe stack code has been rejigged. It is now only compiled
87 in when OpenSSL is configured with the DEBUG_SAFESTACK option and
88 by default all type-specific stack functions are "#define"d back to
89 standard stack functions. This results in more streamlined output
90 but retains the type-safety checking possibilities of the original
91 approach.
92 [Geoff Thorpe]
93
ccd86b68
GT
94 *) The STACK code has been cleaned up, and certain type declarations
95 that didn't make a lot of sense have been brought in line. This has
96 also involved a cleanup of sorts in safestack.h to more correctly
97 map type-safe stack functions onto their plain stack counterparts.
98 This work has also resulted in a variety of "const"ifications of
99 lots of the code, especially "_cmp" operations which should normally
100 be prototyped with "const" parameters anyway.
101 [Geoff Thorpe]
102
361ee973
BM
103 *) When generating bytes for the first time in md_rand.c, 'stir the pool'
104 by seeding with STATE_SIZE dummy bytes (with zero entropy count).
105 (The PRNG state consists of two parts, the large pool 'state' and 'md',
106 where all of 'md' is used each time the PRNG is used, but 'state'
107 is used only indexed by a cyclic counter. As entropy may not be
108 well distributed from the beginning, 'md' is important as a
109 chaining variable. However, the output function chains only half
110 of 'md', i.e. 80 bits. ssleay_rand_add, on the other hand, chains
111 all of 'md', and seeding with STATE_SIZE dummy bytes will result
112 in all of 'state' being rewritten, with the new values depending
113 on virtually all of 'md'. This overcomes the 80 bit limitation.)
114 [Bodo Moeller]
115
49528751
DSH
116 *) In ssl/s2_clnt.c and ssl/s3_clnt.c, call ERR_clear_error() when
117 the handshake is continued after ssl_verify_cert_chain();
118 otherwise, if SSL_VERIFY_NONE is set, remaining error codes
119 can lead to 'unexplainable' connection aborts later.
120 [Bodo Moeller; problem tracked down by Lutz Jaenicke]
121
122 *) Major EVP API cipher revision.
123 Add hooks for extra EVP features. This allows various cipher
124 parameters to be set in the EVP interface. Support added for variable
125 key length ciphers via the EVP_CIPHER_CTX_set_key_length() function and
126 setting of RC2 and RC5 parameters.
127
128 Modify EVP_OpenInit() and EVP_SealInit() to cope with variable key length
129 ciphers.
130
131 Remove lots of duplicated code from the EVP library. For example *every*
360370d9
DSH
132 cipher init() function handles the 'iv' in the same way according to the
133 cipher mode. They also all do nothing if the 'key' parameter is NULL and
134 for CFB and OFB modes they zero ctx->num.
135
49528751
DSH
136 New functionality allows removal of S/MIME code RC2 hack.
137
57ae2e24
DSH
138 Most of the routines have the same form and so can be declared in terms
139 of macros.
140
360370d9
DSH
141 By shifting this to the top level EVP_CipherInit() it can be removed from
142 all individual ciphers. If the cipher wants to handle IVs or keys
143 differently it can set the EVP_CIPH_CUSTOM_IV or EVP_CIPH_ALWAYS_CALL_INIT
144 flags.
be06a934
DSH
145
146 Change lots of functions like EVP_EncryptUpdate() to now return a
147 value: although software versions of the algorithms cannot fail
148 any installed hardware versions can.
7f060601
DSH
149 [Steve Henson]
150
2c05c494
BM
151 *) Implement SSL_OP_TLS_ROLLBACK_BUG: In ssl3_get_client_key_exchange, if
152 this option is set, tolerate broken clients that send the negotiated
153 protocol version number instead of the requested protocol version
154 number.
155 [Bodo Moeller]
156
157 *) Call dh_tmp_cb (set by ..._TMP_DH_CB) with correct 'is_export' flag;
158 i.e. non-zero for export ciphersuites, zero otherwise.
159 Previous versions had this flag inverted, inconsistent with
160 rsa_tmp_cb (..._TMP_RSA_CB).
161 [Bodo Moeller; problem reported by Amit Chopra]
162
b4b41f48
DSH
163 *) Add missing DSA library text string. Work around for some IIS
164 key files with invalid SEQUENCE encoding.
165 [Steve Henson]
166
6d7cce48
RL
167 *) Add a document (doc/standards.txt) that list all kinds of standards
168 and so on that are implemented in OpenSSL.
169 [Richard Levitte]
170
439df508
DSH
171 *) Enhance c_rehash script. Old version would mishandle certificates
172 with the same subject name hash and wouldn't handle CRLs at all.
173 Added -fingerprint option to crl utility, to support new c_rehash
174 features.
175 [Steve Henson]
176
0e1c0612 177 *) Eliminate non-ANSI declarations in crypto.h and stack.h.
2c05c494 178