{ \
struct bin in; octet b[SZ_##W]; \
if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
- if (in.sz > MASK##n) TYERR("string too long"); \
+ if (in.sz > MASK##n) VALERR("too large"); \
STORE##W(b, in.sz); if (gaeadaad_hash(me, b, sizeof(b))) goto end; \
if (gaeadaad_hash(me, in.p, in.sz)) goto end; \
RETURN_ME; \
{ \
struct bin in; \
if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
- if (in.sz > MASK##n) TYERR("string too long"); \
+ if (in.sz > MASK##n) VALERR("too large"); \
GH_HASHBUF##W(GHASH_H(me), in.p, in.sz); \
RETURN_ME; \
end: \
struct bin in; \
octet b[SZ_##W]; \
if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
- if (in.sz > MASK##n) TYERR("string too long"); \
+ if (in.sz > MASK##n) VALERR("too large"); \
STORE##W(b, in.sz); poly1305_hash(P1305_CTX(me), b, sizeof(b)); \
poly1305_hash(P1305_CTX(me), in.p, in.sz); \
RETURN_ME; \
static const PyTypeObject poly1305cls_pytype_skel = {
PyVarObject_HEAD_INIT(0, 0) /* Header */
- "Poly1305Class", /* @tp_name@ */
+ "_Poly1305Class", /* @tp_name@ */
sizeof(PyHeapTypeObject), /* @tp_basicsize@ */
0, /* @tp_itemsize@ */
struct bin in; \
octet b[SZ_##W]; \
if (!PyArg_ParseTuple(arg, "O&:hashbuf" #w, convbin, &in)) goto end; \
- if (in.sz > MASK##n) TYERR("string too long"); \
+ if (in.sz > MASK##n) VALERR("too large"); \
if (shake_check(me, 0)) goto end; \
STORE##W(b, in.sz); shake_hash(SHAKE_H(me), b, sizeof(b)); \
shake_hash(SHAKE_H(me), in.p, in.sz); \
me = (PyObject *)ty->tp_alloc(ty, 0);
GPRP_PRP(me) = prp;
prp->init(GPRP_CTX(me), k.p, k.sz);
- Py_INCREF(me);
- return (me);
+ RETURN_ME;
end:
return (0);
}
INSERT("GMACHash", gmhash_pytype);
INSERT("gcmacs", make_algtab(gmactab, sizeof(gcmac *),
mac_namefn, mac_valfn));
- INSERT("Poly1305Class", poly1305cls_pytype);
+ INSERT("_Poly1305Class", poly1305cls_pytype);
INSERT("poly1305", poly1305key_pytype);
INSERT("Poly1305Hash", poly1305hash_pytype);
INSERT("Keccak1600", kxvik_pytype);