blob: 3226ca7709f7c81fef37cd6b124640009525e409 [file] [log] [blame]
Jean-Paul Calderone5ab37af2014-12-11 14:05:24 -050012014-12-11 Jean-Paul Calderone <exarkun@twistedmatrix.com>
2
3 * OpenSSL/SSL.py: Fixed a regression ``Context.check_privatekey``
4 causing it to always succeed - even if it should fail.
5
Alex Gaynorcf823d02014-08-21 10:50:18 -070062014-08-21 Alex Gaynor <alex.gaynor@gmail.com>
7
8 * OpenSSL/crypto.py: Fixed a regression where calling ``load_pkcs7_data``
9 with ``FILETYPE_ASN1`` would fail with a ``NameError.
10
Jean-Paul Calderone780967e2014-05-05 13:01:16 -0400112014-05-05 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone4ca24ee2014-04-02 21:10:57 -040012
13 * OpenSSL/SSL.py: Fix a regression in which the first argument of
Jean-Paul Calderone774230a2014-05-06 08:59:49 -040014 the "verify" callback was incorrectly passed a ``Context`` instance
Jean-Paul Calderone4ca24ee2014-04-02 21:10:57 -040015 instead of the ``Connection`` instance.
16 * OpenSSL/test/test_ssl.py: Add a test for the value passed as the
17 first argument of the "verify" callback.
18
Jean-Paul Calderone3611b4e2014-04-19 18:34:06 -0400192014-04-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
20
21 * OpenSSL/crypto.py: Based on work from Alex Gaynor, Andrew
22 Lutomirski, Tobias Oberstein, Laurens Van Houtven, and Hynek
23 Schlawack, add ``get_elliptic_curve`` and ``get_elliptic_curves``
24 to support TLS ECDHE modes.
25 * OpenSSL/SSL.py: Add ``Context.set_tmp_ecdh`` to configure a TLS
26 context with a particular elliptic curve for ECDHE modes.
27
Markus Unterwaditzer8e41d022014-04-19 12:27:11 +0200282014-04-19 Markus Unterwaditzer <markus@unterwaditzer.net>
29
30 * OpenSSL/SSL.py: ``Connection.send`` and ``Connection.sendall``
31 now also accept the ``buffer`` type as data.
32
Stephen Holsapple38482622014-04-05 20:29:34 -0700332014-04-05 Stephen Holsapple <sholsapp@gmail.com>
34
35 * OpenSSL/crypto.py: Make ``load_pkcs12`` backwards compatible with
36 pyOpenSSL 0.13 by making passphrase optional.
37
Jean-Paul Calderone7c556ef2014-03-30 10:45:00 -0400382014-03-30 Fedor Brunner <fedor.brunner@azet.sk>
Fedor Brunner416f4a12014-03-28 13:18:38 +010039
Jean-Paul Calderone76f84152014-03-30 11:27:25 -040040 * OpenSSL/SSL.py: Add ``get_finished``, ``get_peer_finished``
Fedor Brunner416f4a12014-03-28 13:18:38 +010041 methods to ``Connection``. If you use these methods to
42 implement TLS channel binding (RFC 5929) disable session
43 resumption because triple handshake attacks against TLS.
44 <https://www.ietf.org/mail-archive/web/tls/current/msg11337.html>
45 <https://secure-resumption.com/tlsauth.pdf>
46
Jean-Paul Calderone7c556ef2014-03-30 10:45:00 -0400472014-03-29 Fedor Brunner <fedor.brunner@azet.sk>
Jean-Paul Calderoneab04bdc2014-03-29 18:16:34 -040048
49 * OpenSSL/SSL.py: Add ``get_cipher_name``, ``get_cipher_bits``,
50 and ``get_cipher_version`` to ``Connection``.
51
Jean-Paul Calderoned735ae82014-03-25 21:03:42 -0400522014-03-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
53
54 * OpenSSL/tsafe.py: Replace the use of ``apply`` (which has been
55 removed in Python 3) with the equivalent syntax.
56
Jonathan Giannuzzi070c3562014-03-28 15:58:54 +0100572014-03-28 Jonathan Giannuzzi <jonathan@giannuzzi.be>
Jonathan Giannuzzi1ad14af2014-03-20 16:03:30 +010058
59 * OpenSSL/crypto.py: Fix memory leak in _X509_REVOKED_dup.
Jonathan Giannuzzi070c3562014-03-28 15:58:54 +010060 * leakcheck/crypto.py: Add checks for _X509_REVOKED_dup, CRL.add_revoked
61 and CRL.get_revoked.
62 * setup.py: Require cryptography 0.3 to have the ASN1_TIME_free binding.
Jean-Paul Calderonefd193a22014-01-09 15:15:45 -050063
Jean-Paul Calderonefd193a22014-01-09 15:15:45 -0500642014-03-02 Stephen Holsapple <sholsapp@gmail.com>
65
66 * OpenSSL/crypto.py: Add ``get_extensions`` method to ``X509Req``.
67
682014-01-09 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone5c0fd552013-10-06 08:58:04 -040069
70 * OpenSSL: Port to the cffi-based OpenSSL bindings provided by
71 <https://github.com/pyca/cryptography>
72
732013-10-06 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderonef7e37e62013-10-03 15:24:23 -040074
75 * OpenSSL/ssl/context.c: Add support for negotiating TLS v1.1 or
76 v1.2.
77
782013-10-03 Christian Heimes <christian@python.org>
79
Jean-Paul Calderoneff83cdd2013-08-12 18:05:51 -040080 * OpenSSL/crypto/x509.c: Fix an inconsistency in memory management
81 in X509.get_serial_number which leads to crashes on some runtimes
82 (certain Windows/Python 3.3 environments, at least).
Jean-Paul Calderonede1a6822013-08-23 15:21:30 -040083
842013-08-11 Christian Heimes <christian@python.org>
Jean-Paul Calderoneff83cdd2013-08-12 18:05:51 -040085
86 * OpenSSL/crypto/x509ext.c: Fix handling of NULL bytes inside
Jean-Paul Calderoneffe420a2012-04-03 15:25:07 -040087 subjectAltName general names when formatting an X509 extension
88 as a string.
89 * OpenSSL/crypto/x509.c: Fix memory leak in get_extension().
90
912012-04-03 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone593a06d2012-02-13 08:15:07 -050092
93 * OpenSSL/crypto/pkey.c: Release the GIL around RSA and DSA key
94 generation, based on code from INADA Naoki.
95
962012-02-13 Jean-Paul Calderone <exarkun@twistedmatrix.com>
97
98 * OpenSSL/ssl/ssl.c: Add session cache related constants for use
99 with the new Context.set_session_cache_mode method.
100
Jean-Paul Calderone22d915f2011-11-01 10:17:25 -0400101 * OpenSSL/ssl/context.c: Add new Context methods
102 set_session_cache_mode and get_session_cache_mode.
103
1042011-11-01 Jean-Paul Calderone <exarkun@twistedmatrix.com>
105
Jean-Paul Calderone56b2fb82011-09-14 11:23:38 -0400106 * OpenSSL/crypto/pkey.c: Raise TypeError when trying to check a
107 PKey instance which has no private component, instead of crashing.
108 Based on fix by <lp:~dataway>.
109
1102011-09-14 Žiga Seilnacht <lp:ziga-seilnacht>
111
112 * OpenSSL/crypto/crypto.c: Allow exceptions from passphrase
113 callbacks to propagate up out of load_privatekey
114 * OpenSSL/crypto/crypto.c: Raise an exception when a too-long
115 passphrase is returned from a passphrase callback, instead of
Jean-Paul Calderonec7293bc2011-09-13 15:24:38 -0400116 silently truncating it.
117 * OpenSSL/crypto/crypto.c: Fix a memory leak when a passphrase
118 callback returns the wrong type.
119
1202011-09-13 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone54d99bc2011-09-11 15:49:43 -0400121
122 * OpenSSL/crypto/crl.c: Add error handling for the use of
123 X509_CRL_sign.
124
1252011-09-11 Jonathan Ballet <lp:multani>
Jean-Paul Calderone8afc7fc2011-09-08 18:42:51 -0400126
Guillermo Gonzalez74a2c292011-08-29 16:16:58 -0300127 * doc/: Convert the LaTeX documentation to Sphinx-using ReST.
128 * OpenSSL/: Convert the epytext API documentation to Sphinx-using ReST.
129
1302011-09-08 Guillermo Gonzalez <guillermo.gonzalez@canonical.com>
131
Jean-Paul Calderonebb960a62011-09-02 11:43:50 -0400132 * OpenSSL/ssl/context.c: Add Context.set_mode method.
Jean-Paul Calderone9695e8a2011-08-14 18:10:06 -0400133 * OpenSSL/ssl/ssl.c: Add MODE_RELEASE_BUFFERS and OP_NO_COMPRESSION
134 constants.
135
Jean-Paul Calderoneeecb1982011-06-12 17:34:44 -04001362011-09-02 Jean-Paul Calderone <exarkun@twistedmatrix.com>
137
Jean-Paul Calderone042b66d2011-06-12 21:56:13 -0400138 * Release 0.13
139
1402011-06-12 Jean-Paul Calderone <exarkun@twistedmatrix.com>
141
142 * OpenSSL/crypto/pkey.c: Add the PKey.check method, mostly
143 implemented by Rick Dean, to verify the internal consistency of a
Jean-Paul Calderoneeecb1982011-06-12 17:34:44 -0400144 PKey instance.
145
1462011-06-12 Jean-Paul Calderone <exarkun@twistedmatrix.com>
147
Jean-Paul Calderoneee6532d2011-05-20 20:10:39 -0400148 * OpenSSL/crypto/crypto.c: Fix the sign and verify functions so
149 they handle data with embedded NULs. Fix by David Brodsky
150 <lp:~lihalla>.
151
1522011-05-20 Jean-Paul Calderone <exarkun@twistedmatrix.com>
153
Jean-Paul Calderone9c771672011-05-19 17:54:07 -0400154 * OpenSSL/ssl/connection.c, OpenSSL/test/test_ssl.py: Add a new
155 method to the Connection type, get_peer_cert_chain, for retrieving
156 the peer's certificate chain.
157
1582011-05-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
159
160 * OpenSSL/crypto/x509.c, OpenSSL/test/test_crypto.py: Add a new
Jean-Paul Calderone9eff5692011-05-10 20:24:34 -0400161 method to the X509 type, get_signature_algorithm, for inspecting
162 the signature algorithm field of the certificate. Based on a
163 patch from <lp:~okuda>.
164
1652011-05-10 Jean-Paul Calderone <exarkun@twistedmatrix.com>
166
167 * OpenSSL/crypto/crypto.h: Work around a Windows/OpenSSL 1.0 issue
168 explicitly including a Windows header before any OpenSSL headers.
169
170 * OpenSSL/crypto/pkcs12.c: Work around an OpenSSL 1.0 issue by
171 explicitly flushing errors known to be uninteresting after calling
172 PKCS12_parse.
173
174 * OpenSSL/ssl/context.c: Remove SSLv2 support if the underlying
175 OpenSSL library does not provide it.
176
177 * OpenSSL/test/test_crypto.py: Support an OpenSSL 1.0 change from
178 MD5 to SHA1 by allowing either hash algorithm's result as the
179 return value of X509.subject_name_hash.
180
181 * OpenSSL/test/test_ssl.py: Support an OpenSSL 1.0 change from MD5
182 to SHA1 by constructing certificate files named using both hash
183 algorithms' results when testing Context.load_verify_locations.
Jean-Paul Calderone2309cd62011-04-15 12:17:53 -0400184
185 * Support OpenSSL 1.0.0a.
186
1872011-04-15 Jean-Paul Calderone <exarkun@twistedmatrix.com>
188
Jean-Paul Calderonefc572cf2011-04-07 15:48:16 -0400189 * OpenSSL/ssl/ssl.c: Add OPENSSL_VERSION_NUMBER, SSLeay_version
190 and related constants for retrieving version information about the
191 underlying OpenSSL library.
192
Jean-Paul Calderonec2d2bdb2011-04-06 22:19:52 -04001932011-04-07 Jean-Paul Calderone <exarkun@twistedmatrix.com>
194
195 * Release 0.12
196
1972011-04-06 Jean-Paul Calderone <exarkun@twistedmatrix.com>
198
199 * OpenSSL/crypto/x509.c: Add get_extension_count and get_extension
200 to the X509 type, allowing read access to certificate extensions.
201
Jean-Paul Calderonef65fe482011-03-21 19:16:40 -0400202 * OpenSSL/crypto/x509ext.c: Add get_short_name and get_data to the
203 X509Extension type, allowing read access to the contents of an
204 extension.
205
2062011-03-21 Olivier Hervieu <lp:~ohe>
Jean-Paul Calderonef6a4a7c2011-01-22 10:04:48 -0500207
208 * OpenSSL/ssl/ssl.c: Expose a number of symbolic constants for
209 values passed to the connection "info" callback.
210
2112011-01-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
212
Jean-Paul Calderone8e1716f2010-11-01 17:43:15 -0400213 * OpenSSL/ssl/connection.py: Add support for new-style
Jean-Paul Calderone7cb3f6d2010-10-31 10:36:23 -0400214 buffers (primarily memoryviews) to Connection.send and
215 Connection.sendall.
216
Jean-Paul Calderoned16a3642010-10-07 22:19:58 -04002172010-11-01 Jean-Paul Calderone <exarkun@twistedmatrix.com>
218
219 * Release 0.11
220
Jean-Paul Calderone84fd3742010-09-14 18:05:45 -04002212010-10-07 Jean-Paul Calderone <exarkun@twistedmatrix.com>
222
223 * Initial support for Python 3.x throughout the codebase.
224
2252010-09-14 Jean-Paul Calderone <exarkun@twistedmatrix.com>
226
227 * OpenSSL/crypto/netscape_spki.c: Fix an off-by-one mistake in the
228 error handling for NetscapeSPKI.verify. Add additional error
229 checking to NetscapeSPKI.sign to handle the case where there is no
230 private key.
231
232 * OpenSSL/crypto/x509.c: Fix an overflow bug in the subject_name_hash
233 method of the X509 type which would cause it to return negative
234 values on 32 bit systems.
235
236 * OpenSSL/crypto/x509req.c: Fix an off-by-one mistake in the error
237 handling for X509Req.verify.
238
239 * OpenSSL/ssl/context.c: Fix the error handling in the load_tmp_dh
240 method of the Context type which would cause it to always raise
241 MemoryError, regardless of the actual error (such as a bad file
242 name).
Jean-Paul Calderone6d78fed2010-07-27 21:47:22 -0400243
244 * OpenSSL/test/: Numerous unit tests added, both for above fixes
245 and for other previously untested code paths.
246
2472010-07-27 Jean-Paul Calderone <exarkun@twistedmatrix.com>
James Yonan7c2e5d32010-02-27 05:45:50 -0700248
249 * Re-arrange the repository so that the package can be built and
250 used in-place without requiring installation.
251
2522010-02-27 James Yonan <james@openvpn.net>
253
254 * src/crypto/crypto.c: Added crypto.sign and crypto.verify methods
255 that wrap EVP_Sign and EVP_Verify function families, using code
256 derived from Dave Cridland's PyOpenSSL branch.
Jean-Paul Calderone40b32a22010-01-27 16:56:44 -0500257
258 * test/test_crypto.py: Added unit tests for crypto.sign and
259 crypto.verify.
260
2612010-01-27 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone5cc61972009-11-13 09:16:32 -0500262
263 * src/ssl/connection.c, src/util.h: Apply patch from Sandro Tosi to
264 fix misspellings of "compatibility".
265
Jean-Paul Calderone76751912009-11-12 07:51:04 -05002662009-11-13 Jean-Paul Calderone <exarkun@twistedmatrix.com>
267
268 * Release 0.10
269
2702009-11-07 Žiga Seilnacht, Jean-Paul Calderone <exarkun@twistedmatrix.com>
271
272 * src/ssl/connection.c, src/ssl/context.c: Add set_client_ca_list,
273 add_client_ca, and get_client_ca_list to Context for manipulating
274 the list of certificate authority names which are sent by servers
275 with the certificate request message.
276 * src/util.h: Add ssize-related defines if the version of Python
277 being used does not have them.
Jean-Paul Calderone2953db82009-08-27 13:20:38 -0400278 * setup.py: Significant changes to the way Windows builds are done,
279 particularly the way OpenSSL headers and libraries are found (with
280 the new --with-openssl argument to build_ext).
281
2822009-08-27 Rick Dean <rick@fdd.com>, Jean-Paul Calderone <exarkun@twistedmatrix.com>
283
Jean-Paul Calderone2953db82009-08-27 13:20:38 -0400284 * src/crypto/pkcs12.c: Add setters to the PKCS12 type for the
285 certificate, private key, ca certificate list, and friendly
Jean-Paul Calderone2953db82009-08-27 13:20:38 -0400286 name, and add a getter for the friendly name. Also add a method
287 for exporting a PKCS12 object as a string.
288 * test/test_crypto.py: Add lots of additional tests for the PKCS12
Jean-Paul Calderone9ac425c2009-07-17 16:06:12 -0400289 type.
290 * doc/pyOpenSSL.tex: Documentation for the new PKCS12 methods.
291
2922009-07-17 Rick Dean <rick@fdd.com>, Jean-Paul Calderone <exarkun@twistedmatrix.com>
293
Jean-Paul Calderone8b327992009-07-16 18:52:14 -0400294 * src/crypto/x509ext.c: Add subject and issuer parameters to
295 X509Extension, allowing creation of extensions which require that
296 information. Fixes LP#322813.
297
2982009-07-16 Jean-Paul Calderone <exarkun@twistedmatrix.com>
299
300 * test/util.py: Changed the base TestCase's tearDown to assert that
301 no errors were left in the OpenSSL error queue by the test.
302 * src/crypto/crypto.c: Add a private helper in support of the
303 TestCase.tearDown change.
304 * src/crypto/x509name.c: Changed X509Name's getattr implementation
Jean-Paul Calderoneb3b94e02009-07-16 14:07:28 -0400305 to clean up the error queue. Fixes LP#314814.
306 * test/util.c: Changed flush_error_queue to avoid a reference
307 counting bug caused by macro expansion.
308
3092009-07-16 Rick Dean <rick@fdd.com>
310
311 * src/rand.c: Added OpenSSL.rand.bytes to get random bytes directly.
Jean-Paul Calderone0b88b6a2009-07-05 12:44:41 -0400312 * src/util.c: Added generic exceptions_from_error_queue to replace
313 the various other implementations of this function. Also updated
Jean-Paul Calderone18808652009-07-05 12:54:05 -0400314 the rest of the codebase to use this version instead.
315
3162009-07-05 Jean-Paul Calderone <exarkun@twistedmatrix.com>
317
318 * test/util.py, test/test_ssl.py, test/test_crypto.py: Fold the
319 Python 2.3 compatibility TestCase mixin into the TestCase defined
Jean-Paul Calderone0b88b6a2009-07-05 12:44:41 -0400320 in util.py.
321
3222009-07-05 Jean-Paul Calderone <exarkun@twistedmatrix.com>
323
Jean-Paul Calderonefdc5a0a2009-07-04 15:48:42 -0400324 * test/util.py, test/test_ssl.py, test/test_crypto.py: Stop trying
325 to use Twisted's TestCase even when it's available. Instead,
326 always use the stdlib TestCase with a few enhancements.
327
3282009-07-04 Jean-Paul Calderone <exarkun@twistedmatrix.com>
329
330 * Changed most extension types so that they can be instantiated
Jean-Paul Calderonea96bfed2009-05-27 08:47:34 -0400331 using the type object rather than a factory function. The old
332 factory functions are now aliases for the type objects.
Jean-Paul Calderone54bcc832009-05-27 14:06:48 -0400333 Fixes LP#312786.
334
3352009-05-27 Jean-Paul Calderone <exarkun@twistedmatrix.com>
336
337 * Changed all docstrings in extension modules to be friendlier
Jean-Paul Calderonea96bfed2009-05-27 08:47:34 -0400338 towards Python programmers. Fixes LP#312787.
339
3402009-05-27 Jean-Paul Calderone <exarkun@twistedmatrix.com>
341
Jean-Paul Calderoned683f2d2009-05-11 10:47:42 -0400342 * src/crypto/x509ext.c: Correctly deallocate the new Extension
343 instance when there is an error initializing it and it is not
344 going to be returned. Resolves LP#368043.
345
3462009-05-11 Jean-Paul Calderone <exarkun@twistedmatrix.com>
347
348 * test/test_crypto.py: Use binary mode for the pipe to talk to the
349 external openssl binary. The data being transported over this
350 pipe is indeed binary, so previously it would often be truncated
351 or otherwise mangled.
352
Jean-Paul Calderoneb0921592009-05-11 10:48:41 -0400353 * src/ssl/connection.h, src/ssl/connection.c, test/test_ssl.py:
354 Extend the Connection class with support for in-memory BIOs. This
Jean-Paul Calderoned683f2d2009-05-11 10:47:42 -0400355 allows SSL to be run without a real socket, useful for
Jean-Paul Calderone71ff3682009-04-25 08:30:11 -0400356 implementing EAP-TLS or using SSL with Windows IO completion
357 ports, for example. Based heavily on contributions from Rick
358 Dean.
359
Jean-Paul Calderoneb8a70732009-04-01 14:49:13 -04003602009-04-25 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderoneec48cd52009-04-01 19:01:41 -0400361
362 * Release 0.9
363
3642009-04-01 Jean-Paul Calderone <exarkun@twistedmatrix.com>
365 Samuele Pedroni <pedronis@openend.se>
366
367 * src/util.h: Delete the TLS key before trying to set a new value
368 for it in case the current thread identifier is a recycled one (if
369 it is recycled, the key won't be set because there is already a
Jean-Paul Calderoneb8a70732009-04-01 14:49:13 -0400370 value from the previous thread to have this identifier and to use
371 the pyOpenSSL API).
372
3732009-04-01 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderonee7db4b42008-12-31 13:39:24 -0500374
375 * src/crypto/crypto.c: Add FILETYPE_TEXT for dumping keys and
Jean-Paul Calderonef8c5fab2008-12-31 15:53:48 -0500376 certificates and certificate signature requests to a text format.
377
Jean-Paul Calderone2953db82009-08-27 13:20:38 -04003782008-12-31 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderonef8c5fab2008-12-31 15:53:48 -0500379
380 * src/crypto/x509ext.c, test/test_crypto.py: Add the get_short_name
Jean-Paul Calderonee7db4b42008-12-31 13:39:24 -0500381 method to X509Extension based on patch from Alex Stapleton.
382
3832008-12-31 Jean-Paul Calderone <exarkun@twistedmatrix.com>
384
385 * src/crypto/x509ext.c, test/test_crypto.py: Fix X509Extension so
Jean-Paul Calderone24e2b0b2008-12-30 15:12:11 -0500386 that it is possible to instantiate extensions which use s2i or r2i
387 instead of v2i (an extremely obscure extension implementation
388 detail).
389
3902008-12-30 Jean-Paul Calderone <exarkun@twistedmatrix.com>
391
392 * MANIFEST.in, src/crypto/crypto.c, src/crypto/x509.c,
Jean-Paul Calderone8dd19b82008-12-28 20:41:16 -0500393 src/crypto/x509name.c, src/rand/rand.c, src/ssl/context.c: Changes
394 which eliminate compiler warnings but should not change any
Jean-Paul Calderone327d8f92008-12-28 21:55:56 -0500395 behavior.
396
3972008-12-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
398
399 * test/test_ssl.py, src/ssl/ssl.c: Expose DTLS-related constants,
Jean-Paul Calderoneaa9c7972008-09-07 21:27:49 -0400400 OP_NO_QUERY_MTU, OP_COOKIE_EXCHANGE, and OP_NO_TICKET.
401
4022008-12-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
403
404 * src/ssl/context.c: Add a capath parameter to
405 Context.load_verify_locations to allow Python code to specify
406 either or both arguments to the underlying
Jean-Paul Calderone5b000d72008-12-28 21:09:53 -0500407 SSL_CTX_load_verify_locations API.
408 * src/ssl/context.c: Add Context.set_default_verify_paths, a wrapper
Jean-Paul Calderone8dd19b82008-12-28 20:41:16 -0500409 around SSL_CTX_set_default_verify_paths.
410
4112008-12-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
412
Jean-Paul Calderonef7f0fb42008-10-19 11:55:13 -0400413 * test/test_crypto.py, src/crypto/x509req.c: Added get_version and
414 set_version_methods to X509ReqType based on patch from Wouter van
415 Bommel. Resolves LP#274418.
416
Jean-Paul Calderone002bf462008-10-19 11:35:40 -04004172008-09-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
418
419 * Release 0.8
420
4212008-10-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
422
Jean-Paul Calderone1eeb29e2008-10-19 11:50:53 -0400423 * tsafe.py: Revert the deprecation of the thread-safe Connection
424 wrapper. The Connection class should not segfault if used from
425 multiple threads now, but it generally cannot be relied on to
Jean-Paul Calderone002bf462008-10-19 11:35:40 -0400426 produce correct results if used without the thread-safe wrapper.
Jean-Paul Calderonea319ca92008-09-22 08:45:40 -0400427 * doc/pyOpenSSL.tex: Correct the documentation for the set_passwd_cb
428 callback parameter so that it accurately describes the required
Jean-Paul Calderoneb5fdbbf2008-09-22 09:04:09 -0400429 signature.
430
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -04004312008-09-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
432
433 * Release 0.8a1
Jean-Paul Calderone002bf462008-10-19 11:35:40 -0400434
4352008-09-21 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -0400436
437 * src/ssl/ssl.h, src/ssl/ssl.c: Add a thread-local storage key
Jean-Paul Calderone002bf462008-10-19 11:35:40 -0400438 which will be used to store and retrieve PyThreadState pointers
439 whenever it is necessary to release or re-acquire the GIL.
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -0400440
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400441 * src/ssl/context.c: Change global_verify_callback so that it
442 unconditionally manipulates the Python threadstate, rather than
Jean-Paul Calderone5ef86512008-04-26 19:06:28 -0400443 checking the tstate field which is now always NULL.
444
4452008-04-26 Jean-Paul Calderone <exarkun@twistedmatrix.com>
446
447 * src/ssl/context.c: Change global_passphrase_callback and
Jean-Paul Calderoneaea5d902008-04-26 19:53:39 -0400448 global_info_callback so that they acquire the GIL before
449 invoking any CPython APIs and do not release it until after they
450 are finished invoking all of them (based heavily on on patch
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400451 from Dan Williams).
452 * src/ssl/crypto.c: Initialize OpenSSL thread support so that it
453 is valid to use OpenSSL APIs from more than one thread (based on
Jean-Paul Calderone5ef86512008-04-26 19:06:28 -0400454 patch from Dan Williams).
455 * test/test_crypto.py: Add tests for load_privatekey and
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400456 dump_privatekey when a passphrase or a passphrase callback is
Jean-Paul Calderonee53ccf72008-04-11 11:40:39 -0400457 supplied.
458 * test/test_ssl.py: Add tests for Context.set_passwd_cb and
459 Context.set_info_callback.
460
Jean-Paul Calderonec54cc182008-03-26 21:11:07 -04004612008-04-11 Jean-Paul Calderone <exarkun@twistedmatrix.com>
462
463 * Release 0.7
464
Jean-Paul Calderone9ab16c02008-03-25 15:22:47 -04004652008-03-26 Jean-Paul Calderone <exarkun@twistedmatrix.com>
466
467 * src/crypto/x509name.c: Add X509Name.get_components
Jean-Paul Calderonec8215432008-03-25 15:34:21 -0400468
4692008-03-25 Jean-Paul Calderone <exarkun@twistedmatrix.com>
470
Jean-Paul Calderone9ab16c02008-03-25 15:22:47 -0400471 * src/crypto/x509name.c: Add hash and der methods to X509Name.
Jean-Paul Calderone3de9f622008-03-12 14:12:19 -0400472 * src/crypto/x509.c: Fix a bug in X509.get_notBefore and
473 X509.get_notAfter preventing UTCTIME format timestamps from
474 working.
475
4762008-03-12 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400477
478 * Fix coding problems in examples/. Remove keys and certificates
479 and add a note about how to generate new ones.
480
Jean-Paul Calderoneac0d95f2008-03-10 00:00:42 -04004812008-03-09 Jean-Paul Calderone <exarkun@twistedmatrix.com>
482
483 * src/crypto/x509.c: Add getters and setters for the notBefore and
484 notAfter attributes of X509s.
485 * src/crypto/pkey.h, src/crypto/pkey.c, src/crypto/x509req.c,
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400486 src/crypto/x509.c: Track the initialized and public/private state
Jean-Paul Calderoneda92ccc2008-03-06 23:48:12 -0500487 of EVP_PKEY structures underlying the crypto_PKeyObj type and
488 reject X509Req signature operations on keys not suitable for the
489 task.
490
4912008-03-06 Jean-Paul Calderone <exarkun@twistedmatrix.com>
492
493 * src/crypto/x509name.c: Fix tp_compare so it only returns -1, 0, or
494 1. This eliminates a RuntimeWarning emitted by Python.
495 * src/crypto/x509req.c: Fix reference counting for X509Name returned
496 by X509Req.get_subject. This removes a segfault when the subject
497 name outlives the request object.
Jean-Paul Calderone7df40db2008-03-03 15:12:42 -0500498 * src/crypto/x509.c: Change get_serial_number and set_serial_number
499 to accept Python longs.
500 * doc/pyOpenSSL.tex: A number of minor corrections.
501
5022008-03-03 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone12ea9a02008-02-22 12:24:39 -0500503
504 * src/crypto/crypto.c: Expose X509_verify_cert_error_string. (patch
505 from Victor Stinner)
506
5072008-02-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -0500508
509 * src/ssl/connection.c src/ssl/context.c src/ssl/ssl.c: Fix
510 compilation on Windows. (patch from Michael Schneider)
511
5122008-02-21 Jean-Paul Calderone <exarkun@twistedmatrix.com>
513
514 * src/ssl/connection.c: Expose SSL_get_shutdown and
Jean-Paul Calderone779db6b2008-02-19 21:00:37 -0500515 SSL_set_shutdown. (patch from James Knight)
516 * src/ssl/ssl.c: Expose SSL_SENT_SHUTDOWN and SSL_RECEIVED_SHUTDOWN.
517 (patch from James Knight)
518
5192008-02-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Paul Calderone19555b92008-02-19 22:29:57 -0500520
521 * src/ssl/context.c: Expose SSL_CTX_add_extra_chain_cert.
522 * src/crypto/x509name.c: Fix memory leaks in __getattr__ and
Jean-Paul Calderone779db6b2008-02-19 21:00:37 -0500523 __setattr_ implementations.
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500524 * src/crypto/x509.c: Fix memory leak in X509.get_pubkey().
525 * leakcheck/: An attempt at a systematic approach to leak
526 elimination.
527
5282004-08-13 Martin Sjögren <msjogren@gmail.com>
529
530 * Released version 0.6.
531
5322004-08-11 Martin Sjögren <msjogren@gmail.com>
533
534 * doc/pyOpenSSL.tex: Updates to the docs.
535
5362004-08-10 Martin Sjögren <msjogren@gmail.com>
537
538 * src/crypto/x509.c: Add X509.add_extensions based on a patch
539 from Han S. Lee.
540 * src/ssl/ssl.c: Add more SSL_OP_ constants. Patch from Mihai
541 Ibanescu.
542
5432004-08-09 Martin Sjögren <msjogren@gmail.com>
544
545 * setup.py src/crypto/: Add support for Netscape SPKI extensions
546 based on a patch from Tollef Fog Heen.
547 * src/crypto/crypto.c: Add support for python passphrase callbacks
548 based on a patch from Robert Olson.
549
5502004-08-03 Martin Sjögren <msjogren@gmail.com>
551
552 * src/ssl/context.c: Applied patch from Frederic Peters to add
553 Context.use_certificate_chain_file.
554 * src/crypto/x509.c: Applid patch from Tollef Fog Heen to add
555 X509.subject_name_hash and X509.digest.
556
5572004-08-02 Martin Sjögren <msjogren@gmail.com>
558
559 * src/crypto/crypto.c src/ssl/ssl.c: Applied patch from Bastian
560 Kleineidam to fix full names of exceptions.
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400561
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05005622004-07-19 Martin Sjögren <msjogren@gmail.com>
563
564 * doc/pyOpenSSL.tex: Fix the errors regarding X509Name's field names.
565
5662004-07-18 Martin Sjögren <msjogren@gmail.com>
567
568 * examples/certgen.py: Fixed wrong attributes in doc string, thanks
569 Remy. (SFbug#913315)
570 * __init__.py, setup.py, version.py: Add __version__, as suggested by
571 Ronald Oussoren in SFbug#888729.
572 * examples/proxy.py: Fix typos, thanks Mihai Ibanescu. (SFpatch#895820)
573
5742003-01-09 Martin Sjögren <martin@strakt.com>
575
576 * Use cyclic GC protocol in SSL.Connection, SSL.Context, crypto.PKCS12
577 and crypto.X509Name.
578
5792002-12-02 Martin Sjögren <martin@strakt.com>
580
581 * tsafe.py: Add some missing methods.
582
5832002-10-06 Martin Sjögren <martin@strakt.com>
584
585 * __init__.py: Import tsafe too!
586
5872002-10-05 Martin Sjögren <martin@strakt.com>
588
589 * src/crypto/x509name.c: Use unicode strings instead of ordinary
590 strings in getattr/setattr. Note that plain ascii strings should
591 still work.
592
5932002-09-17 Martin Sjögren <martin@strakt.com>
594
595 * Released version 0.5.1.
596
5972002-09-09 Martin Sjögren <martin@strakt.com>
598
599 * setup.cfg: Fixed build requirements for rpms.
600
6012002-09-07 Martin Sjögren <martin@strakt.com>
602
603 * src/ssl/connection.c: Fix sendall() method. It segfaulted because
604 it was too generous about giving away the GIL.
605 * Added SecureXMLRPCServer example, contributed by Michal Wallace.
606
6072002-09-06 Martin Sjögren <martin@strakt.com>
608
609 * setup.cfg: Updated the build requirements.
610 * src/ssl/connection.c: Fix includes for AIX.
611
6122002-09-04 Anders Hammarquist <iko@strakt.com>
613
614 * Added type checks in all the other places where we expect
615 specific types of objects passed.
616
6172002-09-04 Martin Sjögren <martin@strakt.com>
618
619 * src/crypto/crypto.c: Added an explicit type check in the dump_*
620 functions, so that they won't die when e.g. None is passed in.
621
6222002-08-25 Martin Sjögren <martin@strakt.com>
623
624 * doc/pyOpenSSL.tex: Docs for PKCS12.
625
6262002-08-24 Martin Sjögren <martin@strakt.com>
627
628 * src/crypto: Added basic PKCS12 support, thanks to Mark Welch
629 <mark@collab.net>
630
6312002-08-16 Martin Sjögren <martin@strakt.com>
632
633 * D'oh! Fixes for python 1.5 and python 2.1.
634
6352002-08-15 Martin Sjögren <martin@strakt.com>
636
637 * Version 0.5. Yay!
638
6392002-07-25 Martin Sjögren <martin@strakt.com>
640
641 * src/ssl/context.c: Added set_options method.
642 * src/ssl/ssl.c: Added constants for Context.set_options method.
643
6442002-07-23 Martin Sjögren <martin@strakt.com>
645
646 * Updated docs
647 * src/ssl/connection.c: Changed the get_cipher_list method to actually
648 return a list! WARNING: This change makes the API incompatible with
649 earlier versions!
650
6512002-07-15 Martin Sjögren <martin@strakt.com>
652
653 * src/ssl/connection.[ch]: Removed the fileno method, it uses the
654 transport object's fileno instead.
655
6562002-07-09 Martin Sjögren <martin@strakt.com>
657
658 * src/crypto/x509.c src/crypto/x509name.c: Fixed segfault bug where
659 you used an X509Name after its X509 had been destroyed.
660 * src/crypto/crypto.[ch] src/crypto/x509req.c src/crypto/x509ext.[ch]:
661 Added X509 Extension support. Thanks to maas-Maarten Zeeman
662 <maas@awanim.com>
663 * src/crypto/pkey.c: Added bits() and type() methods.
664
6652002-07-08 Martin Sjögren <martin@strakt.com>
666
667 * src/ssl/connection.c: Moved the contents of setup_ssl into the
668 constructor, thereby fixing some segfault bugs :)
669 * src/ssl/connection.c: Added connect_ex and sendall methods.
670 * src/crypto/x509name.c: Cleaned up comparisons and NID lookup.
671 Thank you Maas-Maarten Zeeman <maas@awanim.com>
672 * src/rand/rand.c: Fix RAND_screen import.
673 * src/crypto/crypto.c src/crypto/pkcs7.[ch]: Added PKCS7 management,
674 courtesy of Maas-Maarten Zeeman <maas@awanim.com>
675 * src/crypto/x509req.c: Added verify method.
676
6772002-06-17 Martin Sjögren <martin@strakt.com>
678
679 * rpm/, setup.cfg: Added improved RPM-building stuff, thanks to
680 Mihai Ibanescu <misa@redhat.com>
681
6822002-06-14 Martin Sjögren <martin@strakt.com>
683
684 * examples/proxy.py: Example code for using OpenSSL through a proxy
685 contributed by Mihai Ibanescu <misa@redhat.com>
686 * Updated installation instruction and added them to the TeX manual.
687
6882002-06-13 Martin Sjögren <martin@strakt.com>
689
690 * src/ssl/context.c: Changed global_verify_callback so that it uses
691 PyObject_IsTrue instead of requring ints.
692 * Added pymemcompat.h to make the memory management uniform and
693 backwards-compatible.
694 * src/util.h: Added conditional definition of PyModule_AddObject and
695 PyModule_AddIntConstant
696 * src/ssl/connection.c: Socket methods are no longer explicitly
697 wrapped. fileno() is the only method the transport layer object HAS
698 to support, but if you want to use connect, accept or sock_shutdown,
699 then the transport layer object has to supply connect, accept
700 and shutdown respectively.
701
7022002-06-12 Martin Sjögren <martin@strakt.com>
703
704 * Changed comments to docstrings that are visible in Python.
705 * src/ssl/connection.c: Added set_connect_state and set_accept_state
706 methods. Thanks to Mark Welch <mark@collab.net> for this.
707
7082002-06-11 Martin Sjögren <martin@strakt.com>
709
710 * src/ssl/connection.c: accept and connect now use SSL_set_accept_state
711 and SSL_set_connect_state respectively, instead of SSL_accept and
712 SSL_connect.
713 * src/ssl/connection.c: Added want_read and want_write methods.
714
7152002-06-05 Martin Sjögren <martin@strakt.com>
716
717 * src/ssl/connection.c: Added error messages for windows. The code is
718 copied from Python's socketmodule.c. Ick.
719 * src/ssl/connection.c: Changed the parameters to the SysCallError. It
720 always has a tuple (number, string) now, even though the number
721 might not always be useful.
722
7232002-04-05 Martin Sjögren <md9ms@mdstud.chalmers.se>
724
725 * Worked more on the Debian packaging, hopefully the packages
726 are getting into the main Debian archive soon.
727
7282002-01-10 Martin Sjögren <martin@strakt.com>
729
730 * Worked some more on the Debian packaging, it's turning out real
731 nice.
732 * Changed format on this file, I'm going to try to be a bit more
733 verbose about my changes, and this format makes it easier.
734
7352002-01-08 Martin Sjögren <martin@strakt.com>
736
737 * Version 0.4.1
738 * Added some example code
739 * Added the thread safe Connection object in the 'tsafe' submodule
740 * New Debian packaging
741
7422001-08-09 Martin Sjögren <martin@strakt.com>
743
744 * Version 0.4
745 * Added a compare function for X509Name structures.
746 * Moved the submodules to separate .so files, with tiny C APIs so they
747 can communicate
748 * Skeletal OpenSSL/__init__.py
749 * Removed the err submodule, use crypto.Error and SSL.Error instead
750
7512001-08-06 Martin Sjögren <martin@strakt.com>
752
753 * Version 0.3
754 * Added more types for dealing with certificates (X509Store, X509Req,
755 PKey)
756 * Functionality to load private keys, certificates and certificate
757 requests from memory buffers, and store them too
758 * X509 and X509Name objects can now be modified as well, very neat when
759 creating certificates ;)
760 * Added SSL_MODE_AUTO_RETRY to smooth things for blocking sockets
761 * Added a sock_shutdown() method to the Connection type
762 * I don't understand why, but I can't use Py_InitModule() to create
763 submodules in Python 2.0, the interpreter segfaults on the cleanup
764 process when I do. I added a conditional compile on the version
765 number, falling back to my own routine. It would of course be nice to
766 investigate what is happening, but I don't have the time to do so
767 * Do INCREF on the type objects before inserting them in the
768 dictionary, so they will never reach refcount 0 (they are, after all,
769 statically allocated)
770
7712001-07-30 Martin Sjögren <martin@strakt.com>
772
773 * Version 0.2
774 * Lots of tweaking and comments in the code
775 * Now uses distutils instead of the stupid Setup file
776 * Hacked doc/tools/mkhowto, html generation should now work
777
7782001-07-16 Martin Sjögren <martin@strakt.com>
779
780 * Initial release (0.1, don't expect much from this one :-)
781