summaryrefslogtreecommitdiff
path: root/source3/python/py_samr_conv.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-03-24 06:31:49 +0000
committerTim Potter <tpot@samba.org>2003-03-24 06:31:49 +0000
commit223828642548c7e25f6189e274aa1edcdfe30c4f (patch)
tree2dfdc2a6966d131af7536f6013c6f0dffec3290b /source3/python/py_samr_conv.c
parent4f70a8f6587e6d1c0cb9e5530197733ea48d7719 (diff)
downloadsamba-223828642548c7e25f6189e274aa1edcdfe30c4f.tar.gz
samba-223828642548c7e25f6189e274aa1edcdfe30c4f.tar.bz2
samba-223828642548c7e25f6189e274aa1edcdfe30c4f.zip
Started working on python routines to add and delete domain users.
Unfortunately users get created with the ACB mask set to disabled and must change password. The set_user_info2 call required to fix this doesn't quite work yet... (This used to be commit 55a341a367a7d1b18ae7ef04678479eb74b68ea3)
Diffstat (limited to 'source3/python/py_samr_conv.c')
-rw-r--r--source3/python/py_samr_conv.c73
1 files changed, 73 insertions, 0 deletions
diff --git a/source3/python/py_samr_conv.c b/source3/python/py_samr_conv.c
index fdf71641e0..7523ee7dfc 100644
--- a/source3/python/py_samr_conv.c
+++ b/source3/python/py_samr_conv.c
@@ -22,6 +22,79 @@
#include "python/py_conv.h"
/*
+ * Convert between SAM_USER_INFO_10 and Python
+ */
+
+struct pyconv py_SAM_USER_INFO_10[] = {
+ { "acb_info", PY_UINT32, offsetof(SAM_USER_INFO_10, acb_info) },
+ { NULL }
+};
+
+BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info)
+{
+ *dict = from_struct(info, py_SAM_USER_INFO_10);
+ PyDict_SetItemString(*dict, "level", PyInt_FromLong(0x10));
+ return True;
+}
+
+BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict)
+{
+ PyObject *obj, *dict_copy = PyDict_Copy(dict);
+ BOOL result = False;
+
+ if (!(obj = PyDict_GetItemString(dict_copy, "level")) ||
+ !PyInt_Check(obj))
+ goto done;
+
+ PyDict_DelItemString(dict_copy, "level");
+
+ if (!to_struct(info, dict_copy, py_SAM_USER_INFO_10))
+ goto done;
+
+ result = True;
+
+done:
+ Py_DECREF(dict_copy);
+ return result;
+}
+
+/*
+ * Convert between SAM_USER_INFO_21 and Python
+ */
+
+struct pyconv py_SAM_USER_INFO_21[] = {
+ { NULL }
+};
+
+BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info)
+{
+ *dict = from_struct(info, py_SAM_USER_INFO_21);
+ PyDict_SetItemString(*dict, "level", PyInt_FromLong(21));
+ return True;
+}
+
+BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict)
+{
+ PyObject *obj, *dict_copy = PyDict_Copy(dict);
+ BOOL result = False;
+
+ if (!(obj = PyDict_GetItemString(dict_copy, "level")) ||
+ !PyInt_Check(obj))
+ goto done;
+
+ PyDict_DelItemString(dict_copy, "level");
+
+ if (!to_struct(info, dict_copy, py_SAM_USER_INFO_21))
+ goto done;
+
+ result = True;
+
+done:
+ Py_DECREF(dict_copy);
+ return result;
+}
+
+/*
* Convert between acct_info and Python
*/