diff options
author | Theo Buehler <tb@openbsd.org> | 2020-10-03 12:28:51 +0200 |
---|---|---|
committer | Theo Buehler <tb@openbsd.org> | 2020-10-03 13:15:06 +0200 |
commit | 2dc9f8e3733edf19f2826a9aa34f9645f79aec82 (patch) | |
tree | 5b3e2f797ed208bf2f2be1a81edbc3e205ba3557 /ChangeLog | |
parent | 17c88164016df821df2dff4b2b1291291ec4f28a (diff) | |
download | portable-2dc9f8e3733edf19f2826a9aa34f9645f79aec82.tar.gz portable-2dc9f8e3733edf19f2826a9aa34f9645f79aec82.tar.bz2 portable-2dc9f8e3733edf19f2826a9aa34f9645f79aec82.zip |
Initial cut of the 3.2.2 ChangeLog
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 188 |
1 files changed, 188 insertions, 0 deletions
@@ -28,6 +28,194 @@ history is also available from Git. | |||
28 | 28 | ||
29 | LibreSSL Portable Release Notes: | 29 | LibreSSL Portable Release Notes: |
30 | 30 | ||
31 | 3.2.2 - Stable release | ||
32 | |||
33 | * Simplify handling of allocation handling in SSL_new(). | ||
34 | |||
35 | * Use SSL3_SEQUENCE_SIZE for last_write_sequence[]. | ||
36 | |||
37 | * Use 0 instead of 0x00 in memset() calls in DTLS code. | ||
38 | |||
39 | * Increment the epoch in the same place for both read and write. | ||
40 | |||
41 | * Send an unexpected message alert if no valid content type is found. | ||
42 | |||
43 | * Define OPENSSL_NO_SSL_TRACE in opensslfeatures.h. | ||
44 | |||
45 | * Start replacing the existing TLSv1.2 record layer. | ||
46 | |||
47 | * Send alert on ssl_get_prev_session() failure. | ||
48 | |||
49 | * Simplify return codes for tls1_process_ticket() and | ||
50 | tls_decrypt_ticket(). | ||
51 | |||
52 | * Simplify tls_decrypt_ticket() exit path. | ||
53 | |||
54 | * Copy the session ide directly in ssl_get_prev_session() instead of | ||
55 | handing it through several functions for copying. | ||
56 | |||
57 | * Split session retrieval out of ssl_get_prev_session(). | ||
58 | |||
59 | * Zero out variable on the stack to avoid leaving garbage in the tail | ||
60 | of short session ids. | ||
61 | |||
62 | * Remove unnecessary zeroing after recallocarray() in | ||
63 | ASN1_BIT_STRING_set_bit(). | ||
64 | |||
65 | * Rewrite X509_INFO_{new,free}() more idiomatically. | ||
66 | |||
67 | * Import commented versions of the latest OPENSSL_NO_* flags from | ||
68 | OpenSSL 1.1.1g. | ||
69 | |||
70 | * Document return value from EC_KEY_get0_public_key(3). | ||
71 | |||
72 | * Set alpn_selected_len = 0 whenever alpn_selected is NULL. | ||
73 | |||
74 | * Add option type OPTION_UL_VALUE_OR to openssl(1) option parser. | ||
75 | |||
76 | * Convert openssl(1) ocsp option handling. | ||
77 | |||
78 | * Major style cleanup in ocsp.c. | ||
79 | |||
80 | * Assorted ciphers related cleanup in ssl_lib.c. | ||
81 | |||
82 | * Add issuer cache in preparation for changes to the validation code. | ||
83 | |||
84 | * Replace some SSL_AD_* with TLS13_ALERT_* defines in the new TLSv1.3 | ||
85 | code. | ||
86 | |||
87 | * Rename ssl_cipher_is_permitted() to the more accurate and specific | ||
88 | ssl_cipher_allowed_in_version_range(). | ||
89 | |||
90 | * Simplify SSL_get_ciphers(). | ||
91 | |||
92 | * Remove cipher_list_by_id. | ||
93 | |||
94 | * Add a new implementation of X509 name constraints with regrssion | ||
95 | tests. | ||
96 | |||
97 | * Fix and re-enable cert and cipher interop tests. | ||
98 | |||
99 | * Include machine/endian.h gost2814789.c in order to pick up the | ||
100 | __STRICT_ALIGNMENT define. | ||
101 | |||
102 | * Enable the new X509 name constraints verification. | ||
103 | |||
104 | * Avoid an out-of-bounds write in BN_rand(). | ||
105 | |||
106 | * Simplify tls1_set_ec_id(). | ||
107 | |||
108 | * Use uint16_t for curve_id. | ||
109 | |||
110 | * Improve the handling of BIO_read()/BIO_write() failures in the | ||
111 | TLSv1.3 stack. | ||
112 | |||
113 | * Add a new certificate chain validator. | ||
114 | |||
115 | The new validator finds multiple validated chains to handle the | ||
116 | modern PKI cases which may frequently have multiple paths via | ||
117 | different intermediates to different roots. It is loosely based on | ||
118 | golang's x509 validator. | ||
119 | |||
120 | This includes integration so that the new validator can be used via | ||
121 | X509_verify_cert() as well as a new API x509_verify() which will | ||
122 | return multiple chains (similar to go). | ||
123 | |||
124 | The new public API is not yet exposed, and will be finalized and | ||
125 | exposed with a man page and a library minor bump later. | ||
126 | |||
127 | * Implement SSL_{CTX_,}set_ciphersuites() and add regress. This is not | ||
128 | yet public API and will be enabled in a future release. | ||
129 | |||
130 | * Enable the use of the new X509 chain validator by default. | ||
131 | |||
132 | * Fix double frees and a NULL dereference introduced on review of the | ||
133 | new validator. | ||
134 | |||
135 | * Remove various unused variables in the X509 code. | ||
136 | |||
137 | * Fix memory leaks in x509_constraints_chain() and | ||
138 | X509V3_ext_add_alias(). | ||
139 | |||
140 | * Add initial manual page for the x509_verify() chain validator which | ||
141 | will be installed once the new API is publically exposed. | ||
142 | |||
143 | * Avoid NULL deref in SSL_{,CTX_}set_ciphersuites(). | ||
144 | |||
145 | * Clean up and simplify SSL_set_session(). | ||
146 | |||
147 | * Move state initialization from SSL_clear() to ssl3_clear() to ensure | ||
148 | that it gets correctly reinitialized accross a SSL_set_ssl_method() | ||
149 | call. | ||
150 | |||
151 | * Test the botan TLS client with LibreSSL, OpenSSL 1.0.2 and 1.1.1 | ||
152 | servers. | ||
153 | |||
154 | * Mop up the get_ssl_method function pointer. | ||
155 | |||
156 | * Clean up and simplify SSL_set_ssl_method(). | ||
157 | |||
158 | * Deduplicate the time validation code between the legacy and the new | ||
159 | verifcation code. | ||
160 | |||
161 | * Set error_depth and current_cert to avoid problems in legacy | ||
162 | callbacks that don't do proper error checking. | ||
163 | |||
164 | * Correct a failure case in tls12_record_layer_esal_record_protected(). | ||
165 | |||
166 | * Do not destroy an existing cipher list when ssl_parse_ciphersuites() | ||
167 | fails to match the behavior of ssl_create_cipher_list() and | ||
168 | SSL_set_ciphersuites() of OpenSSL. | ||
169 | |||
170 | * Split the tls12_record_layer_write_mac() for future reuse on the | ||
171 | read side. | ||
172 | |||
173 | * Dedup code in X509_verify_ctx_new_from_xsc(). | ||
174 | |||
175 | * Make check in x509_verify_ctx_set_max_signatures() consistent with | ||
176 | others. | ||
177 | |||
178 | * Avoid memset() before memcpy() for CBS_add_bytes(). | ||
179 | |||
180 | * Make SSL_CTX_get_ciphers(NULL) return NULL rather than crash. | ||
181 | |||
182 | * Simplify SSL method lookups. | ||
183 | |||
184 | * Prepare to provide most of the TLSv1.3-related OpenSSL 1.1.1 API. | ||
185 | This will be finished in an upcoming release. | ||
186 | |||
187 | * Fix an overflow in the CN subject line parsing. | ||
188 | |||
189 | * Correctly handle ssl_cert_dup() failure in SSL_set_SSL_CTX(). | ||
190 | |||
191 | * Fix memory leaks in x509_constraints_extract_names(). | ||
192 | |||
193 | * Correct a 1 byte read overflow in x509_constraints_uri(). | ||
194 | |||
195 | * Ensure the chain is set on the X509_STORE_CTX before triggering | ||
196 | callback. | ||
197 | |||
198 | * Release read and write buffers using freezero() | ||
199 | |||
200 | * Simplify the cleanup of init_buf via an ssl3_release_init_buffer() | ||
201 | function. | ||
202 | |||
203 | * Fix numerous leaks in the UI_dup_* functions. | ||
204 | |||
205 | * Simplify and tidy up hte code in ui_lib.c. | ||
206 | |||
207 | * Refactor dtls1_clear_queues() to make it NULL safe. | ||
208 | |||
209 | * Have dtls1_hm_fragment_new() call dtls1_hm_fragment_free() on | ||
210 | failure. | ||
211 | |||
212 | * Have dtls1_new() call dtls1_free() on failure. | ||
213 | |||
214 | * Call dtls1_hm_fragment_free() from dtls1_drain_fragments() to fix | ||
215 | potential memory leaks. | ||
216 | |||
217 | * Ensure that leaf is set up on X509_STORE_CTX before verification. | ||
218 | |||
31 | 3.2.1 - Development release | 219 | 3.2.1 - Development release |
32 | 220 | ||
33 | * Propagate alerts from the read half of the TLSv1.3 record layer to I/O | 221 | * Propagate alerts from the read half of the TLSv1.3 record layer to I/O |