The Samba-Bugzilla – Attachment 7923 Details for
Bug 9173
SMB2 compound request create/delete_on_close/close doesn't work as windows
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patchset for 3.6
tmp36.diff (text/plain), 22.64 KB, created by
Michael Adam
on 2012-09-23 07:08:18 UTC
(
hide
)
Description:
Patchset for 3.6
Filename:
MIME Type:
Creator:
Michael Adam
Created:
2012-09-23 07:08:18 UTC
Size:
22.64 KB
patch
obsolete
>From 7205a03883586822eeedabdd7b277240a5f22899 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Thu, 27 Oct 2011 21:41:11 +0200 >Subject: [PATCH 01/15] s4:torture/smb2: fix compound.invalid2 against windows > >Tested against w2k8r2 with signing and win8pre0 without signing. > >metze > >Autobuild-User: Stefan Metzmacher <metze@samba.org> >Autobuild-Date: Mon Oct 31 21:40:25 CET 2011 on sn-devel-104 >(cherry picked from commit c90870f9b728dfb827ebc2fe8ad67a7ca3a50c43) >--- > source4/torture/smb2/compound.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index 59ed9b1..808e01a 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -367,9 +367,9 @@ static bool test_compound_invalid2(struct torture_context *tctx, > status = smb2_close_recv(req[1], &cl); > CHECK_STATUS(status, NT_STATUS_OK); > status = smb2_close_recv(req[2], &cl); >- CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); >+ CHECK_STATUS(status, NT_STATUS_USER_SESSION_DELETED); > status = smb2_close_recv(req[3], &cl); >- CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); >+ CHECK_STATUS(status, NT_STATUS_USER_SESSION_DELETED); > status = smb2_close_recv(req[4], &cl); > CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); > >-- >1.7.0.4 > > >From 1f0ef17ac14322e163d1dced44a8f1000d1444a6 Mon Sep 17 00:00:00 2001 >From: Ira Cooper <ira@samba.org> >Date: Wed, 19 Sep 2012 18:39:07 +0000 >Subject: [PATCH 02/15] s3: Compound requests should continue processing. > >This patch addresses #9173. > >Signed-off-by: Michael Adam <obnox@samba.org> >(cherry picked from commit 75951946193c874b6db30c1b9c8722264c3ce656) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_server.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index cef0677..dfd1d71 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -2100,10 +2100,9 @@ NTSTATUS smbd_smb2_request_error_ex(struct smbd_smb2_request *req, > } > > /* >- * if a request fails, all other remaining >- * compounded requests should fail too >+ * Note: Even if there is an error, continue to process the request. >+ * per MS-SMB2. > */ >- req->next_status = NT_STATUS_INVALID_PARAMETER; > > return smbd_smb2_request_done_ex(req, status, body, info, __location__); > } >-- >1.7.0.4 > > >From e664cb8013418723d861545a9e079179d0f1d72b Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 00:35:52 +0200 >Subject: [PATCH 03/15] s4:torture:smb2: fix compound.related3 test to work against windows > (cherry picked from commit 8e525a29a7c6512f61e4647ecb2e0771e2019a49) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index 808e01a..cca3a8d 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -166,9 +166,9 @@ static bool test_compound_related2(struct torture_context *tctx, > status = smb2_close_recv(req[2], &cl); > CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > status = smb2_close_recv(req[3], &cl); >- CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); >+ CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > status = smb2_close_recv(req[4], &cl); >- CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); >+ CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > > tree->tid = saved_tid; > tree->session->uid = saved_uid; >-- >1.7.0.4 > > >From 5d899a2731cd187b1d74d5b5f33d271209a02876 Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 00:36:29 +0200 >Subject: [PATCH 04/15] s4:torture:smb2: fix the compound.invalid3 test to work against windows > (cherry picked from commit bd8d50b451ea7f94efa7777fbe5dc0c2c19f6bf9) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index cca3a8d..cd07447 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -439,9 +439,9 @@ static bool test_compound_invalid3(struct torture_context *tctx, > status = smb2_close_recv(req[2], &cl); > CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > status = smb2_close_recv(req[3], &cl); >- CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); >+ CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > status = smb2_close_recv(req[4], &cl); >- CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); >+ CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > > smb2_util_unlink(tree, fname); > done: >-- >1.7.0.4 > > >From 48635c25e70776a021b029b97fc3fb690bfd9c1d Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Thu, 20 Sep 2012 05:10:28 +0200 >Subject: [PATCH 05/15] s3:smb2_server: reset req->last_session_id and req->last_tid after using it > >If we can find a valid session or tcon we'll set it after the lookup, >but it need to make sure to reset it if we don't find the session. > >This fixes a problem where a compound unrelated request between >related requests doesn't reset the session. > >If we have 3 requests in a compound chain, request 3 should never >use the id's cached from request 1. It should only every inherit >handles from request 2. > >metze >(similar to commit 2552b6632372b35cbd7b788c4e00091dfe520a41) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_sesssetup.c | 2 ++ > source3/smbd/smb2_tcon.c | 2 ++ > 2 files changed, 4 insertions(+), 0 deletions(-) > >diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c >index c90368f..1f48e33 100644 >--- a/source3/smbd/smb2_sesssetup.c >+++ b/source3/smbd/smb2_sesssetup.c >@@ -835,6 +835,8 @@ NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req) > in_session_id = req->last_session_id; > } > >+ req->last_session_id = UINT64_MAX; >+ > /* lookup an existing session */ > p = idr_find(req->sconn->smb2.sessions.idtree, in_session_id); > if (p == NULL) { >diff --git a/source3/smbd/smb2_tcon.c b/source3/smbd/smb2_tcon.c >index 5ca303e..5f0e3a9 100644 >--- a/source3/smbd/smb2_tcon.c >+++ b/source3/smbd/smb2_tcon.c >@@ -298,6 +298,8 @@ NTSTATUS smbd_smb2_request_check_tcon(struct smbd_smb2_request *req) > in_tid = req->last_tid; > } > >+ req->last_tid = UINT32_MAX; >+ > /* lookup an existing session */ > p = idr_find(req->session->tcons.idtree, in_tid); > if (p == NULL) { >-- >1.7.0.4 > > >From 1cc343489db782e154662be7fa71f376b97a9f8c Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Thu, 20 Sep 2012 00:52:19 +0200 >Subject: [PATCH 06/15] s3:smb2_server: do the req->next_status check before the signing checks > >Windows 2012 returns NT_STATUS_INVALID_PARAMETER to >the smb2.compound.invalid1 test if that uses signing >(instead of NT_STATUS_ACCESS_DENIED). > >metze >(similar to commit 4384485f82aac109bf4c4c31075e313e54b4c076) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_server.c | 30 +++++++++++++++--------------- > 1 files changed, 15 insertions(+), 15 deletions(-) > >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index dfd1d71..6c110a4 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -1369,6 +1369,21 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) > */ > session_status = smbd_smb2_request_check_session(req); > >+ if (flags & SMB2_HDR_FLAG_CHAINED) { >+ /* >+ * This check is mostly for giving the correct error code >+ * for compounded requests. >+ * >+ * TODO: we may need to move this after the session >+ * and tcon checks. >+ */ >+ if (!NT_STATUS_IS_OK(req->next_status)) { >+ return smbd_smb2_request_error(req, req->next_status); >+ } >+ } else { >+ req->compat_chain_fsp = NULL; >+ } >+ > req->do_signing = false; > if (flags & SMB2_HDR_FLAG_SIGNED) { > if (!NT_STATUS_IS_OK(session_status)) { >@@ -1387,21 +1402,6 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) > return smbd_smb2_request_error(req, NT_STATUS_ACCESS_DENIED); > } > >- if (flags & SMB2_HDR_FLAG_CHAINED) { >- /* >- * This check is mostly for giving the correct error code >- * for compounded requests. >- * >- * TODO: we may need to move this after the session >- * and tcon checks. >- */ >- if (!NT_STATUS_IS_OK(req->next_status)) { >- return smbd_smb2_request_error(req, req->next_status); >- } >- } else { >- req->compat_chain_fsp = NULL; >- } >- > if (req->compound_related) { > req->sconn->smb2.compound_related_in_progress = true; > } >-- >1.7.0.4 > > >From 8caf33bbfc3c02c56bacead268c6e8030fc7c04d Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Sat, 22 Sep 2012 04:06:27 +0200 >Subject: [PATCH 07/15] s3:smbd:smb2: add check for session_status for compound requests > (cherry picked from commit 27d38b5c27bd96d5124c175d946718bf0836b8f4) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_server.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index 6c110a4..4736f98 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -1373,13 +1373,13 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) > /* > * This check is mostly for giving the correct error code > * for compounded requests. >- * >- * TODO: we may need to move this after the session >- * and tcon checks. > */ > if (!NT_STATUS_IS_OK(req->next_status)) { > return smbd_smb2_request_error(req, req->next_status); > } >+ if (!NT_STATUS_IS_OK(session_status)) { >+ return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER); >+ } > } else { > req->compat_chain_fsp = NULL; > } >-- >1.7.0.4 > > >From 9add34e66b1a6985d363c349ed366e175ff8ee0d Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Fri, 21 Sep 2012 21:43:36 +0200 >Subject: [PATCH 08/15] s3:smbd:smb2: simplify smbd_smb2_request_validate() and smbd_smb2_request_dispatch() > >removes unnneccary checks/assignments for compound_related and next_status >and duplicate setting of error status. > >And remove (now) unused next_status from struct smbd_smb2_request. > >Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> >(similar to commit 1ae6f9c62629f8513bbe93a56775b3c64ff06832) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/globals.h | 2 - > source3/smbd/smb2_server.c | 52 ++----------------------------------------- > 2 files changed, 3 insertions(+), 51 deletions(-) > >diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h >index eefc2c6..f515f19 100644 >--- a/source3/smbd/globals.h >+++ b/source3/smbd/globals.h >@@ -369,8 +369,6 @@ struct smbd_smb2_request { > struct smb_request *smb1req; > struct files_struct *compat_chain_fsp; > >- NTSTATUS next_status; >- > /* > * The sub request for async backend calls. > * This is used for SMB2 Cancel. >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index 4736f98..a595f80 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -426,7 +426,6 @@ static NTSTATUS smbd_smb2_request_validate(struct smbd_smb2_request *req) > > for (idx=1; idx < count; idx += 3) { > const uint8_t *inhdr = NULL; >- uint32_t flags; > > if (req->in.vector[idx].iov_len != SMB2_HDR_BODY) { > return NT_STATUS_INVALID_PARAMETER; >@@ -446,50 +445,6 @@ static NTSTATUS smbd_smb2_request_validate(struct smbd_smb2_request *req) > if (!smb2_validate_message_id(req->sconn, inhdr)) { > return NT_STATUS_INVALID_PARAMETER; > } >- >- flags = IVAL(inhdr, SMB2_HDR_FLAGS); >- if (idx == 1) { >- /* >- * the 1st request should never have the >- * SMB2_HDR_FLAG_CHAINED flag set >- */ >- if (flags & SMB2_HDR_FLAG_CHAINED) { >- req->next_status = NT_STATUS_INVALID_PARAMETER; >- return NT_STATUS_OK; >- } >- } else if (idx == 4) { >- /* >- * the 2nd request triggers related vs. unrelated >- * compounded requests >- */ >- if (flags & SMB2_HDR_FLAG_CHAINED) { >- req->compound_related = true; >- } >- } else if (idx > 4) { >-#if 0 >- /* >- * It seems the this tests are wrong >- * see the SMB2-COMPOUND test >- */ >- >- /* >- * all other requests should match the 2nd one >- */ >- if (flags & SMB2_HDR_FLAG_CHAINED) { >- if (!req->compound_related) { >- req->next_status = >- NT_STATUS_INVALID_PARAMETER; >- return NT_STATUS_OK; >- } >- } else { >- if (req->compound_related) { >- req->next_status = >- NT_STATUS_INVALID_PARAMETER; >- return NT_STATUS_OK; >- } >- } >-#endif >- } > } > > return NT_STATUS_OK; >@@ -1374,9 +1329,6 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) > * This check is mostly for giving the correct error code > * for compounded requests. > */ >- if (!NT_STATUS_IS_OK(req->next_status)) { >- return smbd_smb2_request_error(req, req->next_status); >- } > if (!NT_STATUS_IS_OK(session_status)) { > return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER); > } >@@ -1402,7 +1354,8 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req) > return smbd_smb2_request_error(req, NT_STATUS_ACCESS_DENIED); > } > >- if (req->compound_related) { >+ if (flags & SMB2_HDR_FLAG_CHAINED) { >+ req->compound_related = true; > req->sconn->smb2.compound_related_in_progress = true; > } > >@@ -1853,6 +1806,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) > } > > if (req->compound_related) { >+ req->compound_related = false; > req->sconn->smb2.compound_related_in_progress = false; > } > >-- >1.7.0.4 > > >From bd0ddbbdbf165caf5cf28d44dee60e71d240d760 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Fri, 21 Sep 2012 22:20:20 +0200 >Subject: [PATCH 09/15] s4:torture:smb2: extend the compound.invalid1 test > >Test that when turning the related flag back off for the >last compound request, the return code changes from >invalid parameter to file closed. > >Pair-Programmed-With: Michael Adam <obnox@samba.org> >(cherry picked from commit 25437df8a65e56616499dda18c696f58be08f67a) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 11 ++++++++--- > 1 files changed, 8 insertions(+), 3 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index cd07447..e0fda08 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -252,9 +252,9 @@ static bool test_compound_invalid1(struct torture_context *tctx, > const char *fname = "compound_invalid1.dat"; > struct smb2_close cl; > bool ret = true; >- struct smb2_request *req[2]; >+ struct smb2_request *req[3]; > >- smb2_transport_credits_ask_num(tree->session->transport, 2); >+ smb2_transport_credits_ask_num(tree->session->transport, 3); > > smb2_util_unlink(tree, fname); > >@@ -278,7 +278,7 @@ static bool test_compound_invalid1(struct torture_context *tctx, > 0x00200000; > cr.in.fname = fname; > >- smb2_transport_compound_start(tree->session->transport, 2); >+ smb2_transport_compound_start(tree->session->transport, 3); > > /* passing the first request with the related flag is invalid */ > smb2_transport_compound_set_related(tree->session->transport, true); >@@ -292,11 +292,16 @@ static bool test_compound_invalid1(struct torture_context *tctx, > cl.in.file.handle = hd; > req[1] = smb2_close_send(tree, &cl); > >+ smb2_transport_compound_set_related(tree->session->transport, false); >+ req[2] = smb2_close_send(tree, &cl); >+ > status = smb2_create_recv(req[0], tree, &cr); > /* TODO: check why this fails with --signing=required */ > CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); > status = smb2_close_recv(req[1], &cl); > CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); >+ status = smb2_close_recv(req[2], &cl); >+ CHECK_STATUS(status, NT_STATUS_FILE_CLOSED); > > smb2_util_unlink(tree, fname); > done: >-- >1.7.0.4 > > >From 2300c04dfe69cf8e13a6ad521d78cc0fd8dbd6dc Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Thu, 20 Sep 2012 16:04:01 +0200 >Subject: [PATCH 10/15] s3:smb2_server: avoid segfault in smbd_smb2_request_pending_queue() > >Because we should not call smbd_smb2_request_error() on an >request that is still running. > >If the subreq implementes a cancel function, this should >take care of triggering smbd_smb2_request_error. > >metze > >Signed-off-by: Michael Adam <obnox@samba.org> >(cherry picked from commit 9249871f40aab021d62d3154f8ca286b52f5ef76) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_server.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > >diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c >index a595f80..a0e390e 100644 >--- a/source3/smbd/smb2_server.c >+++ b/source3/smbd/smb2_server.c >@@ -947,9 +947,13 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req, > * request chain. This is not allowed. > * Cancel the outstanding request. > */ >- tevent_req_cancel(req->subreq); >+ bool ok = tevent_req_cancel(req->subreq); >+ if (ok) { >+ return NT_STATUS_OK; >+ } >+ TALLOC_FREE(req->subreq); > return smbd_smb2_request_error(req, >- NT_STATUS_INSUFFICIENT_RESOURCES); >+ NT_STATUS_INTERNAL_ERROR); > } > > if (DEBUGLEVEL >= 10) { >-- >1.7.0.4 > > >From c33ad8afda9abff9561a1bcd104e84d95ddecf58 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Thu, 20 Sep 2012 16:23:26 +0200 >Subject: [PATCH 11/15] s3:smb2_notify: don't call tevent_req_done() from smbd_smb2_notify_cancel() > >smbd_notify_cancel_by_smbreq() will already trigger this via >smbd_smb2_notify_reply() and smbd_smb2_notify_reply_trigger(). > >metze >(cherry picked from commit 1f0dfd42f16c388abc7054a7b615d2e81031472b) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/smbd/smb2_notify.c | 3 +-- > 1 files changed, 1 insertions(+), 2 deletions(-) > >diff --git a/source3/smbd/smb2_notify.c b/source3/smbd/smb2_notify.c >index 72430eb..961ee9d 100644 >--- a/source3/smbd/smb2_notify.c >+++ b/source3/smbd/smb2_notify.c >@@ -357,10 +357,9 @@ static bool smbd_smb2_notify_cancel(struct tevent_req *req) > struct smbd_smb2_notify_state *state = tevent_req_data(req, > struct smbd_smb2_notify_state); > >+ state->smb2req->cancelled = true; > smbd_notify_cancel_by_smbreq(state->smbreq); > >- state->smb2req->cancelled = true; >- tevent_req_done(req); > return true; > } > >-- >1.7.0.4 > > >From 0afb2ec3eea66146376d19331cc5cd526c605537 Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 00:41:04 +0200 >Subject: [PATCH 12/15] s4:torture:smb2: don't skip the compound.interim1 test for non win7/win2k8 > (cherry picked from commit 917e714831178b2a3d07c7f9d09711231a7ccf31) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 4 ---- > 1 files changed, 0 insertions(+), 4 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index e0fda08..1b03e63 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -470,10 +470,6 @@ static bool test_compound_interim1(struct torture_context *tctx, > /* Win7 compound request implementation deviates substantially from the > * SMB2 spec as noted in MS-SMB2 <159>, <162>. This, test currently > * verifies the Windows behavior, not the general spec behavior. */ >- if (!TARGET_IS_WIN7(tctx) && !TARGET_IS_W2K8(tctx)) { >- torture_skip(tctx, "Interim test is specific to Windows server " >- "behavior.\n"); >- } > > smb2_transport_credits_ask_num(tree->session->transport, 5); > >-- >1.7.0.4 > > >From 69ea206a2639132fad27aa77f3d522b373466335 Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 00:41:48 +0200 >Subject: [PATCH 13/15] s4:torture:smb2: don't skip the compound.interim2 test for non win7/win2k8 > (cherry picked from commit 8df0b023c51ed198d3054760447e1b273eada991) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 4 ---- > 1 files changed, 0 insertions(+), 4 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index 1b03e63..4bbfd9e 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -537,10 +537,6 @@ static bool test_compound_interim2(struct torture_context *tctx, > /* Win7 compound request implementation deviates substantially from the > * SMB2 spec as noted in MS-SMB2 <159>, <162>. This, test currently > * verifies the Windows behavior, not the general spec behavior. */ >- if (!TARGET_IS_WIN7(tctx) && !TARGET_IS_W2K8(tctx)) { >- torture_skip(tctx, "Interim test is specific to Windows server " >- "behavior.\n"); >- } > > smb2_transport_credits_ask_num(tree->session->transport, 5); > >-- >1.7.0.4 > > >From 857858dcbfc37358a9b589a10bee15f48c14540d Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 00:43:54 +0200 >Subject: [PATCH 14/15] s4:torture:smb2:compound: remove two unused macros > (cherry picked from commit 6f6b1c6ac15f225978e8c2d67c1a817d9e098317) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source4/torture/smb2/compound.c | 3 --- > 1 files changed, 0 insertions(+), 3 deletions(-) > >diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c >index 4bbfd9e..22e578d 100644 >--- a/source4/torture/smb2/compound.c >+++ b/source4/torture/smb2/compound.c >@@ -33,9 +33,6 @@ > goto done; \ > }} while (0) > >-#define TARGET_IS_W2K8(_tctx) (torture_setting_bool(_tctx, "w2k8", false)) >-#define TARGET_IS_WIN7(_tctx) (torture_setting_bool(_tctx, "win7", false)) >- > static bool test_compound_related1(struct torture_context *tctx, > struct smb2_tree *tree) > { >-- >1.7.0.4 > > >From f519bf33a854af96bd2acdbb16b7463bb1d46c1a Mon Sep 17 00:00:00 2001 >From: Michael Adam <obnox@samba.org> >Date: Thu, 20 Sep 2012 20:46:53 +0200 >Subject: [PATCH 15/15] selftest: we fail samba3.smb2.compound.interim2 > >We currently return NT_STATUS_CANCELLED where we should >return NT_STATUS_INTERNAL_ERROR. > >(similar to commit 841934647b06d6400148932cc8ce02a20c209610) > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >--- > source3/selftest/knownfail | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > >diff --git a/source3/selftest/knownfail b/source3/selftest/knownfail >index 95f01f6..d2cb953 100644 >--- a/source3/selftest/knownfail >+++ b/source3/selftest/knownfail >@@ -5,6 +5,7 @@ samba3.posix_s3.rap.printing # fails sometimes on sn-devel > samba3.posix_s3.rpc.spoolss.*printserver.enum_printers_old # fails on some hosts due to timing issues ? > samba3.posix_s3.rpc.spoolss.printer.*addprinterex.print_test # another intermittent failure > samba3.posix_s3.smb2.lock.*.rw-exclusive # another intermittent failure >+samba3.posix_s3.smb2.compound.*interim2 # wrong return code (STATUS_CANCELLED) > .*driver.add_driver_timestamps # we only can store dates, not timestamps > samba3.raw.mux.* #This test is flaky on the async lock time > samba3.smbtorture_s3.*OPLOCK4 # fails sometimes on sn-devel >-- >1.7.0.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 9173
:
7908
|
7920
| 7923