]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Fix warnings.
[thirdparty/openssl.git] / CHANGES
CommitLineData
651d0aff 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
d91e201e
RE
5 Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
6
aef838fc
DSH
7 *) New functions UTF8_getc() and UTF8_putc() that parse and generate
8 UTF8 strings a character at a time.
9 [Steve Henson]
10
074309b7
BM
11 *) Use client_version from client hello to select the protocol
12 (s23_srvr.c) and for RSA client key exchange verification
13 (s3_srvr.c), as required by the SSL 3.0/TLS 1.0 specifications.
14 [Bodo Moeller]
15
8ce97163
DSH
16 *) Add various utility functions to handle SPKACs, these were previously
17 handled by poking round in the structure internals. Added new function
18 NETSCAPE_SPKI_print() to print out SPKAC and a new utility 'spkac' to
19 print, verify and generate SPKACs. Based on an original idea from
20 Massimiliano Pala <madwolf@comune.modena.it> but extensively modified.
21 [Steve Henson]
22
2d4287da
AP
23 *) RIPEMD160 is operational on all platforms and is back in 'make test'.
24 [Andy Polyakov]
25
87a25f90
DSH
26 *) Allow the config file extension section to be overwritten on the
27 command line. Based on an original idea from Massimiliano Pala
28 <madwolf@comune.modena.it>. The new option is called -extensions
29 and can be applied to ca, req and x509. Also -reqexts to override
30 the request extensions in req and -crlexts to override the crl extensions
31 in ca.
32 [Steve Henson]
33
f9150e54
DSH
34 *) Add new feature to the SPKAC handling in ca. Now you can include
35 the same field multiple times by preceding it by "XXXX." for example:
36 1.OU="Unit name 1"
37 2.OU="Unit name 2"
38 this is the same syntax as used in the req config file.
39 [Steve Henson]
40
c79b16e1
DSH
41 *) Allow certificate extensions to be added to certificate requests. These
42 are specified in a 'req_extensions' option of the req section of the
43 config file. They can be printed out with the -text option to req but
44 are otherwise ignored at present.
45 [Steve Henson]
46
7b65c329
DSH
47 *) Fix a horrible bug in enc_read() in crypto/evp/bio_enc.c: if the first data
48 read consists of only the final block it would not decrypted because
49 EVP_CipherUpdate() would correctly report zero bytes had been decrypted.
50 A misplaced 'break' also meant the decrypted final block might not be
51 copied until the next read.
52 [Steve Henson]
53
13066cee
DSH
54 *) Initial support for DH_METHOD. Again based on RSA_METHOD. Also added
55 a few extra parameters to the DH structure: these will be useful if
56 for example we want the value of 'q' or implement X9.42 DH.
57 [Steve Henson]
58
c0711f7f
DSH
59 *) Initial support for DSA_METHOD. This is based on the RSA_METHOD and
60 provides hooks that allow the default DSA functions or functions on a
61 "per key" basis to be replaced. This allows hardware acceleration and
62 hardware key storage to be handled without major modification to the
63 library. Also added low level modexp hooks and CRYPTO_EX structure and
64 associated functions.
65 [Steve Henson]
66
8484721a
DSH
67 *) Add a new flag to memory BIOs, BIO_FLAG_MEM_RDONLY. This marks the BIO
68 as "read only": it can't be written to and the buffer it points to will
69 not be freed. Reading from a read only BIO is much more efficient than
70 a normal memory BIO. This was added because there are several times when
71 an area of memory needs to be read from a BIO. The previous method was
72 to create a memory BIO and write the data to it, this results in two
73 copies of the data and an O(n^2) reading algorithm. There is a new
74 function BIO_new_mem_buf() which creates a read only memory BIO from
75 an area of memory. Also modified the PKCS#7 routines to use read only
76 memory BIOSs.
77 [Steve Henson]
78
de1915e4
BM
79 *) Bugfix: ssl23_get_client_hello did not work properly when called in
80 state SSL23_ST_SR_CLNT_HELLO_B, i.e. when the first 7 bytes of
81 a SSLv2-compatible client hello for SSLv3 or TLSv1 could be read,
82 but a retry condition occured while trying to read the rest.
83 [Bodo Moeller]
84
c6c34506
DSH
85 *) The PKCS7_ENC_CONTENT_new() function was setting the content type as
86 NID_pkcs7_encrypted by default: this was wrong since this should almost
87 always be NID_pkcs7_data. Also modified the PKCS7_set_type() to handle
88 the encrypted data type: this is a more sensible place to put it and it
89 allows the PKCS#12 code to be tidied up that duplicated this
90 functionality.
91 [Steve Henson]
92
fd520577
DSH
93 *) Changed obj_dat.pl script so it takes its input and output files on
94 the command line. This should avoid shell escape redirection problems
95 under Win32.
96 [Steve Henson]
97
87c49f62 98 *) Initial support for certificate extension requests, these are included
fd520577
DSH
99 in things like Xenroll certificate requests. Included functions to allow
100 extensions to be obtained and added.
87c49f62
DSH
101 [Steve Henson]
102
1b1a6e78
BM
103 *) -crlf option to s_client and s_server for sending newlines as
104 CRLF (as required by many protocols).
105 [Bodo Moeller]
106
9a577e29 107 Changes between 0.9.3a and 0.9.4 [09 Aug 1999]
dfbaf956 108
9a577e29 109 *) Install libRSAglue.a when OpenSSL is built with RSAref.
dfbaf956 110 [Ralf S. Engelschall]
74678cc2 111
96395158
RE
112 *) A few more ``#ifndef NO_FP_API / #endif'' pairs for consistency.
113 [Andrija Antonijevic <TheAntony2@bigfoot.com>]
114
ed7f60fb
DSH
115 *) Fix -startdate and -enddate (which was missing) arguments to 'ca'
116 program.
117 [Steve Henson]
118
48c843c3
BM
119 *) New function DSA_dup_DH, which duplicates DSA parameters/keys as
120 DH parameters/keys (q is lost during that conversion, but the resulting
121 DH parameters contain its length).
122
123 For 1024-bit p, DSA_generate_parameters followed by DSA_dup_DH is
124 much faster than DH_generate_parameters (which creates parameters
125 where p = 2*q + 1), and also the smaller q makes DH computations
126 much more efficient (160-bit exponentiation instead of 1024-bit
127 exponentiation); so this provides a convenient way to support DHE
128 ciphersuites in SSL/TLS servers (see ssl/ssltest.c). It is of
129 utter importance to use
130 SSL_CTX_set_options(s_ctx, SSL_OP_SINGLE_DH_USE);
131 or
132 SSL_set_options(s_ctx, SSL_OP_SINGLE_DH_USE);
133 when such DH parameters are used, because otherwise small subgroup
134 attacks may become possible!
135 [Bodo Moeller]
136
137 *) Avoid memory leak in i2d_DHparams.
138 [Bodo Moeller]
139
922180d7
DSH
140 *) Allow the -k option to be used more than once in the enc program:
141 this allows the same encrypted message to be read by multiple recipients.
142 [Steve Henson]
143
3e3d2ea2
DSH
144 *) New function OBJ_obj2txt(buf, buf_len, a, no_name), this converts
145 an ASN1_OBJECT to a text string. If the "no_name" parameter is set then
146 it will always use the numerical form of the OID, even if it has a short
147 or long name.
148 [Steve Henson]
149
770d19b8
DSH
150 *) Added an extra RSA flag: RSA_FLAG_EXT_PKEY. Previously the rsa_mod_exp
151 method only got called if p,q,dmp1,dmq1,iqmp components were present,
152 otherwise bn_mod_exp was called. In the case of hardware keys for example
153 no private key components need be present and it might store extra data
154 in the RSA structure, which cannot be accessed from bn_mod_exp. By setting
155 RSA_FLAG_EXT_PKEY rsa_mod_exp will always be called for private key
156 operations.
157 [Steve Henson]
158
a0618e3e
AP
159 *) Added support for SPARC Linux.
160 [Andy Polyakov]
161
74678cc2
BM
162 *) pem_password_cb function type incompatibly changed from
163 typedef int pem_password_cb(char *buf, int size, int rwflag);
164 to
165 ....(char *buf, int size, int rwflag, void *userdata);
166 so that applications can pass data to their callbacks:
167 The PEM[_ASN1]_{read,write}... functions and macros now take an
168 additional void * argument, which is just handed through whenever
169 the password callback is called.
170 [Damien Miller <dmiller@ilogic.com.au>, with tiny changes by Bodo Moeller]
171
172 New function SSL_CTX_set_default_passwd_cb_userdata.
173
174 Compatibility note: As many C implementations push function arguments
175 onto the stack in reverse order, the new library version is likely to
176 interoperate with programs that have been compiled with the old
177 pem_password_cb definition (PEM_whatever takes some data that
178 happens to be on the stack as its last argument, and the callback
179 just ignores this garbage); but there is no guarantee whatsoever that
180 this will work.
0cceb1c7 181
664b9985
BM
182 *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=...
183 (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused
184 problems not only on Windows, but also on some Unix platforms.
2e0fc875 185 To avoid problematic command lines, these definitions are now in an
57119943
BM
186 auto-generated file crypto/buildinf.h (created by crypto/Makefile.ssl
187 for standard "make" builds, by util/mk1mf.pl for "mk1mf" builds).
664b9985
BM
188 [Bodo Moeller]
189
7363455f
AP
190 *) MIPS III/IV assembler module is reimplemented.
191 [Andy Polyakov]
192
6434450c
UM
193 *) More DES library cleanups: remove references to srand/rand and
194 delete an unused file.
195