credential as a parameter.
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);
/* Parse parameters */
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|iO!s", kwlist, &server, &level, &PyDict_Type,
- &creds, &arch))
+ args, kw, "s|iOs", kwlist, &server, &level, &creds,
+ &arch))
return NULL;
if (server[0] != '\\' || server[1] != '\\') {
server += 2;
+ if (creds && creds != Py_None && !PyDict_Check(creds)) {
+ PyErr_SetString(PyExc_TypeError,
+ "credentials must be dictionary or None");
+ return NULL;
+ }
+
/* Call rpc function */
if (!(cli = open_pipe_creds(server, creds, PIPE_SPOOLSS, &errstr))) {
/* Parse parameters */
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|isO!", kwlist, &server, &level,
- &arch, &PyDict_Type, &creds))
+ args, kw, "s|isO", kwlist, &server, &level,
+ &arch, &creds))
return NULL;
if (server[0] != '\\' || server[1] != '\\') {
server += 2;
+ if (creds && creds != Py_None && !PyDict_Check(creds)) {
+ PyErr_SetString(PyExc_TypeError,
+ "credentials must be dictionary or None");
+ return NULL;
+ }
+
/* Call rpc function */
if (!(cli = open_pipe_creds(server, creds, PIPE_SPOOLSS, &errstr))) {
} dinfo;
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "sO!|O!", kwlist, &server, &PyDict_Type,
- &info, &PyDict_Type, &creds))
+ args, kw, "sO!|O", kwlist, &server, &PyDict_Type,
+ &info, &creds))
return NULL;
if (server[0] == '\\' && server[1] == '\\')
server += 2;
+ if (creds && creds != Py_None && !PyDict_Check(creds)) {
+ PyErr_SetString(PyExc_TypeError,
+ "credentials must be dictionary or None");
+ return NULL;
+ }
+
if (!(mem_ctx = talloc_init())) {
PyErr_SetString(
spoolss_error, "unable to init talloc context\n");
/* Parse parameters */
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|iO!", kwlist, &server, &level,
- &PyDict_Type, &creds))
+ args, kw, "s|iO", kwlist, &server, &level, &creds))
return NULL;
if (server[0] == '\\' && server[1] == '\\')
server += 2;
+ 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_SPOOLSS, &errstr))) {
PyErr_SetString(spoolss_error, errstr);
free(errstr);
struct cli_state *cli;
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|O!i", kwlist, &unc_name, &PyDict_Type, &creds,
+ args, kw, "s|Oi", kwlist, &unc_name, &creds,
&desired_access))
return NULL;
*c = 0;
}
+ 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_SPOOLSS, &errstr))) {
PyErr_SetString(spoolss_error, errstr);
free(errstr);
/* Parse parameters */
if (!PyArg_ParseTupleAndKeywords(
- args, kw, "s|siiO!", kwlist, &server, &name, &level,
- &flags, &PyDict_Type, &creds))
+ args, kw, "s|siiO", kwlist, &server, &name, &level,
+ &flags, &creds))
return NULL;
if (server[0] == '\\' && server[1] == '\\')
server += 2;
+ 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_SPOOLSS, &errstr))) {
PyErr_SetString(spoolss_error, errstr);
free(errstr);