blob: dbb5894185052b0a412de01541688b60c8d2c842 [file] [log] [blame]
Jean-Paul Calderone8dd19b82008-12-28 20:41:16 -050012008-12-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
2
Jean-Paul Calderoneaa9c7972008-09-07 21:27:49 -04003 * src/ssl/context.c: Add a capath parameter to
4 Context.load_verify_locations to allow Python code to specify
5 either or both arguments to the underlying
6 SSL_CTX_load_verify_locations API.
7 * src/ssl/context.c: Add Context.set_default_verify_paths, a wrapper
8 around SSL_CTX_set_default_verify_paths.
9
Jean-Paul Calderone5b000d72008-12-28 21:09:53 -0500102008-12-28 Jean-Paul Calderone <exarkun@twistedmatrix.com>
11
Jean-Paul Calderone8dd19b82008-12-28 20:41:16 -050012 * test/test_crypto.py, src/crypto/x509req.c: Added get_version and
13 set_version_methods to X509ReqType based on patch from Wouter van
14 Bommel. Resolves LP#274418.
15
Jean-Paul Calderonef7f0fb42008-10-19 11:55:13 -0400162008-09-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
17
18 * Release 0.8
19
Jean-Paul Calderone002bf462008-10-19 11:35:40 -0400202008-10-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
21
22 * tsafe.py: Revert the deprecation of the thread-safe Connection
23 wrapper. The Connection class should not segfault if used from
24 multiple threads now, but it generally cannot be relied on to
25 produce correct results if used without the thread-safe wrapper.
Jean-Paul Calderone1eeb29e2008-10-19 11:50:53 -040026 * doc/pyOpenSSL.tex: Correct the documentation for the set_passwd_cb
27 callback parameter so that it accurately describes the required
28 signature.
Jean-Paul Calderone002bf462008-10-19 11:35:40 -040029
Jean-Paul Calderonea319ca92008-09-22 08:45:40 -0400302008-09-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
31
Jean-Paul Calderoneb5fdbbf2008-09-22 09:04:09 -040032 * Release 0.8a1
33
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -0400342008-09-21 Jean-Paul Calderone <exarkun@twistedmatrix.com>
35
36 * src/ssl/ssl.h, src/ssl/ssl.c: Add a thread-local storage key
Jean-Paul Calderone002bf462008-10-19 11:35:40 -040037 which will be used to store and retrieve PyThreadState pointers
38 whenever it is necessary to release or re-acquire the GIL.
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -040039
40 * src/ssl/context.c: Change global_verify_callback so that it
Jean-Paul Calderone002bf462008-10-19 11:35:40 -040041 unconditionally manipulates the Python threadstate, rather than
42 checking the tstate field which is now always NULL.
Jean-Paul Calderoneb7d6db22008-09-21 18:57:56 -040043
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400442008-04-26 Jean-Paul Calderone <exarkun@twistedmatrix.com>
45
Jean-Paul Calderone5ef86512008-04-26 19:06:28 -040046 * src/ssl/context.c: Change global_passphrase_callback and
47 global_info_callback so that they acquire the GIL before
48 invoking any CPython APIs and do not release it until after they
49 are finished invoking all of them (based heavily on on patch
50 from Dan Williams).
Jean-Paul Calderoneaea5d902008-04-26 19:53:39 -040051 * src/ssl/crypto.c: Initialize OpenSSL thread support so that it
52 is valid to use OpenSSL APIs from more than one thread (based on
53 patch from Dan Williams).
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -040054 * test/test_crypto.py: Add tests for load_privatekey and
55 dump_privatekey when a passphrase or a passphrase callback is
56 supplied.
Jean-Paul Calderone5ef86512008-04-26 19:06:28 -040057 * test/test_ssl.py: Add tests for Context.set_passwd_cb and
58 Context.set_info_callback.
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -040059
Jean-Paul Calderonee53ccf72008-04-11 11:40:39 -0400602008-04-11 Jean-Paul Calderone <exarkun@twistedmatrix.com>
61
62 * Release 0.7
63
Jean-Paul Calderonec54cc182008-03-26 21:11:07 -0400642008-03-26 Jean-Paul Calderone <exarkun@twistedmatrix.com>
65
66 * src/crypto/x509name.c: Add X509Name.get_components
67
Jean-Paul Calderone9ab16c02008-03-25 15:22:47 -0400682008-03-25 Jean-Paul Calderone <exarkun@twistedmatrix.com>
69
70 * src/crypto/x509name.c: Add hash and der methods to X509Name.
Jean-Paul Calderonec8215432008-03-25 15:34:21 -040071 * src/crypto/x509.c: Fix a bug in X509.get_notBefore and
72 X509.get_notAfter preventing UTCTIME format timestamps from
73 working.
Jean-Paul Calderone9ab16c02008-03-25 15:22:47 -040074
Jean-Paul Calderone3de9f622008-03-12 14:12:19 -0400752008-03-12 Jean-Paul Calderone <exarkun@twistedmatrix.com>
76
77 * Fix coding problems in examples/. Remove keys and certificates
78 and add a note about how to generate new ones.
79
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400802008-03-09 Jean-Paul Calderone <exarkun@twistedmatrix.com>
81
82 * src/crypto/x509.c: Add getters and setters for the notBefore and
83 notAfter attributes of X509s.
Jean-Paul Calderoneac0d95f2008-03-10 00:00:42 -040084 * src/crypto/pkey.h, src/crypto/pkey.c, src/crypto/x509req.c,
85 src/crypto/x509.c: Track the initialized and public/private state
86 of EVP_PKEY structures underlying the crypto_PKeyObj type and
87 reject X509Req signature operations on keys not suitable for the
88 task.
Jean-Paul Calderone525ef802008-03-09 20:39:42 -040089
Jean-Paul Calderoneda92ccc2008-03-06 23:48:12 -0500902008-03-06 Jean-Paul Calderone <exarkun@twistedmatrix.com>
91
92 * src/crypto/x509name.c: Fix tp_compare so it only returns -1, 0, or
93 1. This eliminates a RuntimeWarning emitted by Python.
94 * src/crypto/x509req.c: Fix reference counting for X509Name returned
95 by X509Req.get_subject. This removes a segfault when the subject
96 name outlives the request object.
97 * src/crypto/x509.c: Change get_serial_number and set_serial_number
98 to accept Python longs.
99 * doc/pyOpenSSL.tex: A number of minor corrections.
100
Jean-Paul Calderone7df40db2008-03-03 15:12:42 -05001012008-03-03 Jean-Paul Calderone <exarkun@twistedmatrix.com>
102
103 * src/crypto/crypto.c: Expose X509_verify_cert_error_string. (patch
104 from Victor Stinner)
105
Jean-Paul Calderone12ea9a02008-02-22 12:24:39 -05001062008-02-22 Jean-Paul Calderone <exarkun@twistedmatrix.com>
107
108 * src/ssl/connection.c src/ssl/context.c src/ssl/ssl.c: Fix
109 compilation on Windows. (patch from Michael Schneider)
110
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -05001112008-02-21 Jean-Paul Calderone <exarkun@twistedmatrix.com>
112
113 * src/ssl/connection.c: Expose SSL_get_shutdown and
114 SSL_set_shutdown. (patch from James Knight)
115 * src/ssl/ssl.c: Expose SSL_SENT_SHUTDOWN and SSL_RECEIVED_SHUTDOWN.
116 (patch from James Knight)
117
Jean-Paul Calderone779db6b2008-02-19 21:00:37 -05001182008-02-19 Jean-Paul Calderone <exarkun@twistedmatrix.com>
119
120 * src/ssl/context.c: Expose SSL_CTX_add_extra_chain_cert.
121 * src/crypto/x509name.c: Fix memory leaks in __getattr__ and
122 __setattr_ implementations.
Jean-Paul Calderone19555b92008-02-19 22:29:57 -0500123 * src/crypto/x509.c: Fix memory leak in X509.get_pubkey().
124 * leakcheck/: An attempt at a systematic approach to leak
125 elimination.
Jean-Paul Calderone779db6b2008-02-19 21:00:37 -0500126
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05001272004-08-13 Martin Sjögren <msjogren@gmail.com>
128
129 * Released version 0.6.
130
1312004-08-11 Martin Sjögren <msjogren@gmail.com>
132
133 * doc/pyOpenSSL.tex: Updates to the docs.
134
1352004-08-10 Martin Sjögren <msjogren@gmail.com>
136
137 * src/crypto/x509.c: Add X509.add_extensions based on a patch
138 from Han S. Lee.
139 * src/ssl/ssl.c: Add more SSL_OP_ constants. Patch from Mihai
140 Ibanescu.
141
1422004-08-09 Martin Sjögren <msjogren@gmail.com>
143
144 * setup.py src/crypto/: Add support for Netscape SPKI extensions
145 based on a patch from Tollef Fog Heen.
146 * src/crypto/crypto.c: Add support for python passphrase callbacks
147 based on a patch from Robert Olson.
148
1492004-08-03 Martin Sjögren <msjogren@gmail.com>
150
151 * src/ssl/context.c: Applied patch from Frederic Peters to add
152 Context.use_certificate_chain_file.
153 * src/crypto/x509.c: Applid patch from Tollef Fog Heen to add
154 X509.subject_name_hash and X509.digest.
155
1562004-08-02 Martin Sjögren <msjogren@gmail.com>
157
158 * src/crypto/crypto.c src/ssl/ssl.c: Applied patch from Bastian
159 Kleineidam to fix full names of exceptions.
160
1612004-07-19 Martin Sjögren <msjogren@gmail.com>
162
163 * doc/pyOpenSSL.tex: Fix the errors regarding X509Name's field names.
Jean-Paul Calderone828c9cb2008-04-26 18:06:54 -0400164
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05001652004-07-18 Martin Sjögren <msjogren@gmail.com>
166
167 * examples/certgen.py: Fixed wrong attributes in doc string, thanks
168 Remy. (SFbug#913315)
169 * __init__.py, setup.py, version.py: Add __version__, as suggested by
170 Ronald Oussoren in SFbug#888729.
171 * examples/proxy.py: Fix typos, thanks Mihai Ibanescu. (SFpatch#895820)
172
1732003-01-09 Martin Sjögren <martin@strakt.com>
174
175 * Use cyclic GC protocol in SSL.Connection, SSL.Context, crypto.PKCS12
176 and crypto.X509Name.
177
1782002-12-02 Martin Sjögren <martin@strakt.com>
179
180 * tsafe.py: Add some missing methods.
181
1822002-10-06 Martin Sjögren <martin@strakt.com>
183
184 * __init__.py: Import tsafe too!
185
1862002-10-05 Martin Sjögren <martin@strakt.com>
187
188 * src/crypto/x509name.c: Use unicode strings instead of ordinary
189 strings in getattr/setattr. Note that plain ascii strings should
190 still work.
191
1922002-09-17 Martin Sjögren <martin@strakt.com>
193
194 * Released version 0.5.1.
195
1962002-09-09 Martin Sjögren <martin@strakt.com>
197
198 * setup.cfg: Fixed build requirements for rpms.
199
2002002-09-07 Martin Sjögren <martin@strakt.com>
201
202 * src/ssl/connection.c: Fix sendall() method. It segfaulted because
203 it was too generous about giving away the GIL.
204 * Added SecureXMLRPCServer example, contributed by Michal Wallace.
205
2062002-09-06 Martin Sjögren <martin@strakt.com>
207
208 * setup.cfg: Updated the build requirements.
209 * src/ssl/connection.c: Fix includes for AIX.
210
2112002-09-04 Anders Hammarquist <iko@strakt.com>
212
213 * Added type checks in all the other places where we expect
214 specific types of objects passed.
215
2162002-09-04 Martin Sjögren <martin@strakt.com>
217
218 * src/crypto/crypto.c: Added an explicit type check in the dump_*
219 functions, so that they won't die when e.g. None is passed in.
220
2212002-08-25 Martin Sjögren <martin@strakt.com>
222
223 * doc/pyOpenSSL.tex: Docs for PKCS12.
224
2252002-08-24 Martin Sjögren <martin@strakt.com>
226
227 * src/crypto: Added basic PKCS12 support, thanks to Mark Welch
228 <mark@collab.net>
229
2302002-08-16 Martin Sjögren <martin@strakt.com>
231
232 * D'oh! Fixes for python 1.5 and python 2.1.
233
2342002-08-15 Martin Sjögren <martin@strakt.com>
235
236 * Version 0.5. Yay!
237
2382002-07-25 Martin Sjögren <martin@strakt.com>
239
240 * src/ssl/context.c: Added set_options method.
241 * src/ssl/ssl.c: Added constants for Context.set_options method.
242
2432002-07-23 Martin Sjögren <martin@strakt.com>
244
245 * Updated docs
246 * src/ssl/connection.c: Changed the get_cipher_list method to actually
247 return a list! WARNING: This change makes the API incompatible with
248 earlier versions!
249
2502002-07-15 Martin Sjögren <martin@strakt.com>
251
252 * src/ssl/connection.[ch]: Removed the fileno method, it uses the
253 transport object's fileno instead.
254
2552002-07-09 Martin Sjögren <martin@strakt.com>
256
257 * src/crypto/x509.c src/crypto/x509name.c: Fixed segfault bug where
258 you used an X509Name after its X509 had been destroyed.
259 * src/crypto/crypto.[ch] src/crypto/x509req.c src/crypto/x509ext.[ch]:
260 Added X509 Extension support. Thanks to maas-Maarten Zeeman
261 <maas@awanim.com>
262 * src/crypto/pkey.c: Added bits() and type() methods.
263
2642002-07-08 Martin Sjögren <martin@strakt.com>
265
266 * src/ssl/connection.c: Moved the contents of setup_ssl into the
267 constructor, thereby fixing some segfault bugs :)
268 * src/ssl/connection.c: Added connect_ex and sendall methods.
269 * src/crypto/x509name.c: Cleaned up comparisons and NID lookup.
270 Thank you Maas-Maarten Zeeman <maas@awanim.com>
271 * src/rand/rand.c: Fix RAND_screen import.
272 * src/crypto/crypto.c src/crypto/pkcs7.[ch]: Added PKCS7 management,
273 courtesy of Maas-Maarten Zeeman <maas@awanim.com>
274 * src/crypto/x509req.c: Added verify method.
275
2762002-06-17 Martin Sjögren <martin@strakt.com>
277
278 * rpm/, setup.cfg: Added improved RPM-building stuff, thanks to
279 Mihai Ibanescu <misa@redhat.com>
280
2812002-06-14 Martin Sjögren <martin@strakt.com>
282
283 * examples/proxy.py: Example code for using OpenSSL through a proxy
284 contributed by Mihai Ibanescu <misa@redhat.com>
285 * Updated installation instruction and added them to the TeX manual.
286
2872002-06-13 Martin Sjögren <martin@strakt.com>
288
289 * src/ssl/context.c: Changed global_verify_callback so that it uses
290 PyObject_IsTrue instead of requring ints.
291 * Added pymemcompat.h to make the memory management uniform and
292 backwards-compatible.
293 * src/util.h: Added conditional definition of PyModule_AddObject and
294 PyModule_AddIntConstant
295 * src/ssl/connection.c: Socket methods are no longer explicitly
296 wrapped. fileno() is the only method the transport layer object HAS
297 to support, but if you want to use connect, accept or sock_shutdown,
298 then the transport layer object has to supply connect, accept
299 and shutdown respectively.
300
3012002-06-12 Martin Sjögren <martin@strakt.com>
302
303 * Changed comments to docstrings that are visible in Python.
304 * src/ssl/connection.c: Added set_connect_state and set_accept_state
305 methods. Thanks to Mark Welch <mark@collab.net> for this.
306
3072002-06-11 Martin Sjögren <martin@strakt.com>
308
309 * src/ssl/connection.c: accept and connect now use SSL_set_accept_state
310 and SSL_set_connect_state respectively, instead of SSL_accept and
311 SSL_connect.
312 * src/ssl/connection.c: Added want_read and want_write methods.
313
3142002-06-05 Martin Sjögren <martin@strakt.com>
315
316 * src/ssl/connection.c: Added error messages for windows. The code is
317 copied from Python's socketmodule.c. Ick.
318 * src/ssl/connection.c: Changed the parameters to the SysCallError. It
319 always has a tuple (number, string) now, even though the number
320 might not always be useful.
321
3222002-04-05 Martin Sjögren <md9ms@mdstud.chalmers.se>
323
324 * Worked more on the Debian packaging, hopefully the packages
325 are getting into the main Debian archive soon.
326
3272002-01-10 Martin Sjögren <martin@strakt.com>
328
329 * Worked some more on the Debian packaging, it's turning out real
330 nice.
331 * Changed format on this file, I'm going to try to be a bit more
332 verbose about my changes, and this format makes it easier.
333
3342002-01-08 Martin Sjögren <martin@strakt.com>
335
336 * Version 0.4.1
337 * Added some example code
338 * Added the thread safe Connection object in the 'tsafe' submodule
339 * New Debian packaging
340
3412001-08-09 Martin Sjögren <martin@strakt.com>
342
343 * Version 0.4
344 * Added a compare function for X509Name structures.
345 * Moved the submodules to separate .so files, with tiny C APIs so they
346 can communicate
347 * Skeletal OpenSSL/__init__.py
348 * Removed the err submodule, use crypto.Error and SSL.Error instead
349
3502001-08-06 Martin Sjögren <martin@strakt.com>
351
352 * Version 0.3
353 * Added more types for dealing with certificates (X509Store, X509Req,
354 PKey)
355 * Functionality to load private keys, certificates and certificate
356 requests from memory buffers, and store them too
357 * X509 and X509Name objects can now be modified as well, very neat when
358 creating certificates ;)
359 * Added SSL_MODE_AUTO_RETRY to smooth things for blocking sockets
360 * Added a sock_shutdown() method to the Connection type
361 * I don't understand why, but I can't use Py_InitModule() to create
362 submodules in Python 2.0, the interpreter segfaults on the cleanup
363 process when I do. I added a conditional compile on the version
364 number, falling back to my own routine. It would of course be nice to
365 investigate what is happening, but I don't have the time to do so
366 * Do INCREF on the type objects before inserting them in the
367 dictionary, so they will never reach refcount 0 (they are, after all,
368 statically allocated)
369
3702001-07-30 Martin Sjögren <martin@strakt.com>
371
372 * Version 0.2
373 * Lots of tweaking and comments in the code
374 * Now uses distutils instead of the stupid Setup file
375 * Hacked doc/tools/mkhowto, html generation should now work
376
3772001-07-16 Martin Sjögren <martin@strakt.com>
378
379 * Initial release (0.1, don't expect much from this one :-)
380