X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/19a4c416ddf22b690c880efd04f6282b8d14a5dc..91e56f0647ff205643debd5cdb93797ea0e8da24:/pubkey.c diff --git a/pubkey.c b/pubkey.c index ad3bcd4..2c906cd 100644 --- a/pubkey.c +++ b/pubkey.c @@ -108,11 +108,8 @@ end: return (rc); } -static PyObject *dsameth_beginhash(PyObject *me, PyObject *arg) -{ - if (!PyArg_ParseTuple(arg, ":beginhash")) return (0); - return (ghash_pywrap(DSA_HASH(me), gdsa_beginhash(DSA_D(me)))); -} +static PyObject *dsameth_beginhash(PyObject *me) + { return (ghash_pywrap(DSA_HASH(me), gdsa_beginhash(DSA_D(me)))); } static PyObject *dsameth_endhash(PyObject *me, PyObject *arg) { @@ -188,23 +185,23 @@ end: return (rc); } -static PyMethodDef dsapub_pymethods[] = { +static const PyMethodDef dsapub_pymethods[] = { #define METHNAME(name) dsameth_##name - METH (beginhash, "D.beginhash() -> hash object") + NAMETH(beginhash, "D.beginhash() -> hash object") METH (endhash, "D.endhash(H) -> BYTES") METH (verify, "D.verify(MSG, (R, S)) -> true/false") #undef METHNAME { 0 } }; -static PyMethodDef dsapriv_pymethods[] = { +static const PyMethodDef dsapriv_pymethods[] = { #define METHNAME(name) dsameth_##name KWMETH(sign, "D.sign(MSG, [k = K]) -> R, S") #undef METHNAME { 0 } }; -static PyMemberDef dsapub_pymembers[] = { +static const PyMemberDef dsapub_pymembers[] = { #define MEMBERSTRUCT dsa_pyobj MEMBER(G, T_OBJECT, READONLY, "D.G -> group to work in") MEMBER(p, T_OBJECT, READONLY, "D.p -> public key (group element") @@ -214,7 +211,7 @@ static PyMemberDef dsapub_pymembers[] = { { 0 } }; -static PyMemberDef dsapriv_pymembers[] = { +static const PyMemberDef dsapriv_pymembers[] = { #define MEMBERSTRUCT dsa_pyobj MEMBER(u, T_OBJECT, READONLY, "D.u -> private key (exponent)") #undef MEMBERSTRUCT @@ -254,8 +251,8 @@ static PyTypeObject dsapub_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - dsapub_pymethods, /* @tp_methods@ */ - dsapub_pymembers, /* @tp_members@ */ + PYMETHODS(dsapub), /* @tp_methods@ */ + PYMEMBERS(dsapub), /* @tp_members@ */ 0, /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ @@ -303,8 +300,8 @@ static PyTypeObject dsapriv_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - dsapriv_pymethods, /* @tp_methods@ */ - dsapriv_pymembers, /* @tp_members@ */ + PYMETHODS(dsapriv), /* @tp_methods@ */ + PYMEMBERS(dsapriv), /* @tp_members@ */ 0, /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ @@ -363,11 +360,8 @@ end: return (rc); } -static PyObject *kcdsameth_beginhash(PyObject *me, PyObject *arg) -{ - if (!PyArg_ParseTuple(arg, ":beginhash")) return (0); - return (ghash_pywrap(DSA_HASH(me), gkcdsa_beginhash(DSA_D(me)))); -} +static PyObject *kcdsameth_beginhash(PyObject *me) + { return (ghash_pywrap(DSA_HASH(me), gkcdsa_beginhash(DSA_D(me)))); } static PyObject *kcdsameth_endhash(PyObject *me, PyObject *arg) { @@ -426,16 +420,16 @@ end: return (rc); } -static PyMethodDef kcdsapub_pymethods[] = { +static const PyMethodDef kcdsapub_pymethods[] = { #define METHNAME(name) kcdsameth_##name - METH (beginhash, "D.beginhash() -> hash object") + NAMETH(beginhash, "D.beginhash() -> hash object") METH (endhash, "D.endhash(H) -> BYTES") METH (verify, "D.verify(MSG, (R, S)) -> true/false") #undef METHNAME { 0 } }; -static PyMethodDef kcdsapriv_pymethods[] = { +static const PyMethodDef kcdsapriv_pymethods[] = { #define METHNAME(name) kcdsameth_##name KWMETH(sign, "D.sign(MSG, [k = K]) -> R, S") #undef METHNAME @@ -475,8 +469,8 @@ static PyTypeObject kcdsapub_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - kcdsapub_pymethods, /* @tp_methods@ */ - dsapub_pymembers, /* @tp_members@ */ + PYMETHODS(kcdsapub), /* @tp_methods@ */ + PYMEMBERS(dsapub), /* @tp_members@ */ 0, /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ @@ -524,8 +518,8 @@ static PyTypeObject kcdsapriv_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - kcdsapriv_pymethods, /* @tp_methods@ */ - dsapriv_pymembers, /* @tp_members@ */ + PYMETHODS(kcdsapriv), /* @tp_methods@ */ + PYMEMBERS(dsapriv), /* @tp_members@ */ 0, /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ @@ -726,8 +720,7 @@ end: return (rc); } -static PyObject *meth__RSAPriv_generate(PyObject *me, - PyObject *arg, PyObject *kw) +static PyObject *rsameth_generate(PyObject *me, PyObject *arg, PyObject *kw) { grand *r = &rand_global; unsigned nbits; @@ -737,12 +730,12 @@ static PyObject *meth__RSAPriv_generate(PyObject *me, struct excinfo exc = EXCINFO_INIT; pypgev evt = { { 0 } }; static const char *const kwlist[] = - { "class", "nbits", "event", "rng", "nsteps", "e", 0 }; + { "nbits", "event", "rng", "nsteps", "e", 0 }; PyObject *rc = 0; evt.exc = &exc; - if (!PyArg_ParseTupleAndKeywords(arg, kw, "OO&|O&O&O&O&:generate", KWLIST, - &me, convuint, &nbits, convpgev, &evt, + if (!PyArg_ParseTupleAndKeywords(arg, kw, "O&|O&O&O&O&:generate", KWLIST, + convuint, &nbits, convpgev, &evt, convgrand, &r, convuint, &n, convmp, &e)) goto end; @@ -757,7 +750,7 @@ end: return (rc); } -static PyGetSetDef rsapub_pygetset[] = { +static const PyGetSetDef rsapub_pygetset[] = { #define GETSETNAME(op, name) rsa##op##_##name GET (n, "R.n -> N") GET (e, "R.e -> E") @@ -765,14 +758,14 @@ static PyGetSetDef rsapub_pygetset[] = { { 0 } }; -static PyMethodDef rsapub_pymethods[] = { +static const PyMethodDef rsapub_pymethods[] = { #define METHNAME(name) rsameth_##name METH (pubop, "R.pubop(X) -> X^E (mod N)") #undef METHNAME { 0 } }; -static PyGetSetDef rsapriv_pygetset[] = { +static const PyGetSetDef rsapriv_pygetset[] = { #define GETSETNAME(op, name) rsa##op##_##name GET (d, "R.d -> D") GET (p, "R.p -> P") @@ -785,9 +778,11 @@ static PyGetSetDef rsapriv_pygetset[] = { { 0 } }; -static PyMethodDef rsapriv_pymethods[] = { +static const PyMethodDef rsapriv_pymethods[] = { #define METHNAME(name) rsameth_##name - KWMETH(privop, "R.privop(X, [rng = None]) -> X^D (mod N)") + KWMETH(privop, "R.privop(X, [rng = None]) -> X^D (mod N)") + KWSMTH(generate, "generate(NBITS, [event = pgen_nullev], [rng = rand], " + "[nsteps = 0]) -> R") #undef METHNAME { 0 } }; @@ -825,9 +820,9 @@ static PyTypeObject rsapub_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - rsapub_pymethods, /* @tp_methods@ */ + PYMETHODS(rsapub), /* @tp_methods@ */ 0, /* @tp_members@ */ - rsapub_pygetset, /* @tp_getset@ */ + PYGETSET(rsapub), /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ 0, /* @tp_descr_get@ */ @@ -874,9 +869,9 @@ static PyTypeObject rsapriv_pytype_skel = { 0, /* @tp_weaklistoffset@ */ 0, /* @tp_iter@ */ 0, /* @tp_iternext@ */ - rsapriv_pymethods, /* @tp_methods@ */ + PYMETHODS(rsapriv), /* @tp_methods@ */ 0, /* @tp_members@ */ - rsapriv_pygetset, /* @tp_getset@ */ + PYGETSET(rsapriv), /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ 0, /* @tp_descr_get@ */ @@ -1261,7 +1256,7 @@ EDDSAS(DEFEDDSA) /*----- Global stuff ------------------------------------------------------*/ -static PyMethodDef methods[] = { +static const PyMethodDef methods[] = { #define METHNAME(name) meth_##name KWMETH(_p1crypt_encode, 0) KWMETH(_p1crypt_decode, 0) @@ -1271,8 +1266,6 @@ static PyMethodDef methods[] = { KWMETH(_oaep_decode, 0) KWMETH(_pss_encode, 0) KWMETH(_pss_decode, 0) - KWMETH(_RSAPriv_generate, "generate(NBITS, [event = pgen_nullev], " - "[rng = rand], [nsteps = 0]) -> R") #define DEFMETH(X, x) \ METH (x, "" #x "(KEY, PUBLIC) -> SHARED") XDHS(DEFMETH)