]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Fix typo in OCSP nonce extension.
[thirdparty/openssl.git] / CHANGES
CommitLineData
f1c236f8 1 OpenSSL CHANGES
651d0aff
RE
2 _______________
3
c5e8580e
RL
4 Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
5
bf0d176e
DSH
6 *) Update OCSP API. Remove obsolete extensions argument from
7 various functions. Extensions are now handled using the new
8 OCSP extension code. New simple OCSP HTTP function which
9 can be used to send requests and parse the response.
10 [Steve Henson]
11
ec5add87
DSH
12 *) Fix the PKCS#7 (S/MIME) code to work with new ASN1. Two new
13 ASN1_ITEM structures help with sign and verify. PKCS7_ATTR_SIGN
14 uses the special reorder version of SET OF to sort the attributes
15 and reorder them to match the encoded order. This resolves a long
16 standing problem: a verify on a PKCS7 structure just after signing
17 it used to fail because the attribute order did not match the
18 encoded order. PKCS7_ATTR_VERIFY does not reorder the attributes:
19 it uses the received order. This is necessary to tolerate some broken
20 software that does not order SET OF. This is handled by encoding
21 as a SEQUENCE OF but using implicit tagging (with UNIVERSAL class)
22 to produce the required SET OF.
23 [Steve Henson]
24
a6574c21
RL
25 *) Have mk1mf.pl generate the macros OPENSSL_BUILD_SHLIBCRYPTO and
26 OPENSSL_BUILD_SHLIBSSL and use them appropriately in the header
27 files to get correct declarations of the ASN.1 item variables.
28 [Richard Levitte]
29
ecbe0781
DSH
30 *) Rewrite of PKCS#12 code to use new ASN1 functionality. Replace many
31 PKCS#12 macros with real functions. Fix two unrelated ASN1 bugs:
32 asn1_check_tlen() would sometimes attempt to use 'ctx' when it was
33 NULL and ASN1_TYPE was not dereferenced properly in asn1_ex_c2i().
34 New ASN1 macro: DECLARE_ASN1_ITEM() which just declares the relevant
35 ASN1_ITEM and no wrapper functions.
36 [Steve Henson]
37
4e1209eb
DSH
38 *) New functions or ASN1_item_d2i_fp() and ASN1_item_d2i_bio(). These
39 replace the old function pointer based I/O routines. Change most of
40 the *_d2i_bio() and *_d2i_fp() functions to use these.
41 [Steve Henson]
42
3f07fe09
RL
43 *) Enhance mkdef.pl to be more accepting about spacing in C preprocessor
44 lines, recognice more "algorithms" that can be deselected, and make
45 it complain about algorithm deselection that isn't recognised.
46 [Richard Levitte]
47
78d3b819 48 *) New ASN1 functions to handle dup, sign, verify, digest, pack and
73e92de5
DSH
49 unpack operations in terms of ASN1_ITEM. Modify existing wrappers
50 to use new functions. Add NO_ASN1_OLD which can be set to remove
51 some old style ASN1 functions: this can be used to determine if old
52 code will still work when these eventually go away.
09ab755c
DSH
53 [Steve Henson]
54
ec558b65
DSH
55 *) New extension functions for OCSP structures, these follow the
56 same conventions as certificates and CRLs.
57 [Steve Henson]
58
57d2f217
DSH
59 *) New function X509V3_add1_i2d(). This automatically encodes and
60 adds an extension. Its behaviour can be customised with various
61 flags to append, replace or delete. Various wrappers added for
62 certifcates and CRLs.
63 [Steve Henson]
64
5755cab4
DSH
65 *) Fix to avoid calling the underlying ASN1 print routine when
66 an extension cannot be parsed. Correct a typo in the
67 OCSP_SERVICELOC extension. Tidy up print OCSP format.
68 [Steve Henson]
69
3880cd35
BM
70 *) Increase s2->wbuf allocation by one byte in ssl2_new (ssl/s2_lib.c).
71 Otherwise do_ssl_write (ssl/s2_pkt.c) will write beyond buffer limits
72 when writing a 32767 byte record.
73 [Bodo Moeller; problem reported by Eric Day <eday@concentric.net>]
74
f640ee90 75 *) In RSA_eay_public_{en,ed}crypt and RSA_eay_mod_exp (rsa_eay.c),
126fe085 76 obtain lock CRYPTO_LOCK_RSA before setting rsa->_method_mod_{n,p,q}.
f640ee90
BM
77
78 (RSA objects have a reference count access to which is protected
79 by CRYPTO_LOCK_RSA [see rsa_lib.c, s3_srvr.c, ssl_cert.c, ssl_rsa.c],
80 so they are meant to be shared between threads.)
126fe085
BM
81 [Bodo Moeller, Geoff Thorpe; original patch submitted by
82 "Reddie, Steven" <Steven.Reddie@ca.com>]
f640ee90 83
9c67ab2f
DSH
84 *) Make mkdef.pl parse some of the ASN1 macros and add apropriate
85 entries for variables.
5755cab4 86 [Steve Henson]
9c67ab2f 87
1456d186
BM
88 *) Fix a deadlock in CRYPTO_mem_leaks().
89 [Bodo Moeller]
90
3ac82faa
BM
91 *) Add functionality to apps/openssl.c for detecting locking
92 problems: As the program is single-threaded, all we have
93 to do is register a locking callback using an array for
94 storing which locks are currently held by the program.
3ac82faa
BM
95 [Bodo Moeller]
96
97 *) Use a lock around the call to CRYPTO_get_ex_new_index() in
98 SSL_get_ex_data_X509_STORE_idx(), which is used in
99 ssl_verify_cert_chain() and thus can be called at any time
100 during TLS/SSL handshakes so that thread-safety is essential.
101 Unfortunately, the ex_data design is not at all suited
102 for multi-threaded use, so it probably should be abolished.
103 [Bodo Moeller]
104
2a86064f
GT
105 *) Added Broadcom "ubsec" ENGINE to OpenSSL.
106 [Broadcom, tweaked and integrated by Geoff Thorpe]
107
2c15d426
DSH
108 *) Move common extension printing code to new function
109 X509V3_print_extensions(). Reorganise OCSP print routines and
c08523d8 110 implement some needed OCSP ASN1 functions. Add OCSP extensions.
2c15d426
DSH
111 [Steve Henson]
112
de487514
DSH
113 *) New function X509_signature_print() to remove duplication in some
114 print routines.
115 [Steve Henson]
116
06db4253
DSH
117 *) Add a special meaning when SET OF and SEQUENCE OF flags are both
118 set (this was treated exactly the same as SET OF previously). This
119 is used to reorder the STACK representing the structure to match the
120 encoding. This will be used to get round a problem where a PKCS7
121 structure which was signed could not be verified because the STACK
122 order did not reflect the encoded order.
123 [Steve Henson]
124
36f554d4
DSH
125 *) Reimplement the OCSP ASN1 module using the new code.
126 [Steve Henson]
127
2aff7727
DSH
128 *) Update the X509V3 code to permit the use of an ASN1_ITEM structure
129 for its ASN1 operations. The old style function pointers still exist
130 for now but they will eventually go away.
131 [Steve Henson]
132
9d6b1ce6 133 *) Merge in replacement ASN1 code from the ASN1 branch. This almost
5755cab4
DSH
134 completely replaces the old ASN1 functionality with a table driven
135 encoder and decoder which interprets an ASN1_ITEM structure describing
136 the ASN1 module. Compatibility with the existing ASN1 API (i2d,d2i) is
137 largely maintained. Almost all of the old asn1_mac.h macro based ASN1
138 has also been converted to the new form.
9d6b1ce6
DSH
139 [Steve Henson]
140
8dea52fa
BM
141 *) Change BN_mod_exp_recp so that negative moduli are tolerated
142 (the sign is ignored). Similarly, ignore the sign in BN_MONT_CTX_set
143 so that BN_mod_exp_mont and BN_mod_exp_mont_word work
144 for negative moduli.
145 [Bodo Moeller]
146
147 *) Fix BN_uadd and BN_usub: Always return non-negative results instead
148 of not touching the result's sign bit.
149 [Bodo Moeller]
150
80d89e6a
BM
151 *) BN_div bugfix: If the result is 0, the sign (res->neg) must not be
152 set.
153 [Bodo Moeller]
154
f1919c3d
GT
155 *) Changed the LHASH code to use prototypes for callbacks, and created
156 macros to declare and implement thin (optionally static) functions
157 that provide type-safety and avoid function pointer casting for the
158 type-specific callbacks.
159 [Geoff Thorpe]
160
1946cd8b
UM
161 *) Use better test patterns in bntest.
162