From 0a6d581785a98cb205838c7b130700c571ea99a7 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Mon, 23 Jan 2012 03:09:00 +0000 Subject: [PATCH] key.c: New KeyData method `copy'. Requires a shiny new version of Catacomb. --- key.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/key.c b/key.c index 42ea925..9a7de0c 100644 --- a/key.c +++ b/key.c @@ -350,6 +350,22 @@ static PyObject *kdmeth_split(PyObject *me, PyObject *arg) RETURN_ME; } +static PyObject *kdmeth_copy(PyObject *me, PyObject *arg, PyObject *kw) +{ + key_filter f = { 0, 0 }; + PyObject *rc = 0; + static char *kwlist[] = { "filter", 0 }; + key_data *kd; + + if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O&:copy", kwlist, + conffilter, &f)) + return (0); + if ((kd = key_copydata(KEYDATA_KD(me), &f)) == 0) + RETURN_NONE; + else + return (keydata_pywrap(kd)); +} + static PyObject *kdmeth_write(PyObject *me, PyObject *arg, PyObject *kw) { key_filter f = { 0, 0 }; @@ -454,6 +470,7 @@ static PyMethodDef keydata_pymethods[] = { METH (split, "KD.split()") KWMETH(write, "KD.write(filter = ) -> STRING") KWMETH(encode, "KD.encode(filter = ) -> BYTES") + KWMETH(copy, "KD.encode(filter = ) -> KD") METH (plock, "KD.plock(TAG) -> ENCRYPTED-KD") METH (lock, "KD.lock(KEY) -> ENCRYPTED-KD") #undef METHNAME -- 2.11.0