diff options
| author | Jean-Paul Calderone <exarkun@divmod.com> | 2009-07-04 10:21:07 -0400 |
|---|---|---|
| committer | Jean-Paul Calderone <exarkun@divmod.com> | 2009-07-04 10:21:07 -0400 |
| commit | 0cdb7bde4d959efc01a69aefc7cd7462933010db (patch) | |
| tree | b03d8e04668ffa80b20a7fe132fe1489517e5206 /src | |
| parent | dc138fa98afc3c0ba6ece04f2fe269e3f7e6960b (diff) | |
| download | pyopenssl-0cdb7bde4d959efc01a69aefc7cd7462933010db.tar.gz | |
switch x509store initialization over to the module-based api as well
Diffstat (limited to 'src')
| -rw-r--r-- | src/crypto/crypto.c | 5 | ||||
| -rw-r--r-- | src/crypto/x509store.c | 15 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/crypto/crypto.c b/src/crypto/crypto.c index 89091cc..2240df0 100644 --- a/src/crypto/crypto.c +++ b/src/crypto/crypto.c @@ -628,7 +628,7 @@ initcrypto(void) { static void *crypto_API[crypto_API_pointers]; PyObject *c_api_object; - PyObject *module, *dict; + PyObject *module; ERR_load_crypto_strings(); OpenSSL_add_all_algorithms(); @@ -662,7 +662,6 @@ initcrypto(void) PyModule_AddIntConstant(module, "TYPE_RSA", crypto_TYPE_RSA); PyModule_AddIntConstant(module, "TYPE_DSA", crypto_TYPE_DSA); - dict = PyModule_GetDict(module); #ifdef WITH_THREAD if (!init_openssl_threads()) goto error; @@ -671,7 +670,7 @@ initcrypto(void) goto error; if (!init_crypto_x509name(module)) goto error; - if (!init_crypto_x509store(dict)) + if (!init_crypto_x509store(module)) goto error; if (!init_crypto_x509req(module)) goto error; diff --git a/src/crypto/x509store.c b/src/crypto/x509store.c index 6bf1310..9f46029 100644 --- a/src/crypto/x509store.c +++ b/src/crypto/x509store.c @@ -128,14 +128,19 @@ PyTypeObject crypto_X509Store_Type = { /* * Initialize the X509Store part of the crypto module * - * Arguments: dict - The crypto module dictionary + * Arguments: module - The crypto module * Returns: None */ int -init_crypto_x509store(PyObject *dict) +init_crypto_x509store(PyObject *module) { - crypto_X509Store_Type.ob_type = &PyType_Type; - Py_INCREF(&crypto_X509Store_Type); - PyDict_SetItemString(dict, "X509StoreType", (PyObject *)&crypto_X509Store_Type); + if (PyType_Ready(&crypto_X509Store_Type) < 0) { + return 0; + } + + if (PyModule_AddObject(module, "X509StoreType", (PyObject *)&crypto_X509Store_Type) != 0) { + return 0; + } + return 1; } |
