summaryrefslogtreecommitdiff
path: root/source3/python/py_samr.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/python/py_samr.c')
-rw-r--r--source3/python/py_samr.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/python/py_samr.c b/source3/python/py_samr.c
index 66d6266d10..d0573171f3 100644
--- a/source3/python/py_samr.c
+++ b/source3/python/py_samr.c
@@ -275,7 +275,7 @@ static PyObject *samr_connect(PyObject *self, PyObject *args, PyObject *kw)
{
static char *kwlist[] = { "server", "creds", "access", NULL };
uint32 desired_access = MAXIMUM_ALLOWED_ACCESS;
- char *server_name;
+ char *server, *errstr;
struct cli_state *cli;
POLICY_HND hnd;
TALLOC_CTX *mem_ctx;
@@ -283,12 +283,16 @@ static PyObject *samr_connect(PyObject *self, PyObject *args, PyObject *kw)
NTSTATUS ntstatus;
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|O!i", kwlist, &server_name, &PyDict_Type,
+ args, kw, "s|O!i", kwlist, &server, &PyDict_Type,
&creds, &desired_access))
return NULL;
- if (!(cli = open_pipe_creds(server_name, creds, cli_samr_initialise)))
- goto done;
+ if (!(cli = open_pipe_creds(
+ server, creds, cli_lsa_initialise, &errstr))) {
+ PyErr_SetString(samr_error, errstr);
+ free(errstr);
+ return NULL;
+ }
if (!(mem_ctx = talloc_init())) {
PyErr_SetString(samr_ntstatus,