mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
use a more consistent style for the client stubs
This commit is contained in:
parent
6151e5a214
commit
9946532f97
@ -27,43 +27,20 @@
|
||||
OpenPolicy interface
|
||||
*/
|
||||
NTSTATUS dcerpc_lsa_OpenPolicy(struct dcerpc_pipe *p,
|
||||
const char *server,
|
||||
struct lsa_ObjectAttribute *attr,
|
||||
uint32 access_mask,
|
||||
struct policy_handle *handle)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct lsa_OpenPolicy *r)
|
||||
{
|
||||
struct lsa_OpenPolicy r;
|
||||
NTSTATUS status;
|
||||
TALLOC_CTX *mem_ctx;
|
||||
uint16 s;
|
||||
|
||||
mem_ctx = talloc_init("dcerpc_lsa_openpolicy");
|
||||
if (!mem_ctx) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
/* fill the .in side of the call */
|
||||
s = server[0];
|
||||
r.in.system_name = &s;
|
||||
r.in.attr = attr;
|
||||
r.in.desired_access = access_mask;
|
||||
r.out.handle = handle;
|
||||
|
||||
/* make the call */
|
||||
status = dcerpc_ndr_request(p, LSA_OPENPOLICY, mem_ctx,
|
||||
(ndr_push_fn_t) ndr_push_lsa_OpenPolicy,
|
||||
(ndr_pull_fn_t) ndr_pull_lsa_OpenPolicy,
|
||||
&r);
|
||||
r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
goto done;
|
||||
return status;
|
||||
}
|
||||
|
||||
/* and extract the .out parameters */
|
||||
status = r.out.result;
|
||||
|
||||
done:
|
||||
talloc_destroy(mem_ctx);
|
||||
return status;
|
||||
return r->out.result;
|
||||
}
|
||||
|
||||
|
||||
@ -71,41 +48,20 @@ done:
|
||||
OpenPolicy2 interface
|
||||
*/
|
||||
NTSTATUS dcerpc_lsa_OpenPolicy2(struct dcerpc_pipe *p,
|
||||
const char *server,
|
||||
struct lsa_ObjectAttribute *attr,
|
||||
uint32 access_mask,
|
||||
struct policy_handle *handle)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct lsa_OpenPolicy2 *r)
|
||||
{
|
||||
struct lsa_OpenPolicy2 r;
|
||||
NTSTATUS status;
|
||||
TALLOC_CTX *mem_ctx;
|
||||
|
||||
mem_ctx = talloc_init("dcerpc_lsa_openpolicy2");
|
||||
if (!mem_ctx) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
/* fill the .in side of the call */
|
||||
r.in.system_name = server;
|
||||
r.in.attr = attr;
|
||||
r.in.desired_access = access_mask;
|
||||
r.out.handle = handle;
|
||||
|
||||
/* make the call */
|
||||
status = dcerpc_ndr_request(p, LSA_OPENPOLICY2, mem_ctx,
|
||||
(ndr_push_fn_t) ndr_push_lsa_OpenPolicy2,
|
||||
(ndr_pull_fn_t) ndr_pull_lsa_OpenPolicy2,
|
||||
&r);
|
||||
r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
goto done;
|
||||
return status;
|
||||
}
|
||||
|
||||
/* and extract the .out parameters */
|
||||
status = r.out.result;
|
||||
|
||||
done:
|
||||
talloc_destroy(mem_ctx);
|
||||
return status;
|
||||
return r->out.result;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -113,36 +69,20 @@ done:
|
||||
*/
|
||||
NTSTATUS dcerpc_lsa_EnumSids(struct dcerpc_pipe *p,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle,
|
||||
uint32 *resume_handle,
|
||||
uint32 num_entries,
|
||||
struct lsa_SidArray *sids)
|
||||
struct lsa_EnumSids *r)
|
||||
{
|
||||
struct lsa_EnumSids r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* fill the .in side of the call */
|
||||
r.in.handle = handle;
|
||||
r.in.resume_handle = resume_handle;
|
||||
r.in.num_entries = num_entries;
|
||||
|
||||
r.out.resume_handle = resume_handle;
|
||||
r.out.sids = sids;
|
||||
|
||||
/* make the call */
|
||||
status = dcerpc_ndr_request(p, LSA_ENUM_ACCOUNTS, mem_ctx,
|
||||
(ndr_push_fn_t) ndr_push_lsa_EnumSids,
|
||||
(ndr_pull_fn_t) ndr_pull_lsa_EnumSids,
|
||||
&r);
|
||||
r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
goto done;
|
||||
return status;
|
||||
}
|
||||
|
||||
/* and extract the .out parameters */
|
||||
status = r.out.result;
|
||||
|
||||
done:
|
||||
return status;
|
||||
return r->out.result;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -79,12 +79,14 @@ static int dom_sid_compare(struct dom_sid *sid1, struct dom_sid *sid2)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOL test_OpenPolicy(struct dcerpc_pipe *p)
|
||||
static BOOL test_OpenPolicy(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
struct lsa_ObjectAttribute attr;
|
||||
struct policy_handle handle;
|
||||
struct lsa_QosInfo qos;
|
||||
struct lsa_OpenPolicy r;
|
||||
NTSTATUS status;
|
||||
uint16 system_name = '\\';
|
||||
|
||||
printf("\ntesting OpenPolicy\n");
|
||||
|
||||
@ -98,11 +100,12 @@ static BOOL test_OpenPolicy(struct dcerpc_pipe *p)
|
||||
attr.sec_desc = NULL;
|
||||
attr.sec_qos = &qos;
|
||||
|
||||
status = dcerpc_lsa_OpenPolicy(p,
|
||||
"\\",
|
||||
&attr,
|
||||
SEC_RIGHTS_MAXIMUM_ALLOWED,
|
||||
&handle);
|
||||
r.in.system_name = &system_name;
|
||||
r.in.attr = &attr;
|
||||
r.in.desired_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
|
||||
r.out.handle = &handle;
|
||||
|
||||
status = dcerpc_lsa_OpenPolicy(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("OpenPolicy failed - %s\n", nt_errstr(status));
|
||||
return False;
|
||||
@ -112,10 +115,12 @@ static BOOL test_OpenPolicy(struct dcerpc_pipe *p)
|
||||
}
|
||||
|
||||
|
||||
static BOOL test_OpenPolicy2(struct dcerpc_pipe *p, struct policy_handle *handle)
|
||||
static BOOL test_OpenPolicy2(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle)
|
||||
{
|
||||
struct lsa_ObjectAttribute attr;
|
||||
struct lsa_QosInfo qos;
|
||||
struct lsa_OpenPolicy2 r;
|
||||
NTSTATUS status;
|
||||
|
||||
printf("\ntesting OpenPolicy2\n");
|
||||
@ -130,11 +135,12 @@ static BOOL test_OpenPolicy2(struct dcerpc_pipe *p, struct policy_handle *handle
|
||||
attr.sec_desc = NULL;
|
||||
attr.sec_qos = &qos;
|
||||
|
||||
status = dcerpc_lsa_OpenPolicy2(p,
|
||||
"\\",
|
||||
&attr,
|
||||
SEC_RIGHTS_MAXIMUM_ALLOWED,
|
||||
handle);
|
||||
r.in.system_name = "\\";
|
||||
r.in.attr = &attr;
|
||||
r.in.desired_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
|
||||
r.out.handle = handle;
|
||||
|
||||
status = dcerpc_lsa_OpenPolicy2(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("OpenPolicy2 failed - %s\n", nt_errstr(status));
|
||||
return False;
|
||||
@ -270,14 +276,21 @@ static BOOL test_EnumSids(struct dcerpc_pipe *p,
|
||||
struct policy_handle *handle)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct lsa_EnumSids r;
|
||||
struct lsa_SidArray sids1, sids2;
|
||||
uint32 resume_handle;
|
||||
uint32 resume_handle = 0;
|
||||
int i;
|
||||
|
||||
printf("\ntesting EnumSids\n");
|
||||
|
||||
r.in.handle = handle;
|
||||
r.in.resume_handle = &resume_handle;
|
||||
r.in.num_entries = 100;
|
||||
r.out.resume_handle = &resume_handle;
|
||||
r.out.sids = &sids1;
|
||||
|
||||
resume_handle = 0;
|
||||
status = dcerpc_lsa_EnumSids(p, mem_ctx, handle, &resume_handle, 100, &sids1);
|
||||
status = dcerpc_lsa_EnumSids(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("EnumSids failed - %s\n", nt_errstr(status));
|
||||
return False;
|
||||
@ -299,7 +312,10 @@ static BOOL test_EnumSids(struct dcerpc_pipe *p,
|
||||
|
||||
printf("trying EnumSids partial listing (asking for 1 at 2)\n");
|
||||
resume_handle = 2;
|
||||
status = dcerpc_lsa_EnumSids(p, mem_ctx, handle, &resume_handle, 1, &sids2);
|
||||
r.in.num_entries = 1;
|
||||
r.out.sids = &sids2;
|
||||
|
||||
status = dcerpc_lsa_EnumSids(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("EnumSids failed - %s\n", nt_errstr(status));
|
||||
return False;
|
||||
@ -328,11 +344,11 @@ BOOL torture_rpc_lsa(int dummy)
|
||||
return False;
|
||||
}
|
||||
|
||||
if (!test_OpenPolicy(p)) {
|
||||
if (!test_OpenPolicy(p, mem_ctx)) {
|
||||
ret = False;
|
||||
}
|
||||
|
||||
if (!test_OpenPolicy2(p, &handle)) {
|
||||
if (!test_OpenPolicy2(p, mem_ctx, &handle)) {
|
||||
ret = False;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user