summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-07-19 00:59:25 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:00:09 -0500
commit263a51cd62815b568d0d2053ee29cdd77428ba31 (patch)
tree3fce70b2ca303d22deb00312638716a0e4b5a7da
parent01822a7e054ed83fa4961498f530ede615ac7c24 (diff)
downloadsamba-263a51cd62815b568d0d2053ee29cdd77428ba31.tar.gz
samba-263a51cd62815b568d0d2053ee29cdd77428ba31.tar.bz2
samba-263a51cd62815b568d0d2053ee29cdd77428ba31.zip
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 used to be commit 84651aca04cbcbf50ab2e78333cc9d9e49dd92f5)
-rw-r--r--source3/include/rpc_samr.h36
-rw-r--r--source3/python/py_samr.c8
-rw-r--r--source3/python/py_samr.h4
-rw-r--r--source3/python/py_samr_conv.c16
-rw-r--r--source3/rpc_parse/parse_samr.c88
-rw-r--r--source3/rpc_server/srv_samr_nt.c70
-rw-r--r--source3/utils/net_rpc_join.c10
7 files changed, 116 insertions, 116 deletions
diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h
index adf4101880..fb829558d4 100644
--- a/source3/include/rpc_samr.h
+++ b/source3/include/rpc_samr.h
@@ -351,8 +351,8 @@ typedef struct sam_user_info_20
} SAM_USER_INFO_20;
-/* SAM_USER_INFO_12 */
-typedef struct sam_user_info_12
+/* SAM_USER_INFO_18 */
+typedef struct sam_user_info_18
{
uint8 lm_pwd[16]; /* lm user passwords */
uint8 nt_pwd[16]; /* nt user passwords */
@@ -360,10 +360,10 @@ typedef struct sam_user_info_12
uint8 lm_pwd_active;
uint8 nt_pwd_active;
-} SAM_USER_INFO_12;
+} SAM_USER_INFO_18;
-/* SAM_USER_INFO_11 */
-typedef struct sam_user_info_11
+/* SAM_USER_INFO_17 */
+typedef struct sam_user_info_17
{
uint8 padding_0[16]; /* 0 - padding 16 bytes */
NTTIME expiry; /* expiry time or something? */
@@ -398,15 +398,15 @@ typedef struct sam_user_info_11
uint8 padding_9[48]; /* 0 - padding 48 bytes */
-} SAM_USER_INFO_11;
+} SAM_USER_INFO_17;
-/* SAM_USER_INFO_10 */
-typedef struct sam_user_info_10
+/* SAM_USER_INFO_16 */
+typedef struct sam_user_info_16
{
uint32 acb_info;
-} SAM_USER_INFO_10;
+} SAM_USER_INFO_16;
/* SAM_USER_INFO_7 */
typedef struct sam_user_info_7
@@ -1254,15 +1254,15 @@ typedef struct sam_userinfo_ctr_info
union
{
- SAM_USER_INFO_7 *id7; /* auth-level 0x07 */
- SAM_USER_INFO_10 *id10; /* auth-level 0x10 */
- SAM_USER_INFO_11 *id11; /* auth-level 0x11 */
- SAM_USER_INFO_12 *id12; /* auth-level 0x12 */
- SAM_USER_INFO_20 *id20; /* auth-level 20 */
- SAM_USER_INFO_21 *id21; /* auth-level 21 */
- SAM_USER_INFO_23 *id23; /* auth-level 0x17 */
- SAM_USER_INFO_24 *id24; /* auth-level 0x18 */
- SAM_USER_INFO_25 *id25; /* auth-level 0x19 */
+ SAM_USER_INFO_7 *id7;
+ SAM_USER_INFO_16 *id16;
+ SAM_USER_INFO_17 *id17;
+ SAM_USER_INFO_18 *id18;
+ SAM_USER_INFO_20 *id20;
+ SAM_USER_INFO_21 *id21;
+ SAM_USER_INFO_23 *id23;
+ SAM_USER_INFO_24 *id24;
+ SAM_USER_INFO_25 *id25;
void* id; /* to make typecasting easy */
} info;
diff --git a/source3/python/py_samr.c b/source3/python/py_samr.c
index 57acd74bed..77431e2447 100644
--- a/source3/python/py_samr.c
+++ b/source3/python/py_samr.c
@@ -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;
diff --git a/source3/python/py_samr.h b/source3/python/py_samr.h
index 4d2b0675b4..8e91b1671e 100644
--- a/source3/python/py_samr.h
+++ b/source3/python/py_samr.h
@@ -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);
diff --git a/source3/python/py_samr_conv.c b/source3/python/py_samr_conv.c
index 7523ee7dfc..94bedcf779 100644
--- a/source3/python/py_samr_conv.c
+++ b/source3/python/py_samr_conv.c
@@ -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;
diff --git a/source3/rpc_parse/parse_samr.c b/source3/rpc_parse/parse_samr.c
index ba8b367a42..6b0193c6e4 100644
--- a/source3/rpc_parse/parse_samr.c
+++ b/source3/rpc_parse/parse_samr.c
@@ -5103,13 +5103,13 @@ static BOOL sam_io_logon_hrs(const char *desc, LOGON_HRS * hrs,
}
/*******************************************************************
-inits a SAM_USER_INFO_12 structure.
+inits a SAM_USER_INFO_18 structure.
********************************************************************/
-void init_sam_user_info12(SAM_USER_INFO_12 * usr,
+void init_sam_user_info18(SAM_USER_INFO_18 * usr,
const uint8 lm_pwd[16], const uint8 nt_pwd[16])
{
- DEBUG(5, ("init_sam_user_info12\n"));
+ DEBUG(5, ("init_sam_user_info18\n"));
usr->lm_pwd_active =
memcpy(usr->lm_pwd, lm_pwd, sizeof(usr->lm_pwd)) ? 1 : 0;
@@ -5121,13 +5121,13 @@ void init_sam_user_info12(SAM_USER_INFO_12 * usr,
reads or writes a structure.
********************************************************************/
-static BOOL sam_io_user_info12(const char *desc, SAM_USER_INFO_12 * u,
+static BOOL sam_io_user_info18(const char *desc, SAM_USER_INFO_18 * u,
prs_struct *ps, int depth)
{
if (u == NULL)
return False;
- prs_debug(ps, depth, desc, "samr_io_r_user_info12");
+ prs_debug(ps, depth, desc, "samr_io_r_user_info18");
depth++;
if(!prs_align(ps))
@@ -5185,12 +5185,12 @@ static BOOL sam_io_user_info7(const char *desc, SAM_USER_INFO_7 * usr,
}
/*******************************************************************
-inits a SAM_USER_INFO_10 structure.
+inits a SAM_USER_INFO_16 structure.
********************************************************************/
-void init_sam_user_info10(SAM_USER_INFO_10 * usr, uint32 acb_info)
+void init_sam_user_info16(SAM_USER_INFO_16 * usr, uint32 acb_info)
{
- DEBUG(5, ("init_sam_user_info10\n"));
+ DEBUG(5, ("init_sam_user_info16\n"));
usr->acb_info = acb_info;
}
@@ -5199,13 +5199,13 @@ void init_sam_user_info10(SAM_USER_INFO_10 * usr, uint32 acb_info)
reads or writes a structure.
********************************************************************/
-static BOOL sam_io_user_info10(const char *desc, SAM_USER_INFO_10 * usr,
+static BOOL sam_io_user_info16(const char *desc, SAM_USER_INFO_16 * usr,
prs_struct *ps, int depth)
{
if (usr == NULL)
return False;
- prs_debug(ps, depth, desc, "samr_io_r_user_info10");
+ prs_debug(ps, depth, desc, "samr_io_r_user_info16");
depth++;
if(!prs_align(ps))
@@ -5218,15 +5218,15 @@ static BOOL sam_io_user_info10(const char *desc, SAM_USER_INFO_10 * usr,
}
/*******************************************************************
-inits a SAM_USER_INFO_11 structure.
+inits a SAM_USER_INFO_17 structure.
********************************************************************/
-void init_sam_user_info11(SAM_USER_INFO_11 * usr,
+void init_sam_user_info17(SAM_USER_INFO_17 * usr,
NTTIME * expiry,
char *mach_acct,
uint32 rid_user, uint32 rid_group, uint16 acct_ctrl)
{
- DEBUG(5, ("init_sam_user_info11\n"));
+ DEBUG(5, ("init_sam_user_info17\n"));
memcpy(&usr->expiry, expiry, sizeof(usr->expiry)); /* expiry time or something? */
ZERO_STRUCT(usr->padding_1); /* 0 - padding 24 bytes */
@@ -5263,13 +5263,13 @@ void init_sam_user_info11(SAM_USER_INFO_11 * usr,
reads or writes a structure.
********************************************************************/
-static BOOL sam_io_user_info11(const char *desc, SAM_USER_INFO_11 * usr,
+static BOOL sam_io_user_info17(const char *desc, SAM_USER_INFO_17 * usr,
prs_struct *ps, int depth)
{
if (usr == NULL)
return False;
- prs_debug(ps, depth, desc, "samr_io_r_unknown_11");
+ prs_debug(ps, depth, desc, "samr_io_r_unknown_17");
depth++;
if(!prs_align(ps))
@@ -6231,16 +6231,16 @@ NTSTATUS make_samr_userinfo_ctr_usr21(TALLOC_CTX *ctx, SAM_USERINFO_CTR * ctr,
ctr->info.id = NULL;
switch (switch_value) {
- case 0x10:
- ctr->info.id10 = TALLOC_ZERO_P(ctx,SAM_USER_INFO_10);
- if (ctr->info.id10 == NULL)
+ case 16:
+ ctr->info.id16 = TALLOC_ZERO_P(ctx,SAM_USER_INFO_16);
+ if (ctr->info.id16 == NULL)
return NT_STATUS_NO_MEMORY;
- init_sam_user_info10(ctr->info.id10, usr->acb_info);
+ init_sam_user_info16(ctr->info.id16, usr->acb_info);
break;
#if 0
/* whoops - got this wrong. i think. or don't understand what's happening. */
- case 0x11:
+ case 17:
{
NTTIME expire;
info = (void *)&id11;
@@ -6248,8 +6248,8 @@ NTSTATUS make_samr_userinfo_ctr_usr21(TALLOC_CTX *ctx, SAM_USERINFO_CTR * ctr,
expire.low = 0xffffffff;
expire.high = 0x7fffffff;
- ctr->info.id = TALLOC_ZERO_P(ctx,SAM_USER_INFO_11);
- init_sam_user_info11(ctr->info.id11, &expire,
+ ctr->info.id = TALLOC_ZERO_P(ctx,SAM_USER_INFO_17);
+ init_sam_user_info11(ctr->info.id17, &expire,
"BROOKFIELDS$", /* name */
0x03ef, /* user rid */
0x201, /* group rid */
@@ -6258,12 +6258,12 @@ NTSTATUS make_samr_userinfo_ctr_usr21(TALLOC_CTX *ctx, SAM_USERINFO_CTR * ctr,
break;
}
#endif
- case 0x12:
- ctr->info.id12 = TALLOC_ZERO_P(ctx,SAM_USER_INFO_12);
- if (ctr->info.id12 == NULL)
+ case 18:
+ ctr->info.id18 = TALLOC_ZERO_P(ctx,SAM_USER_INFO_18);
+ if (ctr->info.id18 == NULL)
return NT_STATUS_NO_MEMORY;
- init_sam_user_info12(ctr->info.id12, usr->lm_pwd, usr->nt_pwd);
+ init_sam_user_info18(ctr->info.id18, usr->lm_pwd, usr->nt_pwd);
break;
case 21:
{
@@ -6347,7 +6347,7 @@ static BOOL samr_io_userinfo_ctr(const char *desc, SAM_USERINFO_CTR **ppctr,
ret = False;
switch (ctr->switch_value) {
- case 0x07:
+ case 7:
if (UNMARSHALLING(ps))
ctr->info.id7 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_7,1);
if (ctr->info.id7 == NULL) {
@@ -6356,34 +6356,34 @@ static BOOL samr_io_userinfo_ctr(const char *desc, SAM_USERINFO_CTR **ppctr,
}
ret = sam_io_user_info7("", ctr->info.id7, ps, depth);
break;
- case 0x10:
+ case 16:
if (UNMARSHALLING(ps))
- ctr->info.id10 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_10,1);
- if (ctr->info.id10 == NULL) {
+ ctr->info.id16 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_16,1);
+ if (ctr->info.id16 == NULL) {
DEBUG(2,("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
- ret = sam_io_user_info10("", ctr->info.id10, ps, depth);
+ ret = sam_io_user_info16("", ctr->info.id16, ps, depth);
break;
- case 0x11:
+ case 17:
if (UNMARSHALLING(ps))
- ctr->info.id11 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_11,1);
+ ctr->info.id17 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_17,1);
- if (ctr->info.id11 == NULL) {
+ if (ctr->info.id17 == NULL) {
DEBUG(2,("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
- ret = sam_io_user_info11("", ctr->info.id11, ps, depth);
+ ret = sam_io_user_info17("", ctr->info.id17, ps, depth);
break;
- case 0x12:
+ case 18:
if (UNMARSHALLING(ps))
- ctr->info.id12 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_12,1);
+ ctr->info.id18 = PRS_ALLOC_MEM(ps,SAM_USER_INFO_18,1);
- if (ctr->info.id12 == NULL) {
+ if (ctr->info.id18 == NULL) {
DEBUG(2,("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
- ret = sam_io_user_info12("", ctr->info.id12, ps, depth);
+ ret = sam_io_user_info18("", ctr->info.id18, ps, depth);
break;
case 20:
if (UNMARSHALLING(ps))
@@ -6588,12 +6588,12 @@ void init_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2 * q_u,
q_u->ctr->switch_value = switch_value;
switch (switch_value) {
- case 0x12:
- SamOEMhashBlob(ctr->info.id12->lm_pwd, 16, sess_key);
- SamOEMhashBlob(ctr->info.id12->nt_pwd, 16, sess_key);
+ case 18:
+ SamOEMhashBlob(ctr->info.id18->lm_pwd, 16, sess_key);
+ SamOEMhashBlob(ctr->info.id18->nt_pwd, 16, sess_key);
dump_data(100, (char *)sess_key->data, sess_key->length);
- dump_data(100, (char *)ctr->info.id12->lm_pwd, 16);
- dump_data(100, (char *)ctr->info.id12->nt_pwd, 16);
+ dump_data(100, (char *)ctr->info.id18->lm_pwd, 16);
+ dump_data(100, (char *)ctr->info.id18->nt_pwd, 16);
break;
}
}
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 9b98d4cb16..2e73db2807 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -1411,10 +1411,10 @@ static NTSTATUS get_user_info_7(TALLOC_CTX *mem_ctx, SAM_USER_INFO_7 *id7, DOM_S
return NT_STATUS_OK;
}
/*************************************************************************
- get_user_info_10. Safe. Only gives out acb bits.
+ get_user_info_16. Safe. Only gives out acb bits.
*************************************************************************/
-static NTSTATUS get_user_info_10(TALLOC_CTX *mem_ctx, SAM_USER_INFO_10 *id10, DOM_SID *user_sid)
+static NTSTATUS get_user_info_16(TALLOC_CTX *mem_ctx, SAM_USER_INFO_16 *id16, DOM_SID *user_sid)
{
SAM_ACCOUNT *smbpass=NULL;
BOOL ret;
@@ -1437,8 +1437,8 @@ static NTSTATUS get_user_info_10(TALLOC_CTX *mem_ctx, SAM_USER_INFO_10 *id10, DO
DEBUG(3,("User:[%s]\n", pdb_get_username(smbpass) ));
- ZERO_STRUCTP(id10);
- init_sam_user_info10(id10, pdb_get_acct_ctrl(smbpass) );
+ ZERO_STRUCTP(id16);
+ init_sam_user_info16(id16, pdb_get_acct_ctrl(smbpass) );
pdb_free_sam(&smbpass);
@@ -1446,12 +1446,12 @@ static NTSTATUS get_user_info_10(TALLOC_CTX *mem_ctx, SAM_USER_INFO_10 *id10, DO
}
/*************************************************************************
- get_user_info_12. OK - this is the killer as it gives out password info.
+ get_user_info_18. OK - this is the killer as it gives out password info.
Ensure that this is only allowed on an encrypted connection with a root
user. JRA.
*************************************************************************/
-static NTSTATUS get_user_info_12(pipes_struct *p, TALLOC_CTX *mem_ctx, SAM_USER_INFO_12 * id12, DOM_SID *user_sid)
+static NTSTATUS get_user_info_18(pipes_struct *p, TALLOC_CTX *mem_ctx, SAM_USER_INFO_18 * id18, DOM_SID *user_sid)
{
SAM_ACCOUNT *smbpass=NULL;
BOOL ret;
@@ -1488,8 +1488,8 @@ static NTSTATUS get_user_info_12(pipes_struct *p, TALLOC_CTX *mem_ctx, SAM_USER_
return NT_STATUS_ACCOUNT_DISABLED;
}
- ZERO_STRUCTP(id12);
- init_sam_user_info12(id12, pdb_get_lanman_passwd(smbpass), pdb_get_nt_passwd(smbpass));
+ ZERO_STRUCTP(id18);
+ init_sam_user_info18(id18, pdb_get_lanman_passwd(smbpass), pdb_get_nt_passwd(smbpass));
pdb_free_sam(&smbpass);
@@ -1601,7 +1601,7 @@ NTSTATUS _samr_query_userinfo(pipes_struct *p, SAMR_Q_QUERY_USERINFO *q_u, SAMR_
ctr->switch_value = q_u->switch_value;
switch (q_u->switch_value) {
- case 0x07:
+ case 7:
ctr->info.id7 = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_7);
if (ctr->info.id7 == NULL)
return NT_STATUS_NO_MEMORY;
@@ -1609,18 +1609,18 @@ NTSTATUS _samr_query_userinfo(pipes_struct *p, SAMR_Q_QUERY_USERINFO *q_u, SAMR_
if (!NT_STATUS_IS_OK(r_u->status = get_user_info_7(p->mem_ctx, ctr->info.id7, &info->sid)))
return r_u->status;
break;
- case 0x10:
- ctr->info.id10 = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_10);
- if (ctr->info.id10 == NULL)
+ case 16:
+ ctr->info.id16 = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_16);
+ if (ctr->info.id16 == NULL)
return NT_STATUS_NO_MEMORY;
- if (!NT_STATUS_IS_OK(r_u->status = get_user_info_10(p->mem_ctx, ctr->info.id10, &info->sid)))
+ if (!NT_STATUS_IS_OK(r_u->status = get_user_info_16(p->mem_ctx, ctr->info.id16, &info->sid)))
return r_u->status;
break;
#if 0
/* whoops - got this wrong. i think. or don't understand what's happening. */
- case 0x11:
+ case 17:
{
NTTIME expire;
info = (void *)&id11;
@@ -1628,9 +1628,9 @@ NTSTATUS _samr_query_userinfo(pipes_struct *p, SAMR_Q_QUERY_USERINFO *q_u, SAMR_
expire.low = 0xffffffff;
expire.high = 0x7fffffff;
- ctr->info.id = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_11));
- ZERO_STRUCTP(ctr->info.id11);
- init_sam_user_info11(ctr->info.id11, &expire,
+ ctr->info.id = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_17));
+ ZERO_STRUCTP(ctr->info.id17);
+ init_sam_user_info17(ctr->info.id17, &expire,
"BROOKFIELDS$", /* name */
0x03ef, /* user rid */
0x201, /* group rid */
@@ -1640,12 +1640,12 @@ NTSTATUS _samr_query_userinfo(pipes_struct *p, SAMR_Q_QUERY_USERINFO *q_u, SAMR_
}
#endif
- case 0x12:
- ctr->info.id12 = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_12);
- if (ctr->info.id12 == NULL)
+ case 18:
+ ctr->info.id18 = TALLOC_ZERO_P(p->mem_ctx, SAM_USER_INFO_18);
+ if (ctr->info.id18 == NULL)
return NT_STATUS_NO_MEMORY;
- if (!NT_STATUS_IS_OK(r_u->status = get_user_info_12(p, p->mem_ctx, ctr->info.id12, &info->sid)))
+ if (!NT_STATUS_IS_OK(r_u->status = get_user_info_18(p, p->mem_ctx, ctr->info.id18, &info->sid)))
return r_u->status;
break;
@@ -2418,19 +2418,19 @@ NTSTATUS _samr_open_alias(pipes_struct *p, SAMR_Q_OPEN_ALIAS *q_u, SAMR_R_OPEN_A
}
/*******************************************************************
- set_user_info_10
+ set_user_info_16
********************************************************************/
-static BOOL set_user_info_10(const SAM_USER_INFO_10 *id10, SAM_ACCOUNT *pwd)
+static BOOL set_user_info_16(const SAM_USER_INFO_16 *id16, SAM_ACCOUNT *pwd)
{
- if (id10 == NULL) {
- DEBUG(5, ("set_user_info_10: NULL id10\n"));
+ if (id16 == NULL) {
+ DEBUG(5, ("set_user_info_16: NULL id16\n"));
pdb_free_sam(&pwd);
return False;
}
/* FIX ME: check if the value is really changed --metze */
- if (!pdb_set_acct_ctrl(pwd, id10->acb_info, PDB_CHANGED)) {
+ if (!pdb_set_acct_ctrl(pwd, id16->acb_info, PDB_CHANGED)) {
pdb_free_sam(&pwd);
return False;
}
@@ -2446,23 +2446,23 @@ static BOOL set_user_info_10(const SAM_USER_INFO_10 *id10, SAM_ACCOUNT *pwd)
}
/*******************************************************************
- set_user_info_12
+ set_user_info_18
********************************************************************/
-static BOOL set_user_info_12(SAM_USER_INFO_12 *id12, SAM_ACCOUNT *pwd)
+static BOOL set_user_info_18(SAM_USER_INFO_18 *id18, SAM_ACCOUNT *pwd)
{
- if (id12 == NULL) {
- DEBUG(2, ("set_user_info_12: id12 is NULL\n"));
+ if (id18 == NULL) {
+ DEBUG(2, ("set_user_info_18: id18 is NULL\n"));
pdb_free_sam(&pwd);
return False;
}
- if (!pdb_set_lanman_passwd (pwd, id12->lm_pwd, PDB_CHANGED)) {
+ if (!pdb_set_lanman_passwd (pwd, id18->lm_pwd, PDB_CHANGED)) {
pdb_free_sam(&pwd);
return False;
}
- if (!pdb_set_nt_passwd (pwd, id12->nt_pwd, PDB_CHANGED)) {
+ if (!pdb_set_nt_passwd (pwd, id18->nt_pwd, PDB_CHANGED)) {
pdb_free_sam(&pwd);
return False;
}
@@ -2779,7 +2779,7 @@ NTSTATUS _samr_set_userinfo(pipes_struct *p, SAMR_Q_SET_USERINFO *q_u, SAMR_R_SE
switch (switch_value) {
case 18:
- if (!set_user_info_12(ctr->info.id12, pwd))
+ if (!set_user_info_18(ctr->info.id18, pwd))
r_u->status = NT_STATUS_ACCESS_DENIED;
break;
@@ -2919,12 +2919,12 @@ NTSTATUS _samr_set_userinfo2(pipes_struct *p, SAMR_Q_SET_USERINFO2 *q_u, SAMR_R_
switch (switch_value) {
case 16:
- if (!set_user_info_10(ctr->info.id10, pwd))
+ if (!set_user_info_16(ctr->info.id16, pwd))
r_u->status = NT_STATUS_ACCESS_DENIED;
break;
case 18:
/* Used by AS/U JRA. */
- if (!set_user_info_12(ctr->info.id12, pwd))
+ if (!set_user_info_18(ctr->info.id18, pwd))
r_u->status = NT_STATUS_ACCESS_DENIED;
break;
case 20:
diff --git a/source3/utils/net_rpc_join.c b/source3/utils/net_rpc_join.c
index 6888076a14..8d19ad888f 100644
--- a/source3/utils/net_rpc_join.c
+++ b/source3/utils/net_rpc_join.c
@@ -117,7 +117,7 @@ int net_rpc_join_newstyle(int argc, const char **argv)
uchar pwbuf[516];
SAM_USERINFO_CTR ctr;
SAM_USER_INFO_24 p24;
- SAM_USER_INFO_10 p10;
+ SAM_USER_INFO_16 p16;
uchar md4_trust_password[16];
/* Misc */
@@ -287,15 +287,15 @@ int net_rpc_join_newstyle(int argc, const char **argv)
userinfo2 level 0x10 fails. -tpot */
ZERO_STRUCT(ctr);
- ctr.switch_value = 0x10;
- ctr.info.id10 = &p10;
+ ctr.switch_value = 16;
+ ctr.info.id16 = &p16;
- init_sam_user_info10(&p10, acb_info);
+ init_sam_user_info16(&p16, acb_info);
/* Ignoring the return value is necessary for joining a domain
as a normal user with "Add workstation to domain" privilege. */
- result = cli_samr_set_userinfo2(cli, mem_ctx, &user_pol, 0x10,
+ result = cli_samr_set_userinfo2(cli, mem_ctx, &user_pol, 16,
&cli->user_session_key, &ctr);
/* Now check the whole process from top-to-bottom */