diff options
author | Rob Austein <sra@hactrn.net> | 2007-07-10 05:31:39 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-07-10 05:31:39 +0000 |
commit | d4ffcf2555e843137ce77fcde37cf18e0119638f (patch) | |
tree | e6db3542232bc27d8c818311cd92339c99498e4c | |
parent | 85ca7cbee804bc5d5ab1d6e5d85c6759368b6302 (diff) |
Debug
svn path=/pow/POW-0.7/POW.c; revision=742
-rw-r--r-- | pow/POW-0.7/POW.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/pow/POW-0.7/POW.c b/pow/POW-0.7/POW.c index facaf1ef..c0d0c208 100644 --- a/pow/POW-0.7/POW.c +++ b/pow/POW-0.7/POW.c @@ -2462,18 +2462,15 @@ x509_crl_object_set_revoked(x509_crl_object *self, PyObject *args) { PyObject *revoked_sequence = NULL; x509_revoked_object *revoked = NULL; - STACK_OF(X509_REVOKED) *revoked_stack = NULL; X509_REVOKED *tmp_revoked = NULL; int i=0,size=0; - if (!PyArg_ParseTuple(args, "O", &revoked_sequence)) - goto error; + if (!PyArg_ParseTuple(args, "O", &revoked_sequence)) + goto error; if ( !( PyTuple_Check( revoked_sequence ) || PyList_Check(revoked_sequence) ) ) { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; } - revoked_stack = self->crl->crl->revoked; - size = PySequence_Size( revoked_sequence ); for (i=0; i < size; i++) { @@ -2486,7 +2483,7 @@ x509_crl_object_set_revoked(x509_crl_object *self, PyObject *args) if ( !(tmp_revoked = X509_REVOKED_dup( revoked->revoked ) ) ) { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; } - if (!sk_X509_REVOKED_push( revoked_stack, tmp_revoked ) ) + if (!X509_CRL_add0_revoked( self->crl, tmp_revoked ) ) { PyErr_SetString( SSLErrorObject, "could not add revokation to stack" ); goto error; } Py_DECREF(revoked); @@ -5697,7 +5694,8 @@ digest_object_copy(digest_object *self, PyObject *args) { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; } new->digest_type = self->digest_type; - memcpy( &new->digest_ctx, &self->digest_ctx, sizeof(EVP_MD_CTX) ); + if (!EVP_MD_CTX_copy( &new->digest_ctx, &self->digest_ctx )) + { PyErr_SetString( SSLErrorObject, "could not copy digest" ); goto error; } return (PyObject*)new; @@ -5731,15 +5729,19 @@ digest_object_digest(digest_object *self, PyObject *args) void *md_copy=NULL; int digest_len=0; - if (!PyArg_ParseTuple(args, "")) - goto error; + if (!PyArg_ParseTuple(args, "")) + goto error; if ( !(md_copy = malloc( sizeof(EVP_MD_CTX) ) ) ) { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; } - memcpy( md_copy, &self->digest_ctx, sizeof(EVP_MD_CTX) ); + + if (!EVP_MD_CTX_copy( md_copy, &self->digest_ctx )) + { PyErr_SetString( SSLErrorObject, "could not copy digest" ); goto error; } + EVP_DigestFinal( md_copy, digest_text, &digest_len ); free(md_copy); + return Py_BuildValue("s#", digest_text, digest_len); error: @@ -5767,6 +5769,7 @@ digest_object_getattr(digest_object *self, char *name) static void digest_object_dealloc(digest_object *self, char *name) { + EVP_MD_CTX_cleanup( &self->digest_ctx ); PyObject_Del(self); } |