Author: vlendec
Date: 2006-12-21 21:15:59 +0000 (Thu, 21 Dec 2006)
New Revision: 20309

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20309

Log:
Don't treat non-supported EAs as fatal against Samba3.

Volker

Modified:
   branches/SAMBA_4_0/source/torture/raw/mkdir.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/raw/mkdir.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/mkdir.c       2006-12-21 21:14:53 UTC 
(rev 20308)
+++ branches/SAMBA_4_0/source/torture/raw/mkdir.c       2006-12-21 21:15:59 UTC 
(rev 20309)
@@ -123,18 +123,28 @@
        md.t2mkdir.in.eas[2].name.s = "EATHREE";
        md.t2mkdir.in.eas[2].value = data_blob_talloc(mem_ctx, "xx1", 3);
        status = smb_raw_mkdir(cli->tree, &md);
-       CHECK_STATUS(status, NT_STATUS_OK);
 
-       status = torture_check_ea(cli, path, "EAONE", "blah");
-       CHECK_STATUS(status, NT_STATUS_OK);
-       status = torture_check_ea(cli, path, "EA TWO", "foo bar");
-       CHECK_STATUS(status, NT_STATUS_OK);
-       status = torture_check_ea(cli, path, "EATHREE", "xx1");
-       CHECK_STATUS(status, NT_STATUS_OK);
+       if (lp_parm_bool(-1, "torture", "samba3", False)
+           && NT_STATUS_EQUAL(status, NT_STATUS_EAS_NOT_SUPPORTED)) {
+               d_printf("EAS not supported -- not treating as fatal\n");
+       }
+       else {
+               /*
+                * In Samba3, don't see this error as fatal
+                */
+               CHECK_STATUS(status, NT_STATUS_OK);
 
-       status = smb_raw_rmdir(cli->tree, &rd);
-       CHECK_STATUS(status, NT_STATUS_OK);
+               status = torture_check_ea(cli, path, "EAONE", "blah");
+               CHECK_STATUS(status, NT_STATUS_OK);
+               status = torture_check_ea(cli, path, "EA TWO", "foo bar");
+               CHECK_STATUS(status, NT_STATUS_OK);
+               status = torture_check_ea(cli, path, "EATHREE", "xx1");
+               CHECK_STATUS(status, NT_STATUS_OK);
 
+               status = smb_raw_rmdir(cli->tree, &rd);
+               CHECK_STATUS(status, NT_STATUS_OK);
+       }
+
 done:
        smb_raw_exit(cli->session);
        smbcli_deltree(cli->tree, BASEDIR);

Reply via email to