diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_client/cli_lsarpc.c | 52 | ||||
-rw-r--r-- | source3/rpc_server/srv_lsa_nt.c | 10 |
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; |