summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_client/cli_lsarpc.c52
-rw-r--r--source3/rpc_server/srv_lsa_nt.c10
2 files changed, 27 insertions, 35 deletions
diff --git a/source3/rpc_client/cli_lsarpc.c b/source3/rpc_client/cli_lsarpc.c
index 577df64fbb..33de986e78 100644
--- a/source3/rpc_client/cli_lsarpc.c
+++ b/source3/rpc_client/cli_lsarpc.c
@@ -50,23 +50,17 @@ NTSTATUS rpccli_lsa_open_policy(struct rpc_pipe_client *cli,
struct lsa_QosInfo qos;
uint16_t system_name = '\\';
+ ZERO_STRUCT(attr);
+
+ attr.len = 0x18;
+
if (sec_qos) {
- init_lsa_sec_qos(&qos, 0xc, 2, 1, 0);
- init_lsa_obj_attr(&attr,
- 0x18,
- NULL,
- NULL,
- 0,
- NULL,
- &qos);
- } else {
- init_lsa_obj_attr(&attr,
- 0x18,
- NULL,
- NULL,
- 0,
- NULL,
- NULL);
+ qos.len = 0xc;
+ qos.impersonation_level = 2;
+ qos.context_mode = 1;
+ qos.effective_only = 0;
+
+ attr.sec_qos = &qos;
}
return rpccli_lsa_OpenPolicy(cli, mem_ctx,
@@ -88,23 +82,17 @@ NTSTATUS rpccli_lsa_open_policy2(struct rpc_pipe_client *cli,
struct lsa_ObjectAttribute attr;
struct lsa_QosInfo qos;
+ ZERO_STRUCT(attr);
+
+ attr.len = 0x18;
+
if (sec_qos) {
- init_lsa_sec_qos(&qos, 0xc, 2, 1, 0);
- init_lsa_obj_attr(&attr,
- 0x18,
- NULL,
- NULL,
- 0,
- NULL,
- &qos);
- } else {
- init_lsa_obj_attr(&attr,
- 0x18,
- NULL,
- NULL,
- 0,
- NULL,
- NULL);
+ qos.len = 0xc;
+ qos.impersonation_level = 2;
+ qos.context_mode = 1;
+ qos.effective_only = 0;
+
+ attr.sec_qos = &qos;
}
return rpccli_lsa_OpenPolicy2(cli, mem_ctx,
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index 05452112ca..3063427595 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -198,7 +198,9 @@ static NTSTATUS lookup_lsa_rids(TALLOC_CTX *mem_ctx,
mapped_count++;
}
- init_lsa_translated_sid(&prid[i], type, rid, dom_idx);
+ prid[i].sid_type = type;
+ prid[i].rid = rid;
+ prid[i].sid_index = dom_idx;
}
*pmapped_count = mapped_count;
@@ -768,8 +770,10 @@ static NTSTATUS _lsa_lookup_sids_internal(pipes_struct *p,
mapped_count += 1;
}
- init_lsa_translated_name2(&names[i], name->type,
- name->name, name->dom_idx, 0);
+ names[i].sid_type = name->type;
+ names[i].name.string = name->name;
+ names[i].sid_index = name->dom_idx;
+ names[i].unknown = 0;
}
status = NT_STATUS_NONE_MAPPED;