pynet: Remove unused credentials argument.
[nivanova/samba-autobuild/.git] / source4 / libnet / py_net.c
index ec41ca38a8d3c0431ad3e44923ef215d3ae0dacf..9b5fa5d76b035652a3f97f022e210cc567231bcd 100644 (file)
@@ -29,8 +29,8 @@
 
 typedef struct {
        PyObject_HEAD
-       struct libnet_context *libnet_ctx;
        TALLOC_CTX *mem_ctx;
+       struct libnet_context *libnet_ctx;
        struct tevent_context *ev;
 } py_net_Object;
 
@@ -40,19 +40,18 @@ static PyObject *py_net_join(py_net_Object *self, PyObject *args, PyObject *kwar
        NTSTATUS status;
        PyObject *result;
        TALLOC_CTX *mem_ctx;
-       PyObject *py_creds;     
-       const char *kwnames[] = { "domain_name", "netbios_name", "join_type", "level", "credentials", NULL };
+       const char *kwnames[] = { "domain_name", "netbios_name", "join_type", "level", NULL };
 
-       if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ssiiO:Join", discard_const_p(char *, kwnames), 
+       if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ssii:Join", discard_const_p(char *, kwnames), 
                                         &r.in.domain_name, &r.in.netbios_name, 
-                                        &r.in.join_type, &r.in.level, &py_creds))
+                                        &r.in.join_type, &r.in.level))
                return NULL;
 
        mem_ctx = talloc_new(self->mem_ctx);
 
        status = libnet_Join(self->libnet_ctx, mem_ctx, &r);
        if (NT_STATUS_IS_ERR(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError, r.out.error_string?r.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -93,7 +92,8 @@ static PyObject *py_net_set_password(py_net_Object *self, PyObject *args, PyObje
 
        status = libnet_SetPassword(self->libnet_ctx, mem_ctx, &r);
        if (NT_STATUS_IS_ERR(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.generic.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError,
+                               r.generic.out.error_string?r.generic.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -127,7 +127,8 @@ static PyObject *py_net_export_keytab(py_net_Object *self, PyObject *args, PyObj
 
        status = libnet_export_keytab(self->libnet_ctx, mem_ctx, &r);
        if (NT_STATUS_IS_ERR(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError,
+                               r.out.error_string?r.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -164,7 +165,8 @@ static PyObject *py_net_time(py_net_Object *self, PyObject *args, PyObject *kwar
 
        status = libnet_RemoteTOD(self->libnet_ctx, mem_ctx, &r);
        if (!NT_STATUS_IS_OK(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.generic.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError,
+                               r.generic.out.error_string?r.generic.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -204,7 +206,7 @@ static PyObject *py_net_user_create(py_net_Object *self, PyObject *args, PyObjec
 
        status = libnet_CreateUser(self->libnet_ctx, mem_ctx, &r);
        if (!NT_STATUS_IS_OK(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError, r.out.error_string?r.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -238,7 +240,7 @@ static PyObject *py_net_user_delete(py_net_Object *self, PyObject *args, PyObjec
 
        status = libnet_DeleteUser(self->libnet_ctx, mem_ctx, &r);
        if (!NT_STATUS_IS_OK(status)) {
-               PyErr_SetString(PyExc_RuntimeError, r.out.error_string);
+               PyErr_SetString(PyExc_RuntimeError, r.out.error_string?r.out.error_string:nt_errstr(status));
                talloc_free(mem_ctx);
                return NULL;
        }
@@ -274,7 +276,7 @@ static PyObject *py_net_vampire(py_net_Object *self, PyObject *args, PyObject *k
        PyObject *ret;
        struct libnet_Vampire r;
 
-       if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|s", discard_const_p(char *, kwnames),
+       if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", discard_const_p(char *, kwnames),
                                         &r.in.domain_name, &r.in.targetdir)) {
                return NULL;
        }