diff options
Diffstat (limited to 'source3/python/py_samr.c')
-rw-r--r-- | source3/python/py_samr.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/python/py_samr.c b/source3/python/py_samr.c index f715f891b4..733a57c1d4 100644 --- a/source3/python/py_samr.c +++ b/source3/python/py_samr.c @@ -283,10 +283,16 @@ static PyObject *samr_connect(PyObject *self, PyObject *args, PyObject *kw) NTSTATUS ntstatus; if (!PyArg_ParseTupleAndKeywords( - args, kw, "s|O!i", kwlist, &server, &PyDict_Type, - &creds, &desired_access)) + args, kw, "s|Oi", kwlist, &server, &creds, + &desired_access)) return NULL; + if (creds && creds != Py_None && !PyDict_Check(creds)) { + PyErr_SetString(PyExc_TypeError, + "credentials must be dictionary or None"); + return NULL; + } + if (!(cli = open_pipe_creds(server, creds, PIPE_SAMR, &errstr))) { PyErr_SetString(samr_error, errstr); free(errstr); |