git.samba.org
/
kai
/
samba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s3:printing: use dcerpc_spoolss_X() functions
[kai/samba.git]
/
source3
/
printing
/
printspoolss.c
diff --git
a/source3/printing/printspoolss.c
b/source3/printing/printspoolss.c
index 8effb6ec482eb59d872bf923fd602d54f41f4445..9b06ece307e35be3a336224cee9688f33d02fbeb 100644
(file)
--- a/
source3/printing/printspoolss.c
+++ b/
source3/printing/printspoolss.c
@@
-19,7
+19,7
@@
#include "includes.h"
#include "printing.h"
#include "includes.h"
#include "printing.h"
-#include "../librpc/gen_ndr/
cli_spoolss
.h"
+#include "../librpc/gen_ndr/
ndr_spoolss_c
.h"
#include "rpc_server/rpc_ncacn_np.h"
#include "smbd/globals.h"
#include "../libcli/security/security.h"
#include "rpc_server/rpc_ncacn_np.h"
#include "smbd/globals.h"
#include "../libcli/security/security.h"
@@
-43,7
+43,7
@@
NTSTATUS print_spool_open(files_struct *fsp,
NTSTATUS status;
TALLOC_CTX *tmp_ctx;
struct print_file_data *pf;
NTSTATUS status;
TALLOC_CTX *tmp_ctx;
struct print_file_data *pf;
- struct
rpc_pipe_client *cli
;
+ struct
dcerpc_binding_handle *b = NULL
;
struct spoolss_DevmodeContainer devmode_ctr;
union spoolss_DocumentInfo info;
int fd = -1;
struct spoolss_DevmodeContainer devmode_ctr;
union spoolss_DocumentInfo info;
int fd = -1;
@@
-132,11
+132,11
@@
NTSTATUS print_spool_open(files_struct *fsp,
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
-
cli = fsp->conn->spoolss_pip
e;
+
b = fsp->conn->spoolss_pipe->binding_handl
e;
ZERO_STRUCT(devmode_ctr);
ZERO_STRUCT(devmode_ctr);
- status =
rpccli_spoolss_OpenPrinter(cli
, pf, pf->svcname,
+ status =
dcerpc_spoolss_OpenPrinter(b
, pf, pf->svcname,
"RAW", devmode_ctr,
SEC_FLAG_MAXIMUM_ALLOWED,
&pf->handle, &werr);
"RAW", devmode_ctr,
SEC_FLAG_MAXIMUM_ALLOWED,
&pf->handle, &werr);
@@
-157,7
+157,7
@@
NTSTATUS print_spool_open(files_struct *fsp,
info.info1->output_file = pf->filename;
info.info1->datatype = "RAW";
info.info1->output_file = pf->filename;
info.info1->datatype = "RAW";
- status =
rpccli_spoolss_StartDocPrinter(cli
, tmp_ctx, &pf->handle,
+ status =
dcerpc_spoolss_StartDocPrinter(b
, tmp_ctx, &pf->handle,
1, info, &pf->jobid, &werr);
if (!NT_STATUS_IS_OK(status)) {
goto done;
1, info, &pf->jobid, &werr);
if (!NT_STATUS_IS_OK(status)) {
goto done;
@@
-272,9
+272,9
@@
int print_spool_write(files_struct *fsp,
void print_spool_end(files_struct *fsp, enum file_close_type close_type)
{
void print_spool_end(files_struct *fsp, enum file_close_type close_type)
{
- struct rpc_pipe_client *cli;
NTSTATUS status;
WERROR werr;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b = NULL;
status = rpc_pipe_open_interface(fsp->conn,
&ndr_table_spoolss.syntax_id,
status = rpc_pipe_open_interface(fsp->conn,
&ndr_table_spoolss.syntax_id,
@@
-288,13
+288,13
@@
void print_spool_end(files_struct *fsp, enum file_close_type close_type)
nt_errstr(status)));
return;
}
nt_errstr(status)));
return;
}
-
cli = fsp->conn->spoolss_pip
e;
+
b = fsp->conn->spoolss_pipe->binding_handl
e;
switch (close_type) {
case NORMAL_CLOSE:
case SHUTDOWN_CLOSE:
/* this also automatically calls spoolss_EndDocPrinter */
switch (close_type) {
case NORMAL_CLOSE:
case SHUTDOWN_CLOSE:
/* this also automatically calls spoolss_EndDocPrinter */
- status =
rpccli_spoolss_ClosePrinter(cli
, fsp->print_file,
+ status =
dcerpc_spoolss_ClosePrinter(b
, fsp->print_file,
&fsp->print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||
&fsp->print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||
@@
-313,9
+313,9
@@
void print_spool_end(files_struct *fsp, enum file_close_type close_type)
void print_spool_terminate(struct connection_struct *conn,
struct print_file_data *print_file)
{
void print_spool_terminate(struct connection_struct *conn,
struct print_file_data *print_file)
{
- struct rpc_pipe_client *cli;
NTSTATUS status;
WERROR werr;
NTSTATUS status;
WERROR werr;
+ struct dcerpc_binding_handle *b = NULL;
rap_jobid_delete(print_file->svcname, print_file->jobid);
rap_jobid_delete(print_file->svcname, print_file->jobid);
@@
-331,9
+331,9
@@
void print_spool_terminate(struct connection_struct *conn,
nt_errstr(status)));
return;
}
nt_errstr(status)));
return;
}
-
cli = conn->spoolss_pip
e;
+
b = conn->spoolss_pipe->binding_handl
e;
- status =
rpccli_spoolss_SetJob(cli
, print_file,
+ status =
dcerpc_spoolss_SetJob(b
, print_file,
&print_file->handle,
print_file->jobid,
NULL, SPOOLSS_JOB_CONTROL_DELETE,
&print_file->handle,
print_file->jobid,
NULL, SPOOLSS_JOB_CONTROL_DELETE,
@@
-344,7
+344,7
@@
void print_spool_terminate(struct connection_struct *conn,
print_file->jobid, nt_errstr(status)));
return;
}
print_file->jobid, nt_errstr(status)));
return;
}
- status =
rpccli_spoolss_ClosePrinter(cli
, print_file,
+ status =
dcerpc_spoolss_ClosePrinter(b
, print_file,
&print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||
&print_file->handle,
&werr);
if (!NT_STATUS_IS_OK(status) ||