aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-10-02 05:44:39 +0000
committerRob Austein <sra@hactrn.net>2007-10-02 05:44:39 +0000
commitc648a0300eb66c08964bae3d5b959cf32667c2d4 (patch)
treef4593f41b50f89d5a72a610ba8bd4d7c2ef08c55
parent1b8309e6dec33d1ac7de1814d04cba85c8460e9a (diff)
Null terminated octet strings don't work
svn path=/pow/POW-0.7/POW.c; revision=1073
-rw-r--r--pow/POW-0.7/POW.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/pow/POW-0.7/POW.c b/pow/POW-0.7/POW.c
index 4892e79f..96e04166 100644
--- a/pow/POW-0.7/POW.c
+++ b/pow/POW-0.7/POW.c
@@ -1394,18 +1394,18 @@ static char X509_object_add_extension__doc__[] =
static PyObject *
X509_object_add_extension(x509_object *self, PyObject *args)
{
- int critical=0, nid=0;
+ int critical=0, nid=0, len=0;
char *name=NULL, *buf=NULL;
ASN1_OCTET_STRING *octetString=NULL;
X509_EXTENSION *extn=NULL;
- if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len))
goto error;
if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
{ PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
- if ( !ASN1_OCTET_STRING_set(octetString, buf, strlen(buf)) )
+ if ( !ASN1_OCTET_STRING_set(octetString, buf, len) )
{ PyErr_SetString( SSLErrorObject, "could not set ASN1 Octect string" ); goto error; }
if ( NID_undef == (nid = OBJ_txt2nid(name) ) )
@@ -1545,7 +1545,7 @@ X509_object_get_extension(x509_object *self, PyObject *args)
if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
ext_ln = unknown_ext;
- return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+ return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length );
error:
@@ -2664,18 +2664,18 @@ static char X509_crl_object_add_extension__doc__[] =
static PyObject *
X509_crl_object_add_extension(x509_crl_object *self, PyObject *args)
{
- int critical=0, nid=0;
+ int critical=0, nid=0, len=0;
char *name=NULL, *buf=NULL;
ASN1_OCTET_STRING *octetString=NULL;
X509_EXTENSION *extn=NULL;
- if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len))
goto error;
if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
{ PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
- if ( !ASN1_OCTET_STRING_set(octetString, buf, strlen(buf)) )
+ if ( !ASN1_OCTET_STRING_set(octetString, buf, len) )
{ PyErr_SetString( SSLErrorObject, "could not set ASN1 Octect string" ); goto error; }
if ( NID_undef == (nid = OBJ_txt2nid(name) ) )
@@ -2815,7 +2815,7 @@ X509_crl_object_get_extension(x509_crl_object *self, PyObject *args)
if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
ext_ln = unknown_ext;
- return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+ return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length );
error:
@@ -3404,12 +3404,12 @@ static char X509_revoked_object_add_extension__doc__[] =
static PyObject *
X509_revoked_object_add_extension(x509_revoked_object *self, PyObject *args)
{
- int critical=0, nid=0;
+ int critical=0, nid=0, len=0;
char *name=NULL, *buf=NULL;
ASN1_OCTET_STRING *octetString=NULL;
X509_EXTENSION *extn=NULL;
- if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len))
goto error;
if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
@@ -3555,7 +3555,7 @@ X509_revoked_object_get_extension(x509_revoked_object *self, PyObject *args)
if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
ext_ln = unknown_ext;
- return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+ return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length );
error: