From 7d54e4b49c235dc571f47d15e6b0a6fa63340773 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 28 Oct 2020 17:05:36 +0100 Subject: [PATCH] s4:param: Add 'weak crypto' getter to pyparam Signed-off-by: Andreas Schneider Reviewed-by: Alexander Bokovoy --- source4/param/pyparam.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c index 4023fac4dd6..e15592b5743 100644 --- a/source4/param/pyparam.c +++ b/source4/param/pyparam.c @@ -463,6 +463,23 @@ static PyObject *py_lp_ctx_config_file(PyObject *self, void *closure) return PyUnicode_FromString(configfile); } +static PyObject *py_lp_ctx_weak_crypto(PyObject *self, void *closure) +{ + enum samba_weak_crypto weak_crypto = + lpcfg_weak_crypto(PyLoadparmContext_AsLoadparmContext(self)); + + switch(weak_crypto) { + case SAMBA_WEAK_CRYPTO_UNKNOWN: + Py_RETURN_NONE; + case SAMBA_WEAK_CRYPTO_ALLOWED: + return PyUnicode_FromString("allowed"); + case SAMBA_WEAK_CRYPTO_DISALLOWED: + return PyUnicode_FromString("disallowed"); + } + + Py_RETURN_NONE; +} + static PyGetSetDef py_lp_ctx_getset[] = { { .name = discard_const_p(char, "default_service"), @@ -473,6 +490,11 @@ static PyGetSetDef py_lp_ctx_getset[] = { .get = (getter)py_lp_ctx_config_file, .doc = discard_const_p(char, "Name of last config file that was loaded.") }, + { + .name = discard_const_p(char, "weak_crypto"), + .get = (getter)py_lp_ctx_weak_crypto, + .doc = discard_const_p(char, "If weak crypto is allowed.") + }, { .name = NULL } }; -- 2.47.3