s4-smbtorture: Fix RPC-SPOOLSS-WIN for printers with a lot of jobs in the queue.
authorGünther Deschner <gd@samba.org>
Fri, 17 Apr 2009 15:14:20 +0000 (17:14 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 17 Apr 2009 15:23:59 +0000 (17:23 +0200)
Guenther

source4/torture/rpc/spoolss_win.c

index 42b69295574e5932d2036008d6439b0951dd5223..719d8e26d2a488a44c02b923ba43787d54e40b30 100644 (file)
@@ -290,6 +290,13 @@ static bool test_EnumJobs(struct torture_context *tctx,
 
        status = dcerpc_spoolss_EnumJobs(p, tctx, &ej);
        torture_assert_ntstatus_ok(tctx, status, "EnumJobs failed");
+       if (W_ERROR_EQUAL(ej.out.result, WERR_INSUFFICIENT_BUFFER)) {
+               blob = data_blob_talloc_zero(tctx, needed);
+               ej.in.offered = needed;
+               ej.in.buffer = &blob;
+               status = dcerpc_spoolss_EnumJobs(p, tctx, &ej);
+               torture_assert_ntstatus_ok(tctx, status, "EnumJobs failed");
+       }
        torture_assert_werr_ok(tctx, ej.out.result, "EnumJobs failed");
 
        return true;