1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-21 12:23:50 +03:00

r8564: Sometimes we're too dumb to live... Fix samr calls where we were

using USER_INFO_XX structs and functions where XX was sometimes
in hex and sometimes in decimal. Now it's all in decimal (should
be no functionality change).
Jeremy.
This commit is contained in:
Jeremy Allison
2005-07-19 00:59:25 +00:00
committed by Gerald (Jerry) Carter
parent 7ff7211b80
commit 84651aca04
7 changed files with 116 additions and 116 deletions

View File

@@ -146,7 +146,7 @@ static PyObject *samr_set_user_info2(PyObject *self, PyObject *args,
NTSTATUS ntstatus;
int level;
union {
SAM_USER_INFO_10 id10;
SAM_USER_INFO_16 id16;
SAM_USER_INFO_21 id21;
} pinfo;
@@ -164,10 +164,10 @@ static PyObject *samr_set_user_info2(PyObject *self, PyObject *args,
ctr.switch_value = level;
switch(level) {
case 0x10:
ctr.info.id10 = &pinfo.id10;
case 16:
ctr.info.id16 = &pinfo.id16;
if (!py_to_SAM_USER_INFO_10(ctr.info.id10, info)) {
if (!py_to_SAM_USER_INFO_16(ctr.info.id16, info)) {
PyErr_SetString(
samr_error, "error converting user info");
goto done;

View File

@@ -78,8 +78,8 @@ extern PyObject *samr_error;
/* The following definitions are from py_samr_conv.c */
BOOL py_from_acct_info(PyObject **array, struct acct_info *info, int num_accts);
BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info);
BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict);
BOOL py_from_SAM_USER_INFO_16(PyObject **dict, SAM_USER_INFO_16 *info);
BOOL py_to_SAM_USER_INFO_16(SAM_USER_INFO_16 *info, PyObject *dict);
BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info);
BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict);

View File

@@ -22,22 +22,22 @@
#include "python/py_conv.h"
/*
* Convert between SAM_USER_INFO_10 and Python
* Convert between SAM_USER_INFO_16 and Python
*/
struct pyconv py_SAM_USER_INFO_10[] = {
{ "acb_info", PY_UINT32, offsetof(SAM_USER_INFO_10, acb_info) },
struct pyconv py_SAM_USER_INFO_16[] = {
{ "acb_info", PY_UINT32, offsetof(SAM_USER_INFO_16, acb_info) },
{ NULL }
};
BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info)
BOOL py_from_SAM_USER_INFO_16(PyObject **dict, SAM_USER_INFO_16 *info)
{
*dict = from_struct(info, py_SAM_USER_INFO_10);
PyDict_SetItemString(*dict, "level", PyInt_FromLong(0x10));
*dict = from_struct(info, py_SAM_USER_INFO_16);
PyDict_SetItemString(*dict, "level", PyInt_FromLong(16));
return True;
}
BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict)
BOOL py_to_SAM_USER_INFO_16(SAM_USER_INFO_16 *info, PyObject *dict)
{
PyObject *obj, *dict_copy = PyDict_Copy(dict);
BOOL result = False;
@@ -48,7 +48,7 @@ BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict)
PyDict_DelItemString(dict_copy, "level");
if (!to_struct(info, dict_copy, py_SAM_USER_INFO_10))
if (!to_struct(info, dict_copy, py_SAM_USER_INFO_16))
goto done;
result = True;