diff options
Diffstat (limited to 'source3/rpc_client')
-rw-r--r-- | source3/rpc_client/cli_lsarpc.c | 52 |
1 files changed, 20 insertions, 32 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, |