mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r5498: fix OpenPrinter() idl and torture test
metze
This commit is contained in:
parent
e601f51b82
commit
fd7950abe6
@ -187,12 +187,21 @@
|
||||
|
||||
/******************/
|
||||
/* Function: 0x01 */
|
||||
typedef struct {
|
||||
uint32 foo;
|
||||
} spoolss_Devmode;
|
||||
|
||||
typedef struct {
|
||||
uint32 size;
|
||||
spoolss_Devmode *devmode;
|
||||
} spoolss_DevmodeContainer;
|
||||
|
||||
WERROR spoolss_OpenPrinter(
|
||||
[in] unistr *server,
|
||||
[in] unistr *printer,
|
||||
[in] DATA_BLOB *buffer,
|
||||
[in] unistr *printername,
|
||||
[in] unistr *datatype,
|
||||
[in] spoolss_DevmodeContainer devmode_ctr,
|
||||
[in] uint32 access_mask,
|
||||
[out,ref] policy_handle *handle
|
||||
[out,ref] policy_handle *handle
|
||||
);
|
||||
|
||||
/******************/
|
||||
@ -735,15 +744,6 @@
|
||||
WERROR spoolss_44(
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
uint32 foo;
|
||||
} spoolss_Devmode;
|
||||
|
||||
typedef struct {
|
||||
uint32 size;
|
||||
spoolss_Devmode *devmode;
|
||||
} spoolss_DevmodeContainer;
|
||||
|
||||
typedef struct {
|
||||
uint32 size;
|
||||
unistr *client;
|
||||
|
@ -646,18 +646,16 @@ static BOOL test_OpenPrinter(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
||||
NTSTATUS status;
|
||||
struct spoolss_OpenPrinter r;
|
||||
struct policy_handle handle;
|
||||
DATA_BLOB blob;
|
||||
BOOL ret = True;
|
||||
|
||||
blob = data_blob(NULL, 0);
|
||||
r.in.printername = talloc_asprintf(mem_ctx, "\\\\%s\\%s", dcerpc_server_name(p), name);
|
||||
r.in.datatype = NULL;
|
||||
r.in.devmode_ctr.size = 0;
|
||||
r.in.devmode_ctr.devmode= NULL;
|
||||
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
|
||||
r.out.handle = &handle;
|
||||
|
||||
r.in.server = talloc_asprintf(mem_ctx, "\\\\%s\\%s", dcerpc_server_name(p), name);
|
||||
r.in.printer = NULL;
|
||||
r.in.buffer = &blob;
|
||||
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
|
||||
r.out.handle = &handle;
|
||||
|
||||
printf("\nTesting OpenPrinter(%s)\n", r.in.server);
|
||||
printf("\nTesting OpenPrinter(%s)\n", r.in.printername);
|
||||
|
||||
status = dcerpc_spoolss_OpenPrinter(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(r.out.result)) {
|
||||
@ -667,7 +665,6 @@ static BOOL test_OpenPrinter(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
||||
return True;
|
||||
}
|
||||
|
||||
|
||||
if (!test_GetPrinter(p, mem_ctx, &handle)) {
|
||||
ret = False;
|
||||
}
|
||||
@ -679,7 +676,7 @@ static BOOL test_OpenPrinter(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
||||
if (!test_ClosePrinter(p, mem_ctx, &handle)) {
|
||||
ret = False;
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user