From 2b68215a226aab978e5f01470e8b4afbb291134b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Tue, 19 Jan 2010 00:22:57 +0100 Subject: [PATCH] s4-smbtorture: restructure spoolss server implementations in RPC-SPOOLSS-NOTIFY. Guenther --- source4/torture/rpc/spoolss_notify.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c index eacf6943fc9..3d37781cb54 100644 --- a/source4/torture/rpc/spoolss_notify.c +++ b/source4/torture/rpc/spoolss_notify.c @@ -23,6 +23,7 @@ #include "system/filesys.h" #include "torture/rpc/rpc.h" #include "librpc/gen_ndr/ndr_spoolss_c.h" +#include "librpc/gen_ndr/ndr_spoolss.h" #include "rpc_server/dcerpc_server.h" #include "rpc_server/service_rpc.h" #include "smbd/process_model.h" @@ -76,6 +77,23 @@ static struct received_packet { struct received_packet *prev, *next; } *received_packets = NULL; +static WERROR _spoolss_ReplyOpenPrinter(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct spoolss_ReplyOpenPrinter *r) +{ + DEBUG(1,("_spoolss_ReplyOpenPrinter\n")); + + NDR_PRINT_IN_DEBUG(spoolss_ReplyOpenPrinter, r); + + r->out.handle = talloc(r, struct policy_handle); + r->out.handle->handle_type = 42; + r->out.handle->uuid = GUID_random(); + r->out.result = WERR_OK; + + NDR_PRINT_OUT_DEBUG(spoolss_ReplyOpenPrinter, r); + + return WERR_OK; +} static NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r) { @@ -91,7 +109,7 @@ static NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_ switch (opnum) { case 58: { struct spoolss_ReplyOpenPrinter *r2 = (struct spoolss_ReplyOpenPrinter *)r; - r2->out.result = WERR_OK; + r2->out.result = _spoolss_ReplyOpenPrinter(dce_call, mem_ctx, r2); break; }