summaryrefslogtreecommitdiff
path: root/source4/rpc_server/samr
diff options
context:
space:
mode:
Diffstat (limited to 'source4/rpc_server/samr')
-rw-r--r--source4/rpc_server/samr/dcesrv_samr.c300
-rw-r--r--source4/rpc_server/samr/samr_password.c4
2 files changed, 152 insertions, 152 deletions
diff --git a/source4/rpc_server/samr/dcesrv_samr.c b/source4/rpc_server/samr/dcesrv_samr.c
index 76b0d7b2ad..4ed5948b6a 100644
--- a/source4/rpc_server/samr/dcesrv_samr.c
+++ b/source4/rpc_server/samr/dcesrv_samr.c
@@ -90,7 +90,7 @@ static NTSTATUS samr_Close(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_c
DCESRV_PULL_HANDLE(h, r->in.handle, DCESRV_HANDLE_ANY);
- /* this causes the callback samr_XXX_destroy() to be called by
+ /* this causes the parameters samr_XXX_destroy() to be called by
the handle destroy code which destroys the state associated
with the handle */
dcesrv_handle_destroy(dce_call->conn, h);
@@ -169,14 +169,14 @@ static NTSTATUS samr_LookupDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX
c_state = h->data;
- if (r->in.domain->name == NULL) {
+ if (r->in.domain->string == NULL) {
return NT_STATUS_INVALID_PARAMETER;
}
sidstr = samdb_search_string(c_state->sam_ctx,
mem_ctx, NULL, "objectSid",
"(&(name=%s)(objectclass=domain))",
- r->in.domain->name);
+ r->in.domain->string);
if (sidstr == NULL) {
return NT_STATUS_NO_SUCH_DOMAIN;
}
@@ -184,7 +184,7 @@ static NTSTATUS samr_LookupDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX
sid = dom_sid_parse_talloc(mem_ctx, sidstr);
if (sid == NULL) {
DEBUG(0,("samdb: Invalid sid '%s' for domain %s\n",
- sidstr, r->in.domain->name));
+ sidstr, r->in.domain->string));
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
@@ -248,7 +248,7 @@ static NTSTATUS samr_EnumDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX
for (i=0;i<count-start_i;i++) {
array->entries[i].idx = start_i + i;
- array->entries[i].name.name = domains[start_i+i];
+ array->entries[i].name.string = domains[start_i+i];
}
r->out.sam = array;
@@ -349,10 +349,10 @@ static NTSTATUS samr_info_DomInfo2(struct samr_domain_state *state, TALLOC_CTX *
/* where is this supposed to come from? is it settable? */
info->force_logoff_time = 0x8000000000000000LL;
- info->comment.name = samdb_result_string(res[0], "comment", NULL);
- info->domain.name = samdb_result_string(res[0], "name", NULL);
+ info->comment.string = samdb_result_string(res[0], "comment", NULL);
+ info->domain.string = samdb_result_string(res[0], "name", NULL);
- info->primary.name = lp_netbios_name();
+ info->primary.string = lp_netbios_name();
info->sequence_num = 0;
info->role = ROLE_DOMAIN_PDC;
info->num_users = samdb_search_count(state->sam_ctx, mem_ctx, NULL, "(objectClass=user)");
@@ -431,7 +431,7 @@ static NTSTATUS samr_CreateDomainGroup(struct dcesrv_call_state *dce_call, TALLO
d_state = h->data;
- groupname = r->in.name->name;
+ groupname = r->in.name->string;
if (groupname == NULL) {
return NT_STATUS_INVALID_PARAMETER;
@@ -567,7 +567,7 @@ static NTSTATUS samr_CreateUser2(struct dcesrv_call_state *dce_call, TALLOC_CTX
d_state = h->data;
- account_name = r->in.account_name->name;
+ account_name = r->in.account_name->string;
if (account_name == NULL) {
return NT_STATUS_INVALID_PARAMETER;
@@ -776,7 +776,7 @@ static NTSTATUS samr_EnumDomainUsers(struct dcesrv_call_state *dce_call, TALLOC_
}
for (i=0;i<count;i++) {
entries[i].idx = samdb_result_rid_from_sid(mem_ctx, res[i], "objectSid", 0);
- entries[i].name.name = samdb_result_string(res[i], "sAMAccountName", "");
+ entries[i].name.string = samdb_result_string(res[i], "sAMAccountName", "");
}
/* sort the results by rid */
@@ -887,7 +887,7 @@ static NTSTATUS samr_LookupNames(struct dcesrv_call_state *dce_call, TALLOC_CTX
r->out.types.ids[i] = SID_NAME_UNKNOWN;
count = samdb_search(d_state->sam_ctx, mem_ctx, d_state->domain_dn, &res, attrs,
- "sAMAccountName=%s", r->in.names[i].name);
+ "sAMAccountName=%s", r->in.names[i].string);
if (count != 1) {
status = STATUS_SOME_UNMAPPED;
continue;
@@ -1097,19 +1097,19 @@ static NTSTATUS samr_QueryGroupInfo(struct dcesrv_call_state *dce_call, TALLOC_C
/* Fill in the level */
switch (r->in.level) {
case GroupInfoAll:
- QUERY_STRING(msg, all.name.name, "sAMAccountName");
+ QUERY_STRING(msg, all.name.string, "sAMAccountName");
r->out.info->all.unknown = 7; /* Do like w2k3 */
QUERY_UINT (msg, all.num_members, "numMembers")
- QUERY_STRING(msg, all.description.name, "description");
+ QUERY_STRING(msg, all.description.string, "description");
break;
case GroupInfoName:
- QUERY_STRING(msg, name.name, "sAMAccountName");
+ QUERY_STRING(msg, name.string, "sAMAccountName");
break;
case GroupInfoX:
r->out.info->unknown.unknown = 7;
break;
case GroupInfoDescription:
- QUERY_STRING(msg, description.name, "description");
+ QUERY_STRING(msg, description.string, "description");
break;
default:
r->out.info = NULL;
@@ -1143,12 +1143,12 @@ static NTSTATUS samr_SetGroupInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX
switch (r->in.level) {
case GroupInfoDescription:
- SET_STRING(msg, description.name, "description");
+ SET_STRING(msg, description.string, "description");
break;
case GroupInfoName:
/* On W2k3 this does not change the name, it changes the
* sAMAccountName attribute */
- SET_STRING(msg, name.name, "sAMAccountName");
+ SET_STRING(msg, name.string, "sAMAccountName");
break;
case GroupInfoX:
/* This does not do anything obviously visible in W2k3 LDAP */
@@ -1443,140 +1443,140 @@ static NTSTATUS samr_QueryUserInfo(struct dcesrv_call_state *dce_call, TALLOC_CT
/* fill in the reply */
switch (r->in.level) {
case 1:
- QUERY_STRING(msg, info1.account_name.name,"sAMAccountName");
- QUERY_STRING(msg, info1.full_name.name, "displayName");
- QUERY_UINT (msg, info1.primary_gid, "primaryGroupID");
- QUERY_STRING(msg, info1.description.name, "description");
- QUERY_STRING(msg, info1.comment.name, "comment");
+ QUERY_STRING(msg, info1.account_name.string, "sAMAccountName");
+ QUERY_STRING(msg, info1.full_name.string, "displayName");
+ QUERY_UINT (msg, info1.primary_gid, "primaryGroupID");
+ QUERY_STRING(msg, info1.description.string, "description");
+ QUERY_STRING(msg, info1.comment.string, "comment");
break;
case 2:
- QUERY_STRING(msg, info2.comment.name, "comment");
- QUERY_UINT (msg, info2.country_code, "countryCode");
- QUERY_UINT (msg, info2.code_page, "codePage");
+ QUERY_STRING(msg, info2.comment.string, "comment");
+ QUERY_UINT (msg, info2.country_code, "countryCode");
+ QUERY_UINT (msg, info2.code_page, "codePage");
break;
case 3:
- QUERY_STRING(msg, info3.account_name.name, "sAMAccountName");
- QUERY_STRING(msg, info3.full_name.name, "displayName");
- QUERY_RID (msg, info3.rid, "objectSid");
- QUERY_UINT (msg, info3.primary_gid, "primaryGroupID");
- QUERY_STRING(msg, info3.home_directory.name, "homeDirectory");
- QUERY_STRING(msg, info3.home_drive.name, "homeDrive");
- QUERY_STRING(msg, info3.logon_script.name, "scriptPath");
- QUERY_STRING(msg, info3.profile_path.name, "profilePath");
- QUERY_STRING(msg, info3.workstations.name, "userWorkstations");
- QUERY_NTTIME(msg, info3.last_logon, "lastLogon");
- QUERY_NTTIME(msg, info3.last_logoff, "lastLogoff");
- QUERY_NTTIME(msg, info3.last_password_change,"pwdLastSet");
- QUERY_APASSC(msg, info3.allow_password_change,"pwdLastSet");
- QUERY_FPASSC(msg, info3.force_password_change,"pwdLastSet");
- QUERY_LHOURS(msg, info3.logon_hours, "logonHours");
- QUERY_UINT (msg, info3.bad_password_count, "badPwdCount");
- QUERY_UINT (msg, info3.num_logons, "logonCount");
- QUERY_AFLAGS(msg, info3.acct_flags, "userAccountControl");
+ QUERY_STRING(msg, info3.account_name.string, "sAMAccountName");
+ QUERY_STRING(msg, info3.full_name.string, "displayName");
+ QUERY_RID (msg, info3.rid, "objectSid");
+ QUERY_UINT (msg, info3.primary_gid, "primaryGroupID");
+ QUERY_STRING(msg, info3.home_directory.string, "homeDirectory");
+ QUERY_STRING(msg, info3.home_drive.string, "homeDrive");
+ QUERY_STRING(msg, info3.logon_script.string, "scriptPath");
+ QUERY_STRING(msg, info3.profile_path.string, "profilePath");
+ QUERY_STRING(msg, info3.workstations.string, "userWorkstations");
+ QUERY_NTTIME(msg, info3.last_logon, "lastLogon");
+ QUERY_NTTIME(msg, info3.last_logoff, "lastLogoff");
+ QUERY_NTTIME(msg, info3.last_password_change, "pwdLastSet");
+ QUERY_APASSC(msg, info3.allow_password_change, "pwdLastSet");
+ QUERY_FPASSC(msg, info3.force_password_change, "pwdLastSet");
+ QUERY_LHOURS(msg, info3.logon_hours, "logonHours");
+ QUERY_UINT (msg, info3.bad_password_count, "badPwdCount");
+ QUERY_UINT (msg, info3.logon_count, "logonCount");
+ QUERY_AFLAGS(msg, info3.acct_flags, "userAccountControl");
break;
case 4:
- QUERY_LHOURS(msg, info4.logon_hours, "logonHours");
+ QUERY_LHOURS(msg, info4.logon_hours, "logonHours");
break;
case 5:
- QUERY_STRING(msg, info5.account_name.name, "sAMAccountName");
- QUERY_STRING(msg, info5.full_name.name, "displayName");
- QUERY_RID (msg, info5.rid, "objectSid");
- QUERY_UINT (msg, info5.primary_gid, "primaryGroupID");
- QUERY_STRING(msg, info5.home_directory.name, "homeDirectory");
- QUERY_STRING(msg, info5.home_drive.name, "homeDrive");
- QUERY_STRING(msg, info5.logon_script.name, "scriptPath");
- QUERY_STRING(msg, info5.profile_path.name, "profilePath");
- QUERY_STRING(msg, info5.description.name, "description");
- QUERY_STRING(msg, info5.workstations.name, "userWorkstations");
- QUERY_NTTIME(msg, info5.last_logon, "lastLogon");
- QUERY_NTTIME(msg, info5.last_logoff, "lastLogoff");
- QUERY_LHOURS(msg, info5.logon_hours, "logonHours");
- QUERY_UINT (msg, info5.bad_password_count, "badPwdCount");
- QUERY_UINT (msg, info5.num_logons, "logonCount");
- QUERY_NTTIME(msg, info5.last_password_change,"pwdLastSet");
- QUERY_NTTIME(msg, info5.acct_expiry, "accountExpires");
- QUERY_AFLAGS(msg, info5.acct_flags, "userAccountControl");
+ QUERY_STRING(msg, info5.account_name.string, "sAMAccountName");
+ QUERY_STRING(msg, info5.full_name.string, "displayName");
+ QUERY_RID (msg, info5.rid, "objectSid");
+ QUERY_UINT (msg, info5.primary_gid, "primaryGroupID");
+ QUERY_STRING(msg, info5.home_directory.string, "homeDirectory");
+ QUERY_STRING(msg, info5.home_drive.string, "homeDrive");
+ QUERY_STRING(msg, info5.logon_script.string, "scriptPath");
+ QUERY_STRING(msg, info5.profile_path.string, "profilePath");
+ QUERY_STRING(msg, info5.description.string, "description");
+ QUERY_STRING(msg, info5.workstations.string, "userWorkstations");
+ QUERY_NTTIME(msg, info5.last_logon, "lastLogon");
+ QUERY_NTTIME(msg, info5.last_logoff, "lastLogoff");
+ QUERY_LHOURS(msg, info5.logon_hours, "logonHours");
+ QUERY_UINT (msg, info5.bad_password_count, "badPwdCount");
+ QUERY_UINT (msg, info5.logon_count, "logonCount");
+ QUERY_NTTIME(msg, info5.last_password_change, "pwdLastSet");
+ QUERY_NTTIME(msg, info5.acct_expiry, "accountExpires");
+ QUERY_AFLAGS(msg, info5.acct_flags, "userAccountControl");
break;
case 6:
- QUERY_STRING(msg, info6.account_name.name, "sAMAccountName");
- QUERY_STRING(msg, info6.full_name.name, "displayName");
+ QUERY_STRING(msg, info6.account_name.string, "sAMAccountName");
+ QUERY_STRING(msg, info6.full_name.string, "displayName");
break;
case 7:
- QUERY_STRING(msg, info7.account_name.name, "sAMAccountName");
+ QUERY_STRING(msg, info7.account_name.string, "sAMAccountName");
break;
case 8:
- QUERY_STRING(msg, info8.full_name.name, "displayName");
+ QUERY_STRING(msg, info8.full_name.string, "displayName");
break;
case 9:
- QUERY_UINT (msg, info9.primary_gid, "primaryGroupID");
+ QUERY_UINT (msg, info9.primary_gid, "primaryGroupID");
break;
case 10:
- QUERY_STRING(msg, info10.home_directory.name, "homeDirectory");
- QUERY_STRING(msg, info10.home_drive.name, "homeDrive");
+ QUERY_STRING(msg, info10.home_directory.string,"homeDirectory");
+ QUERY_STRING(msg, info10.home_drive.string, "homeDrive");
break;
case 11:
- QUERY_STRING(msg, info11.logon_script.name, "scriptPath");
+ QUERY_STRING(msg, info11.logon_script.string, "scriptPath");
break;
case 12:
- QUERY_STRING(msg, info12.profile_path.name, "profilePath");
+ QUERY_STRING(msg, info12.profile_path.string, "profilePath");
break;
case 13:
- QUERY_STRING(msg, info13.description.name, "description");
+ QUERY_STRING(msg, info13.description.string, "description");
break;
case 14:
- QUERY_STRING(msg, info14.workstations.name, "userWorkstations");
+ QUERY_STRING(msg, info14.workstations.string, "userWorkstations");
break;
case 16:
- QUERY_AFLAGS(msg, info16.acct_flags, "userAccountControl");
+ QUERY_AFLAGS(msg, info16.acct_flags, "userAccountControl");
break;
case 17:
- QUERY_NTTIME(msg, info17.acct_expiry, "accountExpires");
+ QUERY_NTTIME(msg, info17.acct_expiry, "accountExpires");
case 20:
- QUERY_STRING(msg, info20.callback.name, "userParameters");
+ QUERY_STRING(msg, info20.parameters.string, "userParameters");
break;
case 21:
- QUERY_NTTIME(msg, info21.last_logon, "lastLogon");
- QUERY_NTTIME(msg, info21.last_logoff, "lastLogoff");
- QUERY_NTTIME(msg, info21.last_password_change, "pwdLastSet");
- QUERY_NTTIME(msg, info21.acct_expiry, "accountExpires");
+ QUERY_NTTIME(msg, info21.last_logon, "lastLogon");
+ QUERY_NTTIME(msg, info21.last_logoff, "lastLogoff");
+ QUERY_NTTIME(msg, info21.last_password_change, "pwdLastSet");
+ QUERY_NTTIME(msg, info21.acct_expiry, "accountExpires");
QUERY_APASSC(msg, info21.allow_password_change,"pwdLastSet");
QUERY_FPASSC(msg, info21.force_password_change,"pwdLastSet");
- QUERY_STRING(msg, info21.account_name.name, "sAMAccountName");
- QUERY_STRING(msg, info21.full_name.name, "displayName");
- QUERY_STRING(msg, info21.home_directory.name, "homeDirectory");
- QUERY_STRING(msg, info21.home_drive.name, "homeDrive");
- QUERY_STRING(msg, info21.logon_script.name, "scriptPath");
- QUERY_STRING(msg, info21.profile_path.name, "profilePath");
- QUERY_STRING(msg, info21.description.name, "description");
- QUERY_STRING(msg, info21.workstations.name, "userWorkstations");
- QUERY_STRING(msg, info21.comment.name, "comment");
- QUERY_STRING(msg, info21.callback.name, "userParameters");
- QUERY_RID (msg, info21.rid, "objectSid");
- QUERY_UINT (msg, info21.primary_gid, "primaryGroupID");
- QUERY_AFLAGS(msg, info21.acct_flags, "userAccountControl");
+ QUERY_STRING(msg, info21.account_name.string, "sAMAccountName");
+ QUERY_STRING(msg, info21.full_name.string, "displayName");
+ QUERY_STRING(msg, info21.home_directory.string,"homeDirectory");
+ QUERY_STRING(msg, info21.home_drive.string, "homeDrive");
+ QUERY_STRING(msg, info21.logon_script.string, "scriptPath");
+ QUERY_STRING(msg, info21.profile_path.string, "profilePath");
+ QUERY_STRING(msg, info21.description.string, "description");
+ QUERY_STRING(msg, info21.workstations.string, "userWorkstations");
+ QUERY_STRING(msg, info21.comment.string, "comment");
+ QUERY_STRING(msg, info21.parameters.string, "userParameters");
+ QUERY_RID (msg, info21.rid, "objectSid");
+ QUERY_UINT (msg, info21.primary_gid, "primaryGroupID");
+ QUERY_AFLAGS(msg, info21.acct_flags, "userAccountControl");
r->out.info->info21.fields_present = 0x00FFFFFF;
- QUERY_LHOURS(msg, info21.logon_hours, "logonHours");
- QUERY_UINT (msg, info21.bad_password_count, "badPwdCount");
- QUERY_UINT (msg, info21.num_logons, "logonCount");
- QUERY_UINT (msg, info21.country_code, "countryCode");
- QUERY_UINT (msg, info21.code_page, "codePage");
+ QUERY_LHOURS(msg, info21.logon_hours, "logonHours");
+ QUERY_UINT (msg, info21.bad_password_count, "badPwdCount");
+ QUERY_UINT (msg, info21.logon_count, "logonCount");
+ QUERY_UINT (msg, info21.country_code, "countryCode");
+ QUERY_UINT (msg, info21.code_page, "codePage");
break;
@@ -1613,80 +1613,80 @@ static NTSTATUS samr_SetUserInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX
switch (r->in.level) {
case 2:
- SET_STRING(msg, info2.comment.name, "comment");
- SET_UINT (msg, info2.country_code, "countryCode");
- SET_UINT (msg, info2.code_page, "codePage");
+ SET_STRING(msg, info2.comment.string, "comment");
+ SET_UINT (msg, info2.country_code, "countryCode");
+ SET_UINT (msg, info2.code_page, "codePage");
break;
case 4:
- SET_LHOURS(msg, info4.logon_hours, "logonHours");
+ SET_LHOURS(msg, info4.logon_hours, "logonHours");
break;
case 6:
- SET_STRING(msg, info6.full_name.name, "displayName");
+ SET_STRING(msg, info6.full_name.string, "displayName");
break;
case 8:
- SET_STRING(msg, info8.full_name.name, "displayName");
+ SET_STRING(msg, info8.full_name.string, "displayName");
break;
case 9:
- SET_UINT(msg, info9.primary_gid, "primaryGroupID");
+ SET_UINT(msg, info9.primary_gid, "primaryGroupID");
break;
case 10:
- SET_STRING(msg, info10.home_directory.name, "homeDirectory");
- SET_STRING(msg, info10.home_drive.name, "homeDrive");
+ SET_STRING(msg, info10.home_directory.string, "homeDirectory");
+ SET_STRING(msg, info10.home_drive.string, "homeDrive");
break;
case 11:
- SET_STRING(msg, info11.logon_script.name, "scriptPath");
+ SET_STRING(msg, info11.logon_script.string, "scriptPath");
break;
case 12:
- SET_STRING(msg, info12.profile_path.name, "profilePath");
+ SET_STRING(msg, info12.profile_path.string, "profilePath");
break;
case 13:
- SET_STRING(msg, info13.description.name, "description");
+ SET_STRING(msg, info13.description.string, "description");
break;
case 14:
- SET_STRING(msg, info14.workstations.name, "userWorkstations");
+ SET_STRING(msg, info14.workstations.string, "userWorkstations");
break;
case 16:
- SET_AFLAGS(msg, info16.acct_flags, "userAccountControl");
+ SET_AFLAGS(msg, info16.acct_flags, "userAccountControl");
break;
case 20:
- SET_STRING(msg, info20.callback.name, "userParameters");
+ SET_STRING(msg, info20.parameters.string, "userParameters");
break;
case 21:
#define IFSET(bit) if (bit & r->in.info->info21.fields_present)
IFSET(SAMR_FIELD_NAME)
- SET_STRING(msg, info21.full_name.name, "displayName");
+ SET_STRING(msg, info21.full_name.string, "displayName");
IFSET(SAMR_FIELD_DESCRIPTION)
- SET_STRING(msg, info21.description.name, "description");
+ SET_STRING(msg, info21.description.string, "description");
IFSET(SAMR_FIELD_COMMENT)
- SET_STRING(msg, info21.comment.name, "comment");
+ SET_STRING(msg, info21.comment.string, "comment");
IFSET(SAMR_FIELD_LOGON_SCRIPT)
- SET_STRING(msg, info21.logon_script.name, "scriptPath");
+ SET_STRING(msg, info21.logon_script.string, "scriptPath");
IFSET(SAMR_FIELD_PROFILE_PATH)
- SET_STRING(msg, info21.profile_path.name, "profilePath");
+ SET_STRING(msg, info21.profile_path.string, "profilePath");
IFSET(SAMR_FIELD_WORKSTATION)
- SET_STRING(msg, info21.workstations.name, "userWorkstations");
+ SET_STRING(msg, info21.workstations.string, "userWorkstations");
IFSET(SAMR_FIELD_LOGON_HOURS)
- SET_LHOURS(msg, info21.logon_hours, "logonHours");
+ SET_LHOURS(msg, info21.logon_hours, "logonHours");
IFSET(SAMR_FIELD_ACCT_FLAGS)
- SET_AFLAGS(msg, info21.acct_flags, "userAccountControl");
- IFSET(SAMR_FIELD_CALLBACK)
- SET_STRING(msg, info21.callback.name, "userParameters");
+ SET_AFLAGS(msg, info21.acct_flags, "userAccountControl");
+ IFSET(SAMR_FIELD_PARAMETERS)
+ SET_STRING(msg, info21.parameters.string, "userParameters");
IFSET(SAMR_FIELD_COUNTRY_CODE)
- SET_UINT (msg, info21.country_code, "countryCode");
+ SET_UINT (msg, info21.country_code, "countryCode");
IFSET(SAMR_FIELD_CODE_PAGE)
- SET_UINT (msg, info21.code_page, "codePage");
+ SET_UINT (msg, info21.code_page, "codePage");
/* Any reason the rest of these can't be set? */
@@ -1696,27 +1696,27 @@ static NTSTATUS samr_SetUserInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX
case 23:
#define IFSET(bit) if (bit & r->in.info->info23.info.fields_present)
IFSET(SAMR_FIELD_NAME)
- SET_STRING(msg, info23.info.full_name.name, "displayName");
+ SET_STRING(msg, info23.info.full_name.string, "displayName");
IFSET(SAMR_FIELD_DESCRIPTION)
- SET_STRING(msg, info23.info.description.name, "description");
+ SET_STRING(msg, info23.info.description.string, "description");
IFSET(SAMR_FIELD_COMMENT)
- SET_STRING(msg, info23.info.comment.name, "comment");
+ SET_STRING(msg, info23.info.comment.string, "comment");
IFSET(SAMR_FIELD_LOGON_SCRIPT)
- SET_STRING(msg, info23.info.logon_script.name, "scriptPath");
+ SET_STRING(msg, info23.info.logon_script.string, "scriptPath");
IFSET(SAMR_FIELD_PROFILE_PATH)
- SET_STRING(msg, info23.info.profile_path.name, "profilePath");
+ SET_STRING(msg, info23.info.profile_path.string, "profilePath");
IFSET(SAMR_FIELD_WORKSTATION)
- SET_STRING(msg, info23.info.workstations.name, "userWorkstations");
+ SET_STRING(msg, info23.info.workstations.string, "userWorkstations");
IFSET(SAMR_FIELD_LOGON_HOURS)
- SET_LHOURS(msg, info23.info.logon_hours, "logonHours");
+ SET_LHOURS(msg, info23.info.logon_hours, "logonHours");
IFSET(SAMR_FIELD_ACCT_FLAGS)
- SET_AFLAGS(msg, info23.info.acct_flags, "userAccountControl");
- IFSET(SAMR_FIELD_CALLBACK)
- SET_STRING(msg, info23.info.callback.name, "userParameters");
+ SET_AFLAGS(msg, info23.info.acct_flags, "userAccountControl");
+ IFSET(SAMR_FIELD_PARAMETERS)
+ SET_STRING(msg, info23.info.parameters.string, "userParameters");
IFSET(SAMR_FIELD_COUNTRY_CODE)
- SET_UINT (msg, info23.info.country_code, "countryCode");
+ SET_UINT (msg, info23.info.country_code, "countryCode");
IFSET(SAMR_FIELD_CODE_PAGE)
- SET_UINT (msg, info23.info.code_page, "codePage");
+ SET_UINT (msg, info23.info.code_page, "codePage");
IFSET(SAMR_FIELD_PASSWORD) {
status = samr_set_password(dce_call,
a_state->sam_ctx,
@@ -1748,27 +1748,27 @@ static NTSTATUS samr_SetUserInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX
case 25:
#define IFSET(bit) if (bit & r->in.info->info25.info.fields_present)
IFSET(SAMR_FIELD_NAME)
- SET_STRING(msg, info25.info.full_name.name, "displayName");
+ SET_STRING(msg, info25.info.full_name.string, "displayName");
IFSET(SAMR_FIELD_DESCRIPTION)
- SET_STRING(msg, info25.info.description.name, "description");
+ SET_STRING(msg, info25.info.description.string, "description");
IFSET(SAMR_FIELD_COMMENT)
- SET_STRING(msg, info25.info.comment.name, "comment");
+ SET_STRING(msg, info25.info.comment.string, "comment");
IFSET(SAMR_FIELD_LOGON_SCRIPT)
- SET_STRING(msg, info25.info.logon_script.name, "scriptPath");
+ SET_STRING(msg, info25.info.logon_script.string, "scriptPath");
IFSET(SAMR_FIELD_PROFILE_PATH)
- SET_STRING(msg, info25.info.profile_path.name, "profilePath");
+ SET_STRING(msg, info25.info.profile_path.string, "profilePath");
IFSET(SAMR_FIELD_WORKSTATION)
- SET_STRING(msg, info25.info.workstations.name, "userWorkstations");
+ SET_STRING(msg, info25.info.workstations.string, "userWorkstations");
IFSET(SAMR_FIELD_LOGON_HOURS)
- SET_LHOURS(msg, info25.info.logon_hours, "logonHours");
+ SET_LHOURS(msg, info25.info.logon_hours, "logonHours");
IFSET(SAMR_FIELD_ACCT_FLAGS)
- SET_AFLAGS(msg, info25.info.acct_flags, "userAccountControl");
- IFSET(SAMR_FIELD_CALLBACK)
- SET_STRING(msg, info25.info.callback.name, "userParameters");
+ SET_AFLAGS(msg, info25.info.acct_flags, "userAccountControl");
+ IFSET(SAMR_FIELD_PARAMETERS)
+ SET_STRING(msg, info25.info.parameters.string, "userParameters");
IFSET(SAMR_FIELD_COUNTRY_CODE)
- SET_UINT (msg, info25.info.country_code, "countryCode");
+ SET_UINT (msg, info25.info.country_code, "countryCode");
IFSET(SAMR_FIELD_CODE_PAGE)
- SET_UINT (msg, info25.info.code_page, "codePage");
+ SET_UINT (msg, info25.info.code_page, "codePage");
IFSET(SAMR_FIELD_PASSWORD) {
status = samr_set_password_ex(dce_call,
a_state->sam_ctx,
diff --git a/source4/rpc_server/samr/samr_password.c b/source4/rpc_server/samr/samr_password.c
index 7f2eb5d1a1..c45bababa6 100644
--- a/source4/rpc_server/samr/samr_password.c
+++ b/source4/rpc_server/samr/samr_password.c
@@ -160,7 +160,7 @@ NTSTATUS samr_OemChangePasswordUser2(struct dcesrv_call_state *dce_call, TALLOC_
ret = samdb_search(sam_ctx,
mem_ctx, NULL, &res, attrs,
"(&(sAMAccountName=%s)(objectclass=user))",
- r->in.account->name);
+ r->in.account->string);
if (ret != 1) {
return NT_STATUS_NO_SUCH_USER;
}
@@ -270,7 +270,7 @@ NTSTATUS samr_ChangePasswordUser3(struct dcesrv_call_state *dce_call,
ret = samdb_search(sam_ctx,
mem_ctx, NULL, &res, attrs,
"(&(sAMAccountName=%s)(objectclass=user))",
- r->in.account->name);
+ r->in.account->string);
if (ret != 1) {
status = NT_STATUS_NO_SUCH_USER;
goto failed;