The branch, master has been updated
       via  4ca2cc3... s4-smbtorture: workaround broken REG_MULTI_SZ from 
winreg in s3 during SetPrinterDataEx SPOOLSS test.
       via  481402b... s4-smbtorture: workaround the fact that you cannot fully 
rename a printer in samba.
       via  c05a061... s4-smbtorture: only use "friendly" data in extended 
SetPrinterDataEx test.
      from  d41b8c3... s4-smbtorture: skip security descriptor tests against 
Samba in RPC-WINREG.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4ca2cc348e3412fd1851cd8512a10d0d0b1acf99
Author: Günther Deschner <g...@samba.org>
Date:   Wed Mar 17 15:55:23 2010 +0100

    s4-smbtorture: workaround broken REG_MULTI_SZ from winreg in s3
    during SetPrinterDataEx SPOOLSS test.
    
    Guenther

commit 481402bae557b174b38a965d209d417728c7562f
Author: Günther Deschner <g...@samba.org>
Date:   Wed Mar 17 15:45:54 2010 +0100

    s4-smbtorture: workaround the fact that you cannot fully rename a printer 
in samba.
    
    Guenther

commit c05a06187d6a9b2f065dfc65112ab5188d2f11b7
Author: Günther Deschner <g...@samba.org>
Date:   Wed Mar 17 15:32:42 2010 +0100

    s4-smbtorture: only use "friendly" data in extended SetPrinterDataEx test.
    
    Passes against windows but not against samba yet :-(
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source4/torture/rpc/spoolss.c |   37 +++++++++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index 1f143a3..db7d5ab 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -3691,6 +3691,7 @@ static bool test_SetPrinterDataEx_matrix(struct 
torture_context *tctx,
        };
        enum winreg_Type types[] = {
                REG_SZ,
+               REG_MULTI_SZ,
                REG_DWORD,
                REG_BINARY
        };
@@ -3714,12 +3715,27 @@ static bool test_SetPrinterDataEx_matrix(struct 
torture_context *tctx,
                uint32_t ecount;
                struct spoolss_PrinterEnumValues *einfo;
 
+               if (types[t] == REG_DWORD) {
+                       s = 0xffff;
+               }
+
+               if (torture_setting_bool(tctx, "samba3", false)) {
+                       if ((types[t] == REG_MULTI_SZ) && s == 0) {
+                               torture_warning(tctx, "samba3 does not handle 4 
byte emtpy REG_MULTI_SZ buffers");
+                               continue;
+                       }
+               }
+
                switch (types[t]) {
                case REG_BINARY:
-               case REG_DWORD:
                        data = blob;
                        offered = blob.length;
                        break;
+               case REG_DWORD:
+                       data = data_blob_talloc(tctx, NULL, 4);
+                       SIVAL(data.data, 0, 0x12345678);
+                       offered = 4;
+                       break;
                case REG_SZ:
                        torture_assert(tctx,
                                reg_string_to_val(tctx, 
lp_iconv_convenience(tctx->lp_ctx),
@@ -3727,6 +3743,14 @@ static bool test_SetPrinterDataEx_matrix(struct 
torture_context *tctx,
                        offered = data.length;
                        /*strlen_m_term(data.string)*2;*/
                        break;
+               case REG_MULTI_SZ:
+                       torture_assert(tctx,
+                               reg_string_to_val(tctx, 
lp_iconv_convenience(tctx->lp_ctx),
+                                                 "REG_SZ", string, &type, 
&data), "");
+                       torture_assert(tctx, data_blob_realloc(tctx, &data, 
data.length + 2), "");
+                       memset(&data.data[data.length - 2], '\0', 2);
+                       offered = data.length;
+                       break;
                default:
                        torture_fail(tctx, talloc_asprintf(tctx, "type %d 
untested\n", types[t]));
                }
@@ -4247,9 +4271,14 @@ static bool test_printer_rename(struct torture_context 
*tctx,
        torture_assert_str_equal(tctx, printer_name, printer_name_new,
                "new printer name was not set");
 
-       torture_assert(tctx,
-               test_OpenPrinter_badname(tctx, b, printer_name_orig),
-               "still can open printer with oldname");
+       /* samba currently cannot fully rename printers */
+       if (!torture_setting_bool(tctx, "samba3", false)) {
+               torture_assert(tctx,
+                       test_OpenPrinter_badname(tctx, b, printer_name_orig),
+                       "still can open printer with oldname after rename");
+       } else {
+               torture_warning(tctx, "*not* checking for open with oldname 
after rename for samba3");
+       }
 
        torture_assert(tctx,
                call_OpenPrinterEx(tctx, p, printer_name_new, NULL, 
&new_handle),


-- 
Samba Shared Repository

Reply via email to