From: Michael Tremer Date: Tue, 11 Oct 2022 11:18:58 +0000 (+0000) Subject: _pakfire: keys: Export algorithm and key length X-Git-Tag: 0.9.28~261 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7217f235a90f32b705c98e6da55d264fa0eecaa6;p=pakfire.git _pakfire: keys: Export algorithm and key length Signed-off-by: Michael Tremer --- diff --git a/src/_pakfire/key.c b/src/_pakfire/key.c index 0807fd5cf..90fa9ee7c 100644 --- a/src/_pakfire/key.c +++ b/src/_pakfire/key.c @@ -138,6 +138,24 @@ static PyObject* Key_get_email(KeyObject* self) { return PyUnicode_FromString(email); } +static PyObject* Key_get_algo(KeyObject* self) { + const char* algo = pakfire_key_get_pubkey_algo(self->key); + + // Raise an error on no input + if (!algo) { + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + + return PyUnicode_FromString(algo); +} + +static PyObject* Key_get_length(KeyObject* self) { + const size_t length = pakfire_key_get_pubkey_length(self->key); + + return PyLong_FromLong(length); +} + static PyObject* Key_export(KeyObject* self, PyObject* args) { PyObject* file = NULL; int secret = 0; @@ -246,6 +264,13 @@ static struct PyMethodDef Key_methods[] = { }; static struct PyGetSetDef Key_getsetters[] = { + { + "algo", + (getter)Key_get_algo, + NULL, + NULL, + NULL, + }, { "created_at", (getter)Key_get_created_at, @@ -274,6 +299,13 @@ static struct PyGetSetDef Key_getsetters[] = { NULL, NULL, }, + { + "length", + (getter)Key_get_length, + NULL, + NULL, + NULL, + }, { "name", (getter)Key_get_name,