diff options
Diffstat (limited to 'source4/auth')
-rw-r--r-- | source4/auth/credentials/pycredentials.c | 23 | ||||
-rw-r--r-- | source4/auth/gensec/pygensec.c | 2 | ||||
-rw-r--r-- | source4/auth/pyauth.c | 7 |
3 files changed, 22 insertions, 10 deletions
diff --git a/source4/auth/credentials/pycredentials.c b/source4/auth/credentials/pycredentials.c index cd578a5c11..c5cca4fb32 100644 --- a/source4/auth/credentials/pycredentials.c +++ b/source4/auth/credentials/pycredentials.c @@ -197,14 +197,18 @@ static PyObject *py_creds_guess(py_talloc_Object *self, PyObject *args) { PyObject *py_lp_ctx = Py_None; struct loadparm_context *lp_ctx; + struct cli_credentials *creds; + + creds = PyCredentials_AsCliCredentials(self); + if (!PyArg_ParseTuple(args, "|O", &py_lp_ctx)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: leaky */ if (lp_ctx == NULL) return NULL; - cli_credentials_guess(PyCredentials_AsCliCredentials(self), lp_ctx); + cli_credentials_guess(creds, lp_ctx); Py_RETURN_NONE; } @@ -214,14 +218,18 @@ static PyObject *py_creds_set_machine_account(py_talloc_Object *self, PyObject * PyObject *py_lp_ctx = Py_None; struct loadparm_context *lp_ctx; NTSTATUS status; + struct cli_credentials *creds; + + creds = PyCredentials_AsCliCredentials(self); + if (!PyArg_ParseTuple(args, "|O", &py_lp_ctx)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: leaky */ if (lp_ctx == NULL) return NULL; - status = cli_credentials_set_machine_account(PyCredentials_AsCliCredentials(self), lp_ctx); + status = cli_credentials_set_machine_account(creds, lp_ctx); PyErr_NTSTATUS_IS_ERR_RAISE(status); Py_RETURN_NONE; @@ -255,17 +263,20 @@ static PyObject *py_creds_get_named_ccache(py_talloc_Object *self, PyObject *arg struct tevent_context *event_ctx; int ret; const char *error_string; + struct cli_credentials *creds; + + creds = PyCredentials_AsCliCredentials(self); if (!PyArg_ParseTuple(args, "|Os", &py_lp_ctx, &ccache_name)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: leaky */ if (lp_ctx == NULL) return NULL; event_ctx = tevent_context_init(NULL); - ret = cli_credentials_get_named_ccache(PyCredentials_AsCliCredentials(self), event_ctx, lp_ctx, + ret = cli_credentials_get_named_ccache(creds, event_ctx, lp_ctx, ccache_name, &ccc, &error_string); if (ret == 0) { talloc_steal(ccc, event_ctx); diff --git a/source4/auth/gensec/pygensec.c b/source4/auth/gensec/pygensec.c index 381938c25a..2b4963c843 100644 --- a/source4/auth/gensec/pygensec.c +++ b/source4/auth/gensec/pygensec.c @@ -69,7 +69,7 @@ static struct gensec_settings *settings_from_object(TALLOC_CTX *mem_ctx, PyObjec } s->target_hostname = PyString_AsString(py_hostname); - s->lp_ctx = lp_from_py_object(py_lp_ctx); + s->lp_ctx = lp_from_py_object(s, py_lp_ctx); s->iconv_convenience = py_iconv_convenience(s); return s; } diff --git a/source4/auth/pyauth.c b/source4/auth/pyauth.c index f81b449540..2563b85570 100644 --- a/source4/auth/pyauth.c +++ b/source4/auth/pyauth.c @@ -46,7 +46,7 @@ static PyObject *py_system_session(PyObject *module, PyObject *args) if (!PyArg_ParseTuple(args, "|O", &py_lp_ctx)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: Leaks memory */ if (lp_ctx == NULL) return NULL; @@ -61,10 +61,11 @@ static PyObject *py_system_session_anon(PyObject *module, PyObject *args) PyObject *py_lp_ctx = Py_None; struct loadparm_context *lp_ctx; struct auth_session_info *session; + if (!PyArg_ParseTuple(args, "|O", &py_lp_ctx)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: leaks memory */ if (lp_ctx == NULL) return NULL; @@ -83,7 +84,7 @@ static PyObject *py_admin_session(PyObject *module, PyObject *args) if (!PyArg_ParseTuple(args, "OO", &py_lp_ctx, &py_sid)) return NULL; - lp_ctx = lp_from_py_object(py_lp_ctx); + lp_ctx = lp_from_py_object(NULL, py_lp_ctx); /* FIXME: leaky */ if (lp_ctx == NULL) return NULL; |