allow building with older versions of python (e.g. 2.4)
and older versions of NSS git-svn-id: svn://10.0.0.236/trunk@258989 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -45,10 +45,29 @@
|
||||
#define MAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
|
||||
#if (PY_VERSION_HEX < 0x02050000)
|
||||
typedef int Py_ssize_t;
|
||||
#define PY_SSIZE_T_MAX INT_MAX
|
||||
#define PY_SSIZE_T_MIN INT_MIN
|
||||
#define PyInt_FromSsize_t PyInt_FromLong
|
||||
#define PyNumber_AsSsize_t(ob, exc) PyInt_AsLong(ob)
|
||||
#define PyIndex_Check(ob) PyInt_Check(ob)
|
||||
typedef Py_ssize_t (*readbufferproc)(PyObject *, Py_ssize_t, void **);
|
||||
typedef Py_ssize_t (*writebufferproc)(PyObject *, Py_ssize_t, void **);
|
||||
typedef Py_ssize_t (*segcountproc)(PyObject *, Py_ssize_t *);
|
||||
typedef Py_ssize_t (*charbufferproc)(PyObject *, Py_ssize_t, char **);
|
||||
typedef Py_ssize_t (*lenfunc)(PyObject *);
|
||||
typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
|
||||
typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
|
||||
#endif
|
||||
|
||||
#if (PY_VERSION_HEX < 0x02060000)
|
||||
#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
|
||||
#define PyVarObject_HEAD_INIT(type, size) \
|
||||
PyObject_HEAD_INIT(type) size,
|
||||
#define PyImport_ImportModuleNoBlock PyImport_ImportModule
|
||||
#define PyLong_FromSsize_t PyInt_FromLong
|
||||
#define Py_TPFLAGS_HAVE_NEWBUFFER 0
|
||||
#endif
|
||||
|
||||
#define AddIntConstant(c) if (PyModule_AddIntConstant(m, #c, c) < 0) return;
|
||||
|
||||
@@ -198,7 +198,7 @@ pk11_attribute_type_name(CK_ATTRIBUTE_TYPE type);
|
||||
|
||||
/* ==================================== */
|
||||
|
||||
int
|
||||
static int
|
||||
_AddIntConstantWithLookup(PyObject *module, const char *name, long value, const char *prefix,
|
||||
PyObject *name_to_value, PyObject *value_to_name)
|
||||
{
|
||||
@@ -271,7 +271,8 @@ _AddIntConstantWithLookup(PyObject *module, const char *name, long value, const
|
||||
/* FIXME: convert all equality tests to Py_None to PyNone_Check() */
|
||||
#define PyNone_Check(x) ((x) == Py_None)
|
||||
|
||||
int SecItemOrNoneConvert(PyObject *obj, PyObject **param)
|
||||
static int
|
||||
SecItemOrNoneConvert(PyObject *obj, PyObject **param)
|
||||
{
|
||||
if (PySecItem_Check(obj)) {
|
||||
*param = obj;
|
||||
@@ -288,7 +289,8 @@ int SecItemOrNoneConvert(PyObject *obj, PyObject **param)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SymKeyOrNoneConvert(PyObject *obj, PyObject **param)
|
||||
static int
|
||||
SymKeyOrNoneConvert(PyObject *obj, PyObject **param)
|
||||
{
|
||||
if (PySymKey_Check(obj)) {
|
||||
*param = obj;
|
||||
@@ -325,7 +327,7 @@ key_type_str(KeyType key_type)
|
||||
}
|
||||
|
||||
|
||||
const char *
|
||||
static const char *
|
||||
sec_oid_tag_str(SECOidTag tag)
|
||||
{
|
||||
static char buf[80];
|
||||
@@ -7278,6 +7280,7 @@ if (_AddIntConstantWithLookup(m, #constant, constant, \
|
||||
ExportConstant(CKM_CAMELLIA_ECB_ENCRYPT_DATA);
|
||||
ExportConstant(CKM_CAMELLIA_CBC_ENCRYPT_DATA);
|
||||
|
||||
#if defined(CKM_SEED_KEY_GEN)
|
||||
ExportConstant(CKM_SEED_KEY_GEN);
|
||||
ExportConstant(CKM_SEED_ECB);
|
||||
ExportConstant(CKM_SEED_CBC);
|
||||
@@ -7286,6 +7289,7 @@ if (_AddIntConstantWithLookup(m, #constant, constant, \
|
||||
ExportConstant(CKM_SEED_CBC_PAD);
|
||||
ExportConstant(CKM_SEED_ECB_ENCRYPT_DATA);
|
||||
ExportConstant(CKM_SEED_CBC_ENCRYPT_DATA);
|
||||
#endif
|
||||
|
||||
/* CKM_xxx_ENCRYPT_DATA mechanisms are new for v2.20 */
|
||||
ExportConstant(CKM_DES_ECB_ENCRYPT_DATA);
|
||||
@@ -7837,9 +7841,13 @@ if (_AddIntConstantWithLookup(m, #constant, constant, \
|
||||
|
||||
ExportConstant(SEC_OID_ISO_SHA1_WITH_RSA_SIGNATURE);
|
||||
|
||||
#if defined(SEC_OID_SEED_CBC)
|
||||
ExportConstant(SEC_OID_SEED_CBC);
|
||||
#endif
|
||||
|
||||
#if defined(SEC_OID_X509_ANY_POLICY)
|
||||
ExportConstant(SEC_OID_X509_ANY_POLICY);
|
||||
#endif
|
||||
|
||||
ExportConstant(SEC_OID_SECG_EC_SECP192R1);
|
||||
ExportConstant(SEC_OID_SECG_EC_SECP256R1);
|
||||
|
||||
Reference in New Issue
Block a user