summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_lsa_nt.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/srv_lsa_nt.c')
-rw-r--r--source3/rpc_server/srv_lsa_nt.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index afcace3f9c..cd97dfc6d1 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -72,7 +72,7 @@ static int init_dom_ref(DOM_R_REF *ref, char *dom_name, DOM_SID *dom_sid)
if (dom_name != NULL) {
for (num = 0; num < ref->num_ref_doms_1; num++) {
fstring domname;
- fstrcpy(domname, dos_unistr2_to_str(&ref->ref_dom[num].uni_dom_name));
+ rpcstr_pull(domname, &ref->ref_dom[num].uni_dom_name, sizeof(domname), -1, 0);
if (strequal(domname, dom_name))
return num;
}
@@ -128,7 +128,7 @@ static void init_lsa_rid2s(DOM_R_REF *ref, DOM_RID2 *rid2,
/* Split name into domain and user component */
- pstrcpy(full_name, dos_unistr2_to_str(&name[i]));
+ rpcstr_pull(full_name, &name[i], sizeof(full_name), -1, 0);
split_domain_name(full_name, dom_name, user);
/* Lookup name */
@@ -238,11 +238,6 @@ static void init_lsa_trans_names(TALLOC_CTX *ctx, DOM_R_REF *ref, LSA_TRANS_NAME
sid_split_rid(&find_sid, &rid);
}
- /* unistr routines take dos codepage strings */
-
- unix_to_dos(dom_name, True);
- unix_to_dos(name, True);
-
dom_idx = init_dom_ref(ref, dom_name, &find_sid);
DEBUG(10,("init_lsa_trans_names: added user '%s\\%s' to "
@@ -337,7 +332,6 @@ uint32 _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO
{
LSA_INFO_UNION *info = &r_u->dom;
DOM_SID domain_sid;
- fstring dos_domain;
char *name = NULL;
DOM_SID *sid = NULL;
@@ -346,9 +340,6 @@ uint32 _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO
if (!find_policy_by_hnd(p, &q_u->pol, NULL))
return NT_STATUS_INVALID_HANDLE;
- fstrcpy(dos_domain, global_myworkgroup);
- unix_to_dos(dos_domain, True);
-
switch (q_u->info_class) {
case 0x02:
{
@@ -368,20 +359,20 @@ uint32 _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO
switch (lp_server_role()) {
case ROLE_DOMAIN_PDC:
case ROLE_DOMAIN_BDC:
- name = dos_domain;
+ name = global_myworkgroup;
sid = &global_sam_sid;
break;
case ROLE_DOMAIN_MEMBER:
- name = dos_domain;
+ name = global_myworkgroup;
/* We need to return the Domain SID here. */
- if (secrets_fetch_domain_sid(dos_domain,
+ if (secrets_fetch_domain_sid(global_myworkgroup,
&domain_sid))
sid = &domain_sid;
else
return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
break;
case ROLE_STANDALONE:
- name = dos_domain;
+ name = global_myworkgroup;
sid = NULL; /* Tell it we're not in a domain. */
break;
default:
@@ -394,15 +385,15 @@ uint32 _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO
switch (lp_server_role()) {
case ROLE_DOMAIN_PDC:
case ROLE_DOMAIN_BDC:
- name = dos_domain;
+ name = global_myworkgroup;
sid = &global_sam_sid;
break;
case ROLE_DOMAIN_MEMBER:
- name = dos_domain;
+ name = global_myworkgroup;
sid = &global_sam_sid;
break;
case ROLE_STANDALONE:
- name = dos_domain;
+ name = global_myworkgroup;
sid = &global_sam_sid;
break;
default: