X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/blobdiff_plain/7f38dc76ee0809207e67be7b2a2ddc600aba54d5..HEAD:/algorithms.c diff --git a/algorithms.c b/algorithms.c index 37d52cd..888ceb0 100644 --- a/algorithms.c +++ b/algorithms.c @@ -27,7 +27,9 @@ /*----- Header files ------------------------------------------------------*/ #include "catacomb-python.h" +PUBLIC_SYMBOLS; #include "algorithms.h" +PRIVATE_SYMBOLS; /*----- Key sizes ---------------------------------------------------------*/ @@ -987,6 +989,7 @@ static PyObject *gaeameth_copy(PyObject *me, PyObject *arg) VALERR("can't duplicate nonce-dependent aad"); rc = gaeadaad_pywrap((PyObject *)me->ob_type, GAEAD_DUP(GAEADAAD_A(me)), 0, 0); + GAEADAAD_HLEN(rc) = GAEADAAD_HLEN(me); end: return (rc); } @@ -1130,7 +1133,8 @@ static PyObject *gaeemeth_aad(PyObject *me, PyObject *arg) if (!ge->aad) ge->aad = (gaeadaad_pyobj *) gaeadaad_pywrap((PyObject *)GCAEADENC_KEY(ge->ob_type)->aad, - GAEAD_AAD(ge->e), ge->f&AEADF_PCHSZ, ge->hsz); + GAEAD_AAD(ge->e), ge->f&(AEADF_PCHSZ | AEADF_NOAAD), + ge->hsz); Py_INCREF(ge->aad); rc = (PyObject *)ge->aad; } @@ -1301,7 +1305,8 @@ static PyObject *gaedmeth_aad(PyObject *me, PyObject *arg) if (!gd->aad) gd->aad = (gaeadaad_pyobj *) gaeadaad_pywrap((PyObject *)GCAEADENC_KEY(gd->ob_type)->aad, - GAEAD_AAD(gd->d), gd->f&AEADF_PCHSZ, gd->hsz); + GAEAD_AAD(gd->d), gd->f&(AEADF_PCHSZ | AEADF_NOAAD), + gd->hsz); Py_INCREF(gd->aad); return ((PyObject *)gd->aad); } @@ -2664,8 +2669,7 @@ typedef struct kxvik_pyobj { unsigned n; } kxvik_pyobj; -static PyObject *kxvik_pynew(PyTypeObject *ty, - PyObject *arg, PyObject *kw) +static PyObject *kxvik_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) { unsigned n = 24; kxvik_pyobj *rc = 0;