Merge branch '1.3.x' into HEAD
[catacomb-python] / algorithms.c
index 37d52cd..888ceb0 100644 (file)
@@ -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;